Greasy Fork is available in English.

Proxified Links DEBUG

Proxified hyperlinks to a proxy instance or Farside with no nonsense

Autor
proxi
Instalaciones diarias
0
Instalaciones totales
177
Calificaciones
0 0 0
Versión
0.3.0
Creado
19/1/2024
Actualizado
12/12/2024
Licencia
AGPL-3.0-only
Funciona en
Todos los sitios

Proxified Links

An opinionated script that automatically changes links to a proxy

Quickly see or customize where a link goes before opening it

Proxified hyperlinks to proxied sites or redirect through Farside with no nonsense


Why is everything highlighted?

  • By default, links will change to a shortlisted proxied site
  • Hold X to go through Farside (for up-to-date instances or randomization)
  • Hold Z to revert the link back to the original, bona fide site
  • Hold B+F while selecting an iframe (embedded YouTube) to change to a proxy. Can be combined with above controls.

Mobile touch gestures

  • Tap/hold 2 fingers on the page to reset links to shortlisted proxied sites
  • Tap/hold 3 fingers on the page to set links to go through Farside
  • Tap/hold 5 fingers on the page to revert links to original, bona fide sites
  • Tap/hold 4 fingers on the root page to enable iframes proxification (embedded YouTube)
    • Tap/hold on an iframe to change to a proxy. Can be followed by any of the above touch controls.
    • Repeat 4-finger gesture to disable iframe proxification

If you find a bug or want to request a change, see the Suggestions section

If you have questions, try not to bother me before asking

No nonsense

This is not an AIO solution. If you want nonsense, add it in yourself or use the other extensions or userscripts that fit your needs.

  • No browser extensions or dependencies aside from your userscript manager. Or load the js directly yourself if you don't trust Greasemonkey or Tampermonkey
  • No request redirects or routing. See the exact link before opening it
  • No non-proxied "alternative frontends" by default (see Services list below). No services that phone home to the official servers. Manually enable or add as needed.
  • No interfering with the official, bona fide site. Use the first-party frontend at your discretion without linking out to a proxy of itself
  • No search engine proxies. Configure your browser search yourself. Who's messing around linking LMGTFY or broken proxied Google scrapers?
  • No non-clearnet instances by default, due to instance availability and Farside support. TOR and I2P is good, but add your own public or private P2P instances if needed

Bonus nonsense (yes, free nonsense with your no-nonsense):

  • Automatically set noreferer on all links by default to hide your link Referer headers. Limit to proxified links or disable completely.
  • Set search engine search box to GET method in combination with noreferer. Customize or disable completely.

Need changes or fixes?

Enable console error logs with the DEBUG flag.

If you want to suggest a change to the included services

Refer to the No nonsense guide to ensure the suggestion isn't nonsense. A Farside redirect is not a requirement but may indicate a poorly supported service. Include a preliminary code change to the PROXIES and EXCLUSIONS collections if you are able to, to share your testing with others.

If you want to report a suggest a fix

Go for it. Include additional information if it occurs on a specific site or element. I'll fix it if I need it myself and update the userscript here. If I don't fix it, do it yourself. I might be on vacation or I might just not care.

Where's the git? Too bad. I'm just an anonymous proxy user. I don't care to maintain this beyond personal needs. Make a git repo yourself and watch for the inherited GPL.

Services

A maybily comprehensive list of services included in the script in the order they're defined. First class services at the top are the most mature and fully featured, and probably the best tested in this script.

Included services, as of v0.3.0:

Bona fide Proxied site Farside
youtube.com
youtu.be
youtube-nocookie.com
Piped
Invidious (specific instances that enable proxying by default, if any)
Supported
reddit.com libreddit
teddit* (Discontinued)
Supported
twitter.com
x.com
nitter* (Discontinued) Supported
stackoverflow.com
stackexchange.com
AnonymousOverflow Supported
quora.com quetre Supported
bandcamp.com Tent N/A
instagram.com Proxigram* Supported
tiktok.com ProxiTok* Supported
github.com
gist.github.com
GotHub* Supported
imdb.com libremdb Supported
genius.com dumb* Supported
medium.com Scribe Supported
fandom.com BreezeWiki Supported
wikipedia.org wikiless Supported

* Low feature parity or support

Disabled by default, see PROXIES list in code to reenable

Not a proxy and therefore disabled by default, see PROXIES list in code to reenable

Don't bother me

I'm lost, how do I enable a disabled proxy? Open the installed script in your userscripts manager. Under the site you want to enable, delete the line of text that includes --- Remove this line to use ---. Save the script and reload any pages you want updated.

A service is not on here, what gives? See the Suggestions section before suggesting a proxy. If it's in the No nonsense list, add it for yourself or fork it for yourself.

An instance for a service is missing or dead, plz update? A specific instance may intentionally be left out if it doesn't appear stable or mature, but feel free to suggest it or add it yourself in the meantime. If an instance is dead or unstable, report it and it'll be removed when I get to it. Changes to this script will happen on my own time and for my own needs. If you want to hold someone accountable, look in the mirror and then look at the code.

I bet this change totally makes the script better. Maybe. Implement it or fork it for yourself and come back. See the Suggestions section to make sure it's not a bunch of nonsense. This script has a small scope and I don't care to expand it beyond my personal needs.

I'm sick of getting redirected to this site again and again!! Search and remove it from the list in the code. Post a suggestion if you think that instance sucks and should be removed for everyone. If you know which instance you always want to go to, remove all but one.

I hate the link style . Why? Know where your link is going visually by taking a highlighter to it, or change the styling yourself. The browser may not update its status bar to reflect changes to the link destination. Strong styling on the anchor element and its children means that proxified links are usually obvious even if they aren't simple text links.

I like the link style , but they're missing? Check the developer console for your browser to see if the inline stylesheet is blocked by the page's Content-Security-Policy. Feel free to report these occurrences if they are frequent. I might change the styling to suit all CSP or at least have a visible fallback.

Why are X and Z the modifier keys? This can be configured to your preferred key at the top of the code. Control or Alt may already be used for click or keyboard navigation, depending on OS.

Is keyboard navigation supported? Yes. If you have an issue, consider it a bug and report it.

This shi is laggy. I kind of tried to keep things light, but consider it a bug and report it. Meanwhile, you can exclude this script on specific sites in your userscript manager. There are also several const knobs you can tweak in the code or you can post a fix if you have the knowhow.

I'm troubleshooting or debugging. Onramp me? Enable the DEBUG flag and look for any errors in the dev console. Functions are likely to change names or refactored, but you can step in starting from the handleElement() function on hover/navigation to any element. The event target element will be handled directly as an anchor, but will also be treated as a potential child element wrapped by an anchor by looking up at its ancestors or querying other hovered elements.

This readme or the code comments suuuck. They were written to document alongside the code. I'll take suggestions in mind and update and refactor things when I feel like it.

This thing is totally broken?? See the Suggestions section before reporting a bug. When this thing is verifiably not totally broken, it'll totally get promoted to v1.0.