Farside - Extension-free Redirection for Frontends

https://sr.ht/~benbusby/farside/

(GitHub)

With regards to the new frontends page and the SearXNG discussion, @bayesian mentioned this website as a convenient way of randomizing public instance usage.

I know that some people enjoy the convenience of browser extensions which redirect links to frontends. However, I understand that we avoid recommending the use of unnecessary browser extensions—if any.

:tada: Enter: Farside!

It’s very simple. It maintains a list of active public instances for privacy-oriented frontends (excluding those which use Cloudflare, by default). The nice part is that it lets you prepend any link with

  • farside.link/path
    • to redirect it to a random instance from a random, appropriate frontend service (e.g. r/popular will be redirected to either a random libreddit or teddit instance).

or

  • farside.link/service/path
    • to specify a particular frontend (e.g. just teddit).

It uses a simple cycling system to ensure that every redirect uses a new instance, to help the maintainers avoid bottlenecks. Optionally, you can alter the address to use JS to temporarily store which instance you’re using, so navigating back-and-forth will trigger a new redirect each time.

Less convenient than an extension, but it’s could be a useful tool to achieve the dissemination-by-randomization model I discussed, to mitigate the lack of trust when using public SearXNG instances. Thoughts? :smile:

This is great! Additionally, the developer benbusby is the one behind whoogle.

I hadn’t taken a proper look at this until now, although I’d seen that link before.

I agree that it is a neat idea; however, I think it’s very hard for us to recommend it.

The instance list is chosen by the operator of farside.link; what happens if they decide one day to switch the instances they’re using with malicious ones?

Even if you don’t do that, you’re adding another party into the mix. You’re telling Farside what you want to see (e.g. the YouTube video ID), and then it forwards you to an instance on Invidious or Piped which also sees what video you’re interested in.

I think it’s very difficult for us to recommend instance lists (except for the official ones, reluctantly) because these are services that literally anybody can run. This is both a good thing, and a bad thing.

5 Likes

That makes sense. I guess it might be an alternative to using a browser extension, if the convenience is really important to you, but there’s the double-edged sword of the potential for malicious redirects. :thinking:

I suppose you can self-host it quite easily, to address the extension of trust and any malicious intentions. That said, I can see that it seems like a hard fit for recommendation (given how cautiously the official lists are endorsed). :+1:

I wonder if the convenience factor is even there, to be honest.

Let’s think about this:

We’ll use this totally random YouTube link :rofl: - - YouTube

  1. Someone who’s using Farside gets sent a YouTube link:

They now have to replace the https://youtube.com/ part with https://farside.link/piped/ or https://farside.link/invidious/.

  1. Someone who’s not using Farside gets sent a YouTube link:

They now have to replace the https://youtube.com/ part with https://invidious.snopyta.org or any other instance of their choice.

I suppose the only benefit here is that Farside is choosing the instance for you, which has its benefits and drawbacks.

Not all instances are well maintained. Some break and are not fixed for a long time while still remaining online, others modify the UI in unexpected ways.

There would need to be very specific criteria for which instances are eligible to be in Farside’s pool that are transparent and clear (which I was not able to find) as well as proof that the list is being maintained very well and that the instances chosen stay fully operational, up to date etc.

Also, while it is faster and more convenient, I don’t like that I am automatically redirected to a random instance.

There are ways to implement an instance picker that still give you a choice.

Using the same video as an example, this is Invidious’ redirect page:

https://redirect.invidious.io/watch?v=dQw4w9WgXcQ

You can put any video after https://redirect.invidious.io/ and you will be presented with a screen with a list of a few instances, their health, and a button to go to that instance.

Now, this particular redirector could have more information other than the health, and it could use Farside’s logic to take you to the redirector of the appropriate service, but I think it’s very useful to manually select your instance and get some information about it before you’re actually taken there.

It gives you choice, and it allows you to evaluate instances at glance before going to them. If you know an instance is broken, you won’t click on it; Farside either has to remove the instance from its pool or the instance has to get fixed, otherwise, you’re eventually going to land there, which is a bad user experience.

2 Likes

This is a great breakdown. You have persuaded me completely. :joy:

It’s a cool idea, and it could be used at someone’s discretion, but the convenience it could provide is so niche—and subject to its own disadvantages, as you point-out—that it doesn’t seem like it would add anything particularly useful to the frontends recommendations.

On reflection, I’ve closed this with your initial comment. Exactly why I thought I’d open a thread: thanks! :grin:

1 Like

To be fair, you can just put farside.link in front of any given link to a supported service and it will recognize it without issue.