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.
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.
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.
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:
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.
Common Issues
- Does not work with Greasemonkey. Use Violentmonkey (open source) or Tampermonkey (closed source) instead.
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
That’s awesome, thanks for sharing!
Does anyone know of any web tools or Shortcuts that can do the same thing on iOS?
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.
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?
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
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 <home instance>” 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?
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.
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.
If I already have it installed in Tempermonkey, is there a way to update or do I need to remove and download again?
It updates automatically through your configured update interval, or you can go to the page and click “update”.
You can update all userscripts with Tampermonkey. For me, it was in
Utilities -> Check for userscript updates
.
Annoyed that fmhy got taken out
wait what, what are you talking about?
Annoyed that fmhy got taken out
Looks like it. lemmy.fmhy.ml:
Edit: 20230717 BBC — Typo sends millions of US military emails to Russian ally Mali
I vaguely recall that they received a takedown notice.
for their main site or for their lemmy instance or both?
?
It was for the music in a linked game download, and owner decided to close up shop.
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…
Nice
I won’t need i, but thank you on behalf of the ones who do.
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?
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.
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.
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.
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>
(andhref=
) 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.
Hi @Azzu@lemm.ee, 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?
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.
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”.
The lemmy.ml instance
Thanks for the update