Linkwarden - An open-source collaborative bookmark manager to collect, organize and preserve webpages

daniel31x13@lemmy.world to Selfhosted@lemmy.world – 655 points –
github.com

Greetings everyone! Daniel here, I've been working on Linkwarden part-time over the past few months.

Linkwarden is a self-hosted, open-source collaborative bookmark manager to collect, organize and archive webpages.

Key features:

  • 📸 Preserve webpages as Screenshot, PDF, etc. So you can access them even if they are taken down.
  • 👥 Collaborative, so you can share your collections with your friends and colleagues. You can also make them public and share them with the world.
  • 📱 Designed for every screen size, from widescreen monitors down to smartphones.
  • ⚡️ Open source and fully self-hostable!
  • ✨ And so many more features! (Literally, just didn't want to make this post too long. Check out the Github repo and Website for more info...)

If you like what we're doing, you can support the project by either starring ⭐️ the repo to make it more visible to others or by subscribing to the Cloud plan (which helps the project, a lot).

Things like mobile app (PWA) are already on the project roadmap and I'm so excited to share them with you in the future.

Feedback is always welcome, so feel free to share your thoughts!

Website: https://linkwarden.app

GitHub: https://github.com/linkwarden/linkwarden

108

Thank you for including oAuth options for sign on. Makes a big difference being able to use the same account for all the things like freshRSS, seafile, immich etc.

I'm intrigued. How does it work? Do you have a link or an article to point me to?

The general principle is called single sign on (sso).

The idea is that instead of each all keeping track of users itself, there is another app (sometimes called an identity provider) that does this. Then when you try to log into an app, it takes to the to login of your identity provider instead. When the IP says you are the correct user, it sends a token to the app saying to let you access your account.

The huge benefits are if you are already logged into the IP on a browser for example, the other apps will login automatically without having to put in your password again.

Also for me the biggest benefit is not having to manage passwords for a large number of apps so family that uses my server have 1 account which gives them access to jellyfin, seafile, immich, freshrss etc. If they change that password it changes it for everything. You can enforce minimum password requirements. You can also add 2FA to any app now immediately.

I use Authentik as my identity provider: https://goauthentik.io/https://goauthentik.io/

There's good guides to settings it up with traefik so that you get let encrypt certificates and can use traefik for proxy authentication on web based apps like sonarr. There are many different authentication methods an app can choose to use and Authentik essentially supports everything.

https://youtu.be/CPURnYaW3Zk

SSO should really be the standard for self hosted apps because this way they don't have to worry about ensuring they have the latest security for user management etc. The app just allows a dedicated identity provider to worry about user management security so the app devs can focus on just the app.

Authentik is pretty good. Authelia is good too, and lighter weight.

You can combine Authelia with LLDAP to get a web UI for user management and LDAP for apps that don't support OpenID Connect (like Home Assistant).

If you have to add a whole other app the match what authentik can do, is authelia really lighter weight?

Im joking because authentik does takes a decent chunk of ram but having all protocols together is nice. You can actually make ldap authentication 2FA if you want.

Interesting... How does Authentik do 2FA for LDAP?

I'm going to try it out and see how it compares to Authelia. My home server has 64GB RAM and I have VPSes with 16GB and 48GB RAM so RAM isn't much of an issue :D

Because authentik uses flows, you can insert the 2FA part into any login flow (proxy, oauth, ldap etc)

https://youtu.be/whSBD8YbVlc

LDAP sends username and password over the network though... It doesn't use regular web-based authentication. How would it add 2FA to that?

The above YouTube video shows that you can get authentik to send a 2fa push authentication that requires the phone to hit a button in order to complete the authentication flow.

Ohhhh, interesting. Sorry, I didn't watch the video yet. Thank you!!

Thank you for the detailed answer! It seems really interesting and I will definitely give a try on my server!

Although in the subscription version, SSO is not available unless you purchase the “Contact Us” version. https://sso.tax would like a word.

Free for self hosted which is probably what matters to most here

Definitely a fair point, always good to see that in a project

I’ve been using ArchiveBox, this looks a bit more feature-full than ArchiveBox although it seems like ArchiveBox has been pretty stable. Anyone have experience with both, can vouch for the pros and cons?

I may take some time to compare the two. After taking another look at Linkwarden I get the impression it may handle archiving pages differently than ArchiveBox, which isn’t a bad thing it may just not fit the usage of everyone who uses ArchiveBox. The presentation and UI look really good, which is something I find ArchiveBox suffers a bit from.

I actually tried to build Raindrop.io-clone like this one one day, but never got the time to work fully on it... Congrats OP!

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
IP Internet Protocol
NAS Network-Attached Storage
SMTP Simple Mail Transfer Protocol
SSO Single Sign-On

4 acronyms in this thread; the most compressed thread commented on today has 10 acronyms.

[Thread #412 for this sub, first seen 8th Jan 2024, 22:05] [FAQ] [Full list] [Contact] [Source code]

Pretty sure the IP detected was a user talking about ‘identity provider(s)’ and not Internet Protocol.

Archivebox is in my obsidian workflow, it grabs every link in my vault and archives it. I didn't see an API in linkwarden, perhaps I missed it.

Do you have any particular way of organizing the links themselves? I've moved to hosting all my bookmarks in Obsidian as well and am curious as to how others go about it

What value can this bring me over features available using a Mozilla (Firefox) account and the Official Wayback Machine Browser Extension?

Amazing! Have wanted something like this for years, currently use raindrop but not fully, very hesitant of locking myself in. This looks very promising.

I'm very curious... Why do you feel locked in by raindrop? I like that it can regularly upload exports to my Google drive and I can Always download them as html and csv.

That sounds great, I didn’t look into it enough to know that

I wish it was database agnostic. And I'm slightly concerned about the version three rewrite.

It does look awesome, and I'll revisit it to see where things are in six months.

I can imagine that news orgs won't like having publicly available backups of their subscriber only content. Is this a problem that has been considered?

Also, somewhat related, are the plans to turn this a little bit into a P2P archive.org? I mean, if multiple people store snapshots of webpages at different times, the timeline could be rebuilt using their publicly available snapshots.

CC BY-NC-SA 4.0

are the plans to turn this a little bit into a P2P archive.org?

Now that would be cool!

Yeah. I expect basically any publicly available instances to get C&Ds REAL fast.

And a p2p archive.org will basically never work. For the same reasons that the various NSFW lemmy instances get defederated from almost instantly. Because there is room for discussion on sites that highlight nudity in movies. There isn't much room to discuss when it is nothing but revenge porn, "fappening links", ripped OF content, and (inevitably) child porn.

Stuff like this... I am sure there are niches but I am not seeing a lot of benefit over either a folder or a notes app that lets me upload PDFs (or even just google drive). But once you try to build a "community" you are going to have the same moderation issues amplified a hundred fold.

I'm not sure I understand your thoughts on p2p archive.org . What does it have to do with NSFW lemmy? I don't follow.

CC BY-NC-SA 4.0

Sorry for off-topic, but why do your comments end in a license link?

I think they do it to be funny (I hope). Like making fun of the folks on Facebook who write stuff like "I hearby declare that all of my posts are my property and can't be harvested for data" or whatever.

It refers to some old forum signature iirc. I saw an explanation of it in some other Lemmy thread some time ago, though I don't exactly remember where or when.

Thats neat. I was searching for something like this. Goes on my list.

looks very nice, thanks. would appreciate better documenting of SMTP options (login & password) and support for Authelia.

Installed and no way to login, see this in your GH issues:

https://github.com/linkwarden/linkwarden/issues/415

This is a fresh install as about 10 minutes ago so using the :latest tag which I believe is the v 2.4.8 build. Signing up is possible and I was able to create my user account so that's a good start at least. :)

Has anyone been able to get the Firefox extension to work with a self-hosted installation? It's not accepting my login address.

Works without issues here. Keep in mind to add http(s):// in front of your address.

Yeah, I'm doing that and it isn't working on ff for windows or android.

I can log into the same address on my browser no problem.

Strange 🤔

I have no problems with Firefox on Fedora 39 or FF on Windows 11.

Extension is not available on FF in Android. How did you try that?

Extension is not available on FF in Android. How did you try that?

I'm using Iceraven, but if you visit the FF Add-on website and to to desktop mode, I can install pretty much any extension.

I'm not sure why it's not working. I'll continue to investigate why it's not connecting.

Good luck, maybe you find a clue in the docs, if not ask on github ☺️

Fixed it!

So, there was a closed issue on github: https://github.com/linkwarden/browser-extension/issues/44

And the solution was to reconfigure the pull command to use "ghcr.io/linkwarden/linkwarden:latest" instead of "ghcr.io/linkwarden/linkwarden:main"

It loaded a more recent version of Linkwarded (totally different from the one it had originally) and the extension is working now :)

So is this like a self-hosted equivalent to pinboard.in? Can I import all my existing Pinboard bookmarks including their tags?

My question is: what's wrong with browser bookmarks and something SIMPLE to sync them between like devices like floccus (+ webdav server)?

Content changes or disappear.

For fun, I booted up a old 2005 laptop with windows xp on it. The bookmarks were all dead. And most weren't archived in any way.

There's were many browser games I used to play that is completely lost in time.

How would browser games survive with that solution tho? They most likely require some server...

Most browser games are quite simple and aren't running on a remote server.

Games from that time were actually running mostly in your browser. Meaning that the host, for example Miniclip served you the JavaScript and other files of the game which were then executed locally. So technically you could archive those games as long as you can load them up at least once initially.

Potentially yes, but for instance I've been looking for a way to have the following players offline and it seems harder than expected:

Any tips?

If you logged and saved all the files the first one requested you could potentially make it work. You could manually change of the file paths in the html if you only doing a few of them. There's only like 10 or so paths that would need to be modified. The PHP ones are likely harder to make work as php is a server side language and you don't likely have easy access to PHP server and everything that goes with it.

Anyway thanks for the link to to mynoise.net. It looks like a well designed, carefully crafted website.

Yes yes, but what about magic / automated solutions? Wasn't that the great advantage of Linkwarden?

It's an open source solution designed to scale to what the web was originally designed for and excels at. Documents. Specifically hyperlinked documents or webpages. You can't reasonably expect an archival service to archive something that is by definition not static like an interactive web app.

no image/text previews, only small part of the title visible, no sharing, no automatic archiving

Thanks for your work. I look forward to installing this soon!

Do you have any plans to support importing from similar services such as Raindrop, Omnivore, or Shiori?

Can't find the info in the repository. Can I share a collection or specific links via RSS? I built my own application to archive URLs and grab the text content, and I also build a RSS feed from that. Can Linkwarden do something similar?

Is it possible for you to make it mobile friendly? How does it compare with raindrop?

Very intriguing, will definitely check out! Nice work :)

Cool stuff, but I don't see a reason to ditch raindrop.io

Raindrop doesn't seem to be self-hosted? This is the selfhosted community...