Por: papo
Inspect and view changes in Real Viewer source codes across current and past versions
Please login to examine the extension's source code.
manifest.json
{
// the only three mandatory keys
"manifest_version": 2,
"name": "Real Viewer",
"version": "1.21",
"description": "content management for *.sk real estate advertisement pages. This only works on pre-defined, hard-coded list of web sites. Features: hide, highlight, save (later)",
"icons": {
"48": "icons/papohome-48.png",
"96": "icons/papohome-96.png"
},
// ====== content_scripts ======
// Note: if one file in "js" array is not found, files from the whole array( or from such to the end)
// are not loaded and error is not shown.
// https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_scripts
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts
"content_scripts": [
// https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Match_patterns
{
"matches": ["*://*.reality.sk/*", "*://*.nehnutelnosti.sk/*", "*://*.topreality.sk/*",
"*://*.bazar.sk/*", "*://*.bazos.sk/*", "*://*.bazos.cz/*"],
"js": [
"lib/util.inc.js", "lib/util-WebExt.inc.js", "lib/util_rv.inc.js",
"lib/ControlPanel.inc.js",
"lib/storage.inc.js", "lib/filter.inc.js",
"lib/ControlPanel_v1.inc.js",
"content_scripts/class-List.js" // contains start. must be last
]
// "js": ["content_scripts/parse_page_items.js"]
},
// todo: maybe can start sooner for some sites. If a site will not use JS to generate a list. document_end corresponds to Document.readyState = interactive
// "run_at": "document_end"
// {
// "matches": ["*://*.reality.sk/*"],
// "js": ["content_scripts/class-deBloat-reality.sk.js"],
// "run_at": "document_end"
// "run_at": "document_start"
// },
{
// https://www.reality.sk/reality/okres-bratislava-iv/domy-chaty-chalupy/2
"matches": ["*://*.reality.sk/*"],
"js": ["content_scripts/class-List-reality.sk.js"]
},
{
"matches": ["*://*.nehnutelnosti.sk/*"],
"js": ["content_scripts/class-List-nehnutelnosti_sk.js"]
},
{
"matches": ["*://*.topreality.sk/*"],
"js": ["content_scripts/class-List-topreality_sk.js",
"content_scripts/class-deBloat-topreality_sk.js"]
},
{
"matches": ["*://*.bazar.sk/*"],
"js": ["content_scripts/class-List-bazar_sk.js"]
},
{
"matches": ["*://*.bazos.sk/*", "*://*.bazos.cz/*"],
"js": ["content_scripts/class-List-bazos_sk.js"]
},
{
"matches": ["*://zbgis.skgeodesy.sk/*"],
"js": ["lib/util.inc.js", "lib/util-WebExt.inc.js", "lib/util_rv.inc.js"]
}
],
// ======
// TODO: toto treba presunut, premenovat a rozdelit na external a elementyhide
"background": {
"scripts": ["content_scripts/class-deBloat-reality.sk.js"]
// , "persistent" : false // don't know which is default, probably true, not sure false would work
},
//// browser_specific_settings a.k.a. applications
//
// This key changed 2019-01 from _applications_ to _browser_specific_settings_
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings
// https://developer.mozilla.org/en-US/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID#When_do_you_need_an_Add-on_ID
// https://wiki.mozilla.org/WebExtensions/Applications
// "browser_specific_settings" is not supported in Google Chrome.
//
// "applications" is not supported in Google Chrome, and is mandatory in Firefox before Firefox 48 and Firefox for Android.
// https://developer.mozilla.org/pt-BR/docs/Mozilla/Add-ons/WebExtensions/manifest.json
// "browser_specific_settings": {
"applications": {
"gecko": {
"id": "reality_viewer@ponius.com"
}
},
"permissions": [
// "activeTab",
// tabs: to obtain title of Tab which opened EP (probably will not need later if will use BP to get Tab ID)
"tabs",
// "<all_urls>",
"storage",
"unlimitedStorage",
// deBloater - URL to be blocked must be listed here
"https://*.doubleclick.net/*",
"https://fundingchoicesmessages.google.com/*",
"https://gask.hit.gemius.pl/*",
"https://*.g.doubleclick.net/*",
"https://js-agent.newrelic.com/*",
"https://www.googleadservices.com/*",
"https://googletagmanager.com/*",
"https://connect.facebook.net/*",
"https://www.google-analytics.com/*",
"https://imr.sk/*",
"https://s.aimg.sk/livemonitor/js/aztracker.*",
"https://tracker.azet.sk/*",
"https://www.reality.sk/domy/*",
// "https://fundingchoicesmessages.google.com/l/*",
// "background", // deBloater, not needed, not sure what does this permission do
"webRequest", // deBloater
"webRequestBlocking" // deBloater
],
"optional_permissions": [
"<all_urls>"
],
// "browser_action": {
// "default_icon": "icons/beasts-32.png",
// "default_title": "Beastify",
// "default_popup": "popup/choose_beast.html"
// },
"web_accessible_resources": [
"extension_pages/uniview.html",
"extension_pages/*.html",
"extension_pages/css/*.css",
"extension_pages/images/*.png",
"extension_pages/images/*.jpg"
// "view_list.js"
// "view_list.*"
],
// --- content security policy ---
// The default and also must-contain content security policy for extensions is:
// "content_security_policy": "script-src 'self'; object-src 'self';"
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy
// bug?: eval works in content scripts even without this exclusion, it does not in extension pages
// adding: allowing eval, the rest is compulsory
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';"
}
Melhores alternativas Real Viewer
Aqui estão algumas Firefox add-ons que são similares a Real Viewer:
Realty Sites Plus
Valaraukor
Responsive Viewer
RED88 SAN CHOI MOI
HouseHunter
iffy
Real estate investor toolkit
Jan Šilhan
Realtism | User App
Shane Adams
Real Estate Assistant
Vitalii Shapovalov
Property Previewer
Rhettio
Property Cleanup
LikeClockwork
Display Only Media
Rr88
Realworks3
robseller