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

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

  • Display Name@lemmy.ml
    link
    fedilink
    English
    arrow-up
    64
    arrow-down
    3
    ·
    edit-2
    11 months ago

    Cool app at first glance!

    I always wonder why some open source projects choose discord and not matrix?

        • NuXCOM_90Percent@lemmy.zip
          link
          fedilink
          English
          arrow-up
          28
          arrow-down
          2
          ·
          11 months ago

          So… split the user (and support) base while invariably emphasizing the shortcomings of Matrix?

          • variants@possumpat.io
            link
            fedilink
            English
            arrow-up
            36
            ·
            edit-2
            11 months ago

            You can link them together at least that’s how the discord and matrix chats are for our instance are. I can chat from discord and get replies from people in matrix

            • NuXCOM_90Percent@lemmy.zip
              link
              fedilink
              English
              arrow-up
              8
              arrow-down
              1
              ·
              11 months ago

              Ah, I was not aware of a way to bridge two channels/servers entirely. I know there are bots that people use to bridge their user accounts though.

              If it is fully seamless? Sure. But I don’t know why you are bothering then. But if it adds a “Bot” tag or any other hoops, you are still just making a worse experience for everyone. We ran into this back in the IRC days all the time.

          • astraeus@programming.dev
            link
            fedilink
            English
            arrow-up
            8
            ·
            11 months ago

            You can create a webhook in Discord and in Matrix that will share messages in channels back and forth

        • Sanguine@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          11 months ago

          And I’m on matrix too, but I’m just an individual. If I were trying to advertise my project I’d probably use discord / reddit as well tbh

        • lemon_nade@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          9
          ·
          edit-2
          11 months ago

          not a protocol issue

          It is. There’s no way for search engines to join all the servers and index them all, thus there’s no way to efficiently find information on them without already being there.

          • Display Name@lemmy.ml
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            2
            ·
            edit-2
            11 months ago

            Are you talking about crawlers not being able to index matrix messenges?

            It’s not a website, there’s no chat that’s being indexed by crawlers, afaik.

            You could index them if you wanted.

            A chat is meant to be ephemeral. Unlike with a forum where it is a goal to have long lasting information sharing.

            Usually you want to things for a project, one forum and one chat. The chat is more informal and not meant to replace a proper forum. You can basically chit chat in a chat but not in a forum.

            • shotgun_crab@lemmy.world
              link
              fedilink
              English
              arrow-up
              9
              ·
              11 months ago

              The problem is many people are using them like forums, so a lot of potentially useful info is lost (which is more of an user issue than anything else)

            • Fredol@lemmy.world
              link
              fedilink
              English
              arrow-up
              6
              ·
              11 months ago

              That’s the problem, discussions should happen on the open web, not hidden in chatrooms

              • Display Name@lemmy.ml
                link
                fedilink
                English
                arrow-up
                1
                ·
                11 months ago

                There’s nothijg hidden on matrix. You can verify yourself, go to the space of Nextcloud, GNOME, KDE, OPENSUSE, FEDORA, flatpak, neo store, libretube, etc. Nothing is hidden.

                • Fredol@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  ·
                  10 months ago

                  it’s not literally hidden, but it’s not easily searchable because since it’s a chat, it’s not indexable on search engines. A forum is a better solution to avoid the same questions being asked 1000x and to expose great solutions and advices.

    • denast@lemm.ee
      link
      fedilink
      English
      arrow-up
      9
      ·
      11 months ago

      I think Matrix suffers from some issues with large communities, for instance Graphene OS has already had to abandon 2-3 of their main group chats due to same bug and last time I checked (2-3 months ago) there has even been talks of switching to Discord. That is, just in case, a community of some of the most diehard privacy nerds btw

  • Lem453@lemmy.ca
    link
    fedilink
    English
    arrow-up
    27
    ·
    11 months ago

    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.

    • Kir@feddit.it
      link
      fedilink
      English
      arrow-up
      5
      ·
      11 months ago

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

      • Lem453@lemmy.ca
        link
        fedilink
        English
        arrow-up
        17
        ·
        edit-2
        11 months ago

        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.

        • dan@upvote.au
          link
          fedilink
          English
          arrow-up
          4
          ·
          11 months ago

          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).

          • Lem453@lemmy.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            11 months ago

            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.

            • dan@upvote.au
              link
              fedilink
              English
              arrow-up
              1
              ·
              11 months ago

              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

        • Kir@feddit.it
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

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

  • astraeus@programming.dev
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    11 months ago

    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.

  • stackPeek@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    11 months ago

    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!

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    3
    ·
    edit-2
    10 months ago

    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 14 acronyms.

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

    • bean@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      11 months ago

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

  • Cyberflunk@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    11 months ago

    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.

    • eduardm@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      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

      • Cyberflunk@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        I treat links like atomic notes. I add as much detail as I feel like to each link, sometimes I go back and add tags and notes. Then I have an exceptionally poor process that attempts to go back to each link, get the archivebox archive and uses python to attempt to grab the article text (I tried using newspaper3k at first, but it’s unmaintained, so moved to readability). Then sticks the resulting link text into the note.

        Honestly It’s a mess, and I really haven’t figured out how to do link things together very well, but, for now, it’s my little disaster of a solution.

  • ericjmorey@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    11 months ago

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

  • iarigby@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

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

    • MashedTech@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      2
      ·
      11 months ago

      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.

  • onlinepersona@programming.dev
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    3
    ·
    11 months ago

    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

    • NuXCOM_90Percent@lemmy.zip
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      2
      ·
      edit-2
      11 months ago

      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.

          • walden@sub.wetshaving.social
            link
            fedilink
            English
            arrow-up
            2
            ·
            11 months ago

            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.

          • pirat@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            11 months ago

            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.