this post was submitted on 20 Jul 2023
289 points (99.7% liked)

Fediverse

28519 readers
457 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 2 years ago
MODERATORS
 

If you didn't already know about it, I included the full description after the release notes.

Release 1.3.0

  • You can now add multiple secondary instances: so if you, like me, also have an account on lemmynsfw.com (or of course any other instance), you can add that there and not have links rewritten for that instance
  • You can manually enter your home instance. Useful for self-hosted instances that didn't show up in my instance list.

Full Description Below:

Description

Lemmy Universal Link Switcher, or LULs for short, scans all links on all websites, and if any link points to a Lemmy instance that is not your main/home instance, it rewrites the link so that it instead points to your main instance.

Also works on Firefox Android with the Tampermonkey extension!

Features

  • Rewrite links to Lemmy posts/comments to point to your home instance. Only after hovering over them, because getting home posts/comments links require communicating with the Lemmy servers, and we don't want to spam the servers.
    video demonstrating links to posts being rewritten

  • Instantly rewrite all links of community or user links to Lemmy/kbin on all websites everywhere to your new instance! The rewritten links will have an icon next to it, and hovering/touching the icon will show you the original link, allowing you to go there if you want to.
    community links being rewritten

  • If you are already on a page that has a corresponding page on your home instance, a link will automatically be added to the page header.
    the header link to your home instance when already on a remote post

Home Instance Setup

Simply visit the Lemmy instance you want to set as your home while the script is active. You will be asked if you want to set this instance to your home instance:
popup to select home instance

Settings

If you want to change your home instance or add secondary instances in case you have multiple accounts, simply go to the script settings, accessible within Violent/Tampermonkey directly, or alternatively within any Lemmy instances' settings.
button to set your new home instance

Common Issues

Coming soon

  • Rewrite kbin post/comment links
  • Better rewriting support for kbin community/user urls (e.g. sort options are currently ignored)
  • Nicer tooltip styling (fit into page theme)
  • Signify that "Show at home" button is loading for posts/comments
  • Integrate with lmmy.to redirector
top 30 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 1 year ago (1 children)

That’s awesome, thanks for sharing!

Does anyone know of any web tools or Shortcuts that can do the same thing on iOS?

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

You can install userscripts on Safari on iOS. Dunno though if it actually works. That's the cool thing about user scripts, they work basically anywhere if you want to.

[–] [email protected] 1 points 1 year ago (1 children)

Oh I didn’t know that! I installed Userscripts and the script, but haven’t been able to get it to work yet though…

Anyone else get it working?

[–] [email protected] 1 points 1 year ago (1 children)

If you can get any error message posted or sth I might be able to fix it, but I've got no way to test it on any apple device, that's a bit of a problem :D

[–] [email protected] 2 points 1 year ago (1 children)

Thanks! Sorry my “it’s not working” wasn’t very helpful, and unfortunately I don’t have any error messages. Here’s what I can see:

  • Userscripts has full access to all sites through Settings > Safari > Extensions.
  • Userscripts appears as an extension in Safari
  • LULs script was added to the Userscripts directory and is enabled in the Userscripts Safari Extension
  • When I first browsed to my home Lemmy instance I was prompted to set it as the home instance through a pop up message (indicating to me that the script is at least partially working)
  • The rewritten icon does not appear next to any links on foreign instances
  • Clicking on the links does not take me to my home instance, they just stay on the foreign instance
  • The “Show on ” link does not appear on foreign communities
  • “Lemmy Universal Link Switcher Settings” link does not appear in my home instance settings
  • There doesn’t seem to be a way to open script settings in Userscripts on iOS like is shown in the Violentmonkey screenshot on the documentation
  • In summary, it doesn’t look like LULs is making any changes to any Lemmy instances in Safari.

Things I tried which had no effect:

  • Turning off local and network ad-blockers
  • Restarting the iPad
  • Disabling and re-enabling Userscripts extension
  • Deleting and reinstalling the LULs script - I noted that I wasn’t prompted to setup my instance again so maybe that was cached somewhere else?
  • Clearing Safari cache (and was still not prompted to set home instance again)

Violentmonkey and Tampermonkey did not seem to have iOS clients, but for troubleshooting purposes I installed the Gear browser app. I understand Gear has it’s own browser engine and supports userscripts directly. After installing the LULs the script worked when browsing in Gear.

I’m not likely to switch from Safari to Gear for browsing, so ideally it would be great to get it working in Safari.

Are there any other troubleshooting steps or settings in Safari you could suggest to get it working?

[–] [email protected] 1 points 1 year ago (1 children)

The fact that it did ask you to set home once at least means that it's running. It's likely running into an error somewhere.

