diff options
| -rw-r--r-- | js/redirectorpage.js | 381 | ||||
| -rw-r--r-- | manifest.json | 4 | 
2 files changed, 365 insertions, 20 deletions
diff --git a/js/redirectorpage.js b/js/redirectorpage.js index 38e1331..d1219ec 100644 --- a/js/redirectorpage.js +++ b/js/redirectorpage.js @@ -1,3 +1,362 @@ +var DEFAULT_REDIRECTS = [ +        { +            "description": "youtube to invidious", +            "exampleUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", +            "exampleResult": "https://yewtu.be/watch?v=dQw4w9WgXcQ", +            "error": null, +            "includePattern": "https://www.youtube.com/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://yewtu.be/$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "twitter to nitter", +            "exampleUrl": "https://twitter.com/fsf/status/1376714994721689601", +            "exampleResult": "https://nitter.net/fsf/status/1376714994721689601", +            "error": null, +            "includePattern": "https://twitter.com/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://nitter.net/$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "reddit to teddit", +            "exampleUrl": "https://www.reddit.com/r/webhosting/comments/izq39w/hiding_public_ip/", +            "exampleResult": "https://teddit.net/r/webhosting/comments/izq39w/hiding_public_ip/", +            "error": null, +            "includePattern": "https://www.reddit.com/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://teddit.net/$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": true, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "old reddit to teddit", +            "exampleUrl": "https://old.reddit.com/r/webhosting/comments/izq39w/hiding_public_ip/", +            "exampleResult": "https://teddit.net/r/webhosting/comments/izq39w/hiding_public_ip/", +            "error": null, +            "includePattern": "https://old.reddit.com/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://teddit.net/$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": true, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "Google to ddg", +            "exampleUrl": "https://www.google.com/search?q=example", +            "exampleResult": "https://html.duckduckgo.com/html?q=example", +            "error": null, +            "includePattern": "https://www.google.com/search?q=*", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://html.duckduckgo.com/html?q=$1", +            "patternType": "W", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "instagram to bibliogram", +            "exampleUrl": "https://www.instagram.com/natgeo", +            "exampleResult": "https://bibliogram.froth.zone/u/natgeo", +            "error": null, +            "includePattern": "https://www.instagram.com/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://bibliogram.froth.zone/u/$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "ddg to ddg html", +            "exampleUrl": "https://duckduckgo.com/?t=ffsb&q=xml", +            "exampleResult": "https://html.duckduckgo.com/html?q=xml", +            "error": null, +            "includePattern": "https://duckduckgo.com/(.*)&q=(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://html.duckduckgo.com/html?q=$2", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "imgur to raw image", +            "exampleUrl": "https://imgur.com/nWjVtF1", +            "exampleResult": "https://i.imgur.com/nWjVtF1", +            "error": null, +            "includePattern": "https://imgur.com/*", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://i.imgur.com/$1", +            "patternType": "W", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "php manual to english", +            "exampleUrl": "https://www.php.net/manual/ru/function.debug-backtrace.php", +            "exampleResult": "https://www.php.net/manual/en/function.debug-backtrace.php", +            "error": null, +            "includePattern": "https://www.php.net/manual/ru/*", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://www.php.net/manual/en/$1", +            "patternType": "W", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "google sheets", +            "exampleUrl": "https://docs.google.com/spreadsheets/d/1cKXeUVJ2W2y7FjwnqchNrJllnm11fBW0xWWTF97ewE8/edit?usp=drivesdk", +            "exampleResult": "https://docs.google.com/spreadsheets/d/1cKXeUVJ2W2y7FjwnqchNrJllnm11fBW0xWWTF97ewE8/export?format=ods", +            "error": null, +            "includePattern": "https://docs.google.com/spreadsheets/(.*)/.*", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://docs.google.com/spreadsheets/$1/export?format=ods", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "google docs", +            "exampleUrl": "https://docs.google.com/document/d/1P4bAdnp8JqZRH9EXz4MrQzrb2oCwnJM-myy_jCXLMLo/edit", +            "exampleResult": "https://docs.google.com/document/d/1P4bAdnp8JqZRH9EXz4MrQzrb2oCwnJM-myy_jCXLMLo/export?format=odt", +            "error": null, +            "includePattern": "https://docs.google.com/document/(.*)/.*", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://docs.google.com/document/$1/export?format=odt", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "ghc (hackage) -> ghc-9.2.2 (download.haskell.org)", +            "exampleUrl": "https://hackage.haskell.org/package/ghc/docs/GHC-Unit-State.html#v:lookupPackageName", +            "exampleResult": "https://downloads.haskell.org/ghc/9.2.2/docs/html/libraries/ghc-9.2.2/GHC-Unit-State.html#v:lookupPackageName", +            "error": null, +            "includePattern": "https://hackage.haskell.org/package/ghc/docs/*", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://downloads.haskell.org/ghc/9.2.2/docs/html/libraries/ghc-9.2.2/$1", +            "patternType": "W", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "remove ddg tracking", +            "exampleUrl": "https://duckduckgo.com/l/?uddg=https%3A%2F%2Fsimplecheatsheet.com%2Forg%2Dmode%2Dtables%2F&rut=dfcd39afaca8d93796ddc81b894abc0c6bb471b47cb709e7331a91a0f88a9ec4", +            "exampleResult": "https://simplecheatsheet.com/org-mode-tables/", +            "error": null, +            "includePattern": "https://duckduckgo.com/l/?uddg=*&rut=*", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "$1", +            "patternType": "W", +            "processMatches": "urlDecode", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "tiktok to proxitok", +            "exampleUrl": "https://www.tiktok.com/@tiktok", +            "exampleResult": "https://proxitok.pabloferreiro.es/@tiktok", +            "error": null, +            "includePattern": "(.*//.*)(tiktok.com)(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://proxitok.pabloferreiro.es$3", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "Imgur -> rimgo", +            "exampleUrl": "https://imgur.com/a/H8M4rcp", +            "exampleResult": "https://rimgo.projectsegfau.lt/a/H8M4rcp", +            "error": null, +            "includePattern": "^https?://i?.?imgur.com(/.*)?$", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://rimgo.projectsegfau.lt$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "medium.com -> scribe.rip", +            "exampleUrl": "https://medium.com/@zw3rk/template-haskell-75c7b67f9718", +            "exampleResult": "https://scribe.rip/@zw3rk/template-haskell-75c7b67f9718", +            "error": null, +            "includePattern": "https://medium.com/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://scribe.rip/$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "Quora to Quetre", +            "exampleUrl": "https://www.quora.com/Linux-Kernel-Why-are-we-using-two-variables-mm_users-and-mm_count-in-mm_struct?share=1", +            "exampleResult": "https://quetre.esmailelbob.xyz/Linux-Kernel-Why-are-we-using-two-variables-mm_users-and-mm_count-in-mm_struct?share=1", +            "error": null, +            "includePattern": "https:\\/\\/.{2,}\\.quora\\.com\\/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://quetre.esmailelbob.xyz/$1", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "IMDb to libremdb", +            "exampleUrl": "https://www.imdb.com/title/tt0258463/?ref_=tt_sims_tt_t_4", +            "exampleResult": "https://libremdb.nerdyfam.tech/title/tt0258463/?ref_=tt_sims_tt_t_4", +            "error": null, +            "includePattern": "https?:\\/\\/(www\\.)?imdb\\.com\\/(.*)", +            "excludePattern": "https?://(www\\.)?imdb\\.com/chart/toptv", +            "patternDesc": "", +            "redirectUrl": "https://libremdb.nerdyfam.tech/$2", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "fandom to breezewiki", +            "exampleUrl": "https://minecraft.fandom.com/wiki/Bricks", +            "exampleResult": "https://breezewiki.com/minecraft/wiki/Bricks", +            "error": null, +            "includePattern": "https://*.fandom.com/wiki/*", +            "excludePattern": "https://www.fandom.com/*", +            "patternDesc": "", +            "redirectUrl": "https://breezewiki.com/$1/wiki/$2", +            "patternType": "W", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "goodreads to biblioreads", +            "exampleUrl": "https://www.goodreads.com/book/show/5907.The_Hobbit", +            "exampleResult": "https://biblioreads.ml/book/show/5907.The_Hobbit", +            "error": null, +            "includePattern": "^(?:https?://)www\\.goodreads\\.com/(book|work|author|series|quotes)(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://biblioreads.ml/$1$2", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": true, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        }, +        { +            "description": "reddit to old reddit", +            "exampleUrl": "https://www.reddit.com/r/torrents/comments/g5yffq/qbittorrent_vs_transmission_how_are_you_guys_even/", +            "exampleResult": "https://old.reddit.com/r/torrents/comments/g5yffq/qbittorrent_vs_transmission_how_are_you_guys_even/", +            "error": null, +            "includePattern": "https://(www)?.reddit.com/(.*)", +            "excludePattern": "", +            "patternDesc": "", +            "redirectUrl": "https://old.reddit.com/$2", +            "patternType": "R", +            "processMatches": "noProcessing", +            "disabled": false, +            "grouped": false, +            "appliesTo": [ +                "main_frame" +            ] +        } +];  var REDIRECTS = []; // The global redirects list...  var options = {  	isSyncEnabled : false @@ -280,24 +639,10 @@ function pageLoad() {  		if (response.redirects.length === 0) {  			//Add example redirect for first time users... -			REDIRECTS.push(new Redirect( -				{ -					"description": "Example redirect, try going to http://example.com/anywordhere", -					"exampleUrl": "http://example.com/some-word-that-matches-wildcard", -					"exampleResult": "https://google.com/search?q=some-word-that-matches-wildcard", -					"error": null, -					"includePattern": "http://example.com/*", -					"excludePattern": "", -					"patternDesc": "Any word after example.com leads to google search for that word.", -					"redirectUrl": "https://google.com/search?q=$1", -					"patternType": "W", -					"processMatches": "noProcessing", -					"disabled": false, -					"appliesTo": [ -						"main_frame" -					] -				} -			)); +      for (var i=0; i < DEFAULT_REDIRECTS.length; i++) { +        REDIRECTS.push(new Redirect(DEFAULT_REDIRECTS[i])); +      } +      saveChanges();  		}  		renderRedirects();  	}); diff --git a/manifest.json b/manifest.json index 19b88bb..835d676 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@    "manifest_version": 2,    "name": "Redirector",    "description": "Automatically redirect content based on user-defined rules.", -  "version": "3.5.4", +  "version": "3.5.4-custom",    "icons": {      "16": "images/icon-light-theme-16.png",      "19": "images/icon-light-theme-19.png", @@ -89,4 +89,4 @@        }      ]    } -}
\ No newline at end of file +}  | 