Honestly iOS and Safari (and Apple in general) were one of the worst developer experiences I've ever come across, which is why I've not looked into it at all so far ... Actually I have looked into it just now, and I basically need an Apple device to do anything. Or virtualize Mac os which then virtualizes iOS, which probably costs some hours to all set up, yay. I hate this shitty company and its overpriced garbage.

So yeah, sorry for that rant... but if you could search for some way to open the debug console of Safari and see some sort of error message I could probably do something. Apparently it's somewhere in the advanced/developer settings.

[–] [email protected] 2 points 1 year ago

Thanks for looking into it. I did find the debug console setting while I was poking around earlier. It needs to connect to a PC so I’ll give it a go tomorrow.

[–] [email protected] 3 points 1 year ago (2 children)

Annoyed that fmhy got taken out

[–] [email protected] 3 points 1 year ago (1 children)

wait what, what are you talking about?

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)
[–] [email protected] 2 points 1 year ago (1 children)

I vaguely recall that they received a takedown notice.

[–] [email protected] 2 points 1 year ago

for their main site or for their lemmy instance or both?

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (2 children)

If I already have it installed in Tempermonkey, is there a way to update or do I need to remove and download again?

[–] [email protected] 3 points 1 year ago

It updates automatically through your configured update interval, or you can go to the page and click "update".

[–] [email protected] 2 points 1 year ago

You can update all userscripts with Tampermonkey. For me, it was in Utilities -> Check for userscript updates.

[–] [email protected] 2 points 1 year ago (2 children)

I don't know if it's intended behavior, but the 'context' button when viewing responses to your posts does not change to your home instance. I was trying to understand how to work around that yesterday. It appears the title link works, but now I'm not certain whether it's because of the script.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

I'll take a look when I'm back home :) could be that the context links aren't really "links" at all, but "buttons", which aren't detected by my script.

If you look at the post, you see some screenshots/videos, there's this little icon with two arrows in a circle that signifies if a link was rewritten, which is how you can check if it's working.

[–] [email protected] 2 points 1 year ago

Yeah that's what I thought. This is how those buttons look in code:

The problem is that there's no destination identifier attached. If you compare that with your name at the top of your comment: , there's an <a> (and href=) that identifies this as a link to somewhere. The buttons have no such identifying text with them, so I can't rewrite them because I don't know where they lead, it's hidden within the application logic somewhere.

[–] [email protected] 2 points 1 year ago (1 children)

lemmy.fmhy.ml

It was for the music in a linked game download, and owner decided to close up shop.

[–] [email protected] 2 points 1 year ago

Oh, I thought it had something to do with the script. I mean I guess I could keep defunct instances around, but idk how useful that would be, and how to verify that the domain didn't change to something completely unrelated...

[–] [email protected] 2 points 1 year ago

Thanks for the update

[–] [email protected] 2 points 2 months ago* (last edited 2 months ago) (1 children)

Would this work if I opened a link from an app to the browser? Or does it have to be a link clicked on within the browser?

Also what if the home instance uses a directory other than the default /c/ for communities?

[–] [email protected] 2 points 2 months ago

When you open a link from somewhere else, a "Show on home instance" link will be added to the top bar. Only within the browser will it automatically replace links.

I so far only support Lemmy. No one has made any other requests. So if not /c/ is used, it doesn't know how to handle communities.

[–] [email protected] 2 points 2 months ago
[–] [email protected] 2 points 1 year ago

I won't need i, but thank you on behalf of the ones who do.

[–] [email protected] 1 points 1 year ago

The lemmy.ml instance

[–] [email protected] 1 points 2 months ago (1 children)

Hi @[email protected], thanks for this great tool!

What is the best way to submit servers to be added? I notice that diagonlemmy.social doesn't seem to be on the list. I could edit the script at my end, but that would solve the problem only for me, and likely be overwritten next time the list is updated.

An a related note, is there a Lemmy community for LULs?

[–] [email protected] 2 points 2 months ago (1 children)

I will update the instance list. I have a script that parses lemmyverse.net data and updates the list within the script, but I need to run it manually.

Generally all issues/requests can be added in https://gitlab.com/azzurite/lemmy-universal-link-switcher/-/issues. There is no Lemmy community for it. How did you find this? I had like 3 people suddenly write on this year old thread.

[–] [email protected] 1 points 2 months ago

I will update the instance list.

Thanks!

Generally all issues/requests can be added in https://gitlab.com/azzurite/lemmy-universal-link-switcher/-/issues.

I would need a GitLab account for that, correct? Is it worth it?

How did you find this? I had like 3 people suddenly write on this year old thread.

I went from my Violentmonkey dashboard to the GitLab page, searched Lemmy for "Azzurite", and this post was the top result. Once I commented, it must have shown up for users sorting by "New Comments".

load more comments
view more: next ›