Hello to all passionate selfhosting enthusiasts! Today, however, I have to ask you about a problem that can’t be fully solved by a selfhosted solution. But I believe it’s still closely related to selfhosting.

I’d like to automate mirroring some files/catalogues to different storage providers and then obtain public sharing links for each of them. So I’m looking at Rclone. It supports a variety of different storage providers, which is nice. But is there any structured information about which of them support sharing files via public links? There are just too many of them to quickly check them all.

So if there is no such data, I’ll probably also slowly try them out on my own to see which ones are suited for me, and post the results in the comments if you don’t mind! Maybe.

Well, ideally I’d certainly like to share these files with a selfhosted solution without relying on any 3rdparty «cloud» storage, but that’s not possible without either TLD and public IP or additional software besides web browser on the client side, right? So I’m looking for a somewhat pragmatic solution for now.

Also, maybe you have some useful tips on configuring Rclone for this task in general? I’m considering using union feature with create_policy = all to upload to several storages simultaneously, but is it possible to get public links in this setup?

      • Sir. Haxalot@nord.pub
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        1 day ago

        Yeah, if you are going to self host something like this you are going to need to be able to accept connections from people one way or another. Possibly a VPN solution like Netbird or Tailscale could work, but then all your users would need to have an additional client which is probably going to be a hassle.

        Realistically you may want to look into S3 providers, and if they support public pre-sig link, which is most likely what recline link uses. Basically the S3 API allows authenticating with a signature as a part of the URL that are scoped to a specific object and optionally expires.

        Edit: An option could be to use a small VPS as entrapping and setup a VPN to it, or something like Cloudflare tunnels

      • cthulhupunk0@lemmy.ml
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        2
        ·
        2 days ago

        Check out using ddns. It’s not perfect, but works. There are updater containers you can run. NoIP used to have freebie domains, I bought a domain a while back, then switched to cloudflare for convenience despite it being cloudflare (you can leave tell them not to use their proxy for individual sub-domains). Bonus points for using something like nginx proxy manager or cert-manager to handle acme LetsEncrypt certs, because unencrypted http is BAD.

        • Hinori@scribe.disroot.orgOP
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          2
          ·
          edit-2
          2 days ago

          And… how to obtain a public IP, then?

          because unencrypted http is BAD.

          Sorry, I don’t enjoy such blatant wordings at all. I prefer to say «supports delivering content unmodified solely by a lucky chance» :D

          Edit: now, after reading @benno@sh.itjust.works’s and @bigmclargehuge@lemmy.zip’s comments, I realized that Cloudflare tunnel could be used for reverse-proxying traffic to the local daemons! You know, when you think about Cloudflare, you genuinely feels nothing but repulsion after all that endless browser check pages, and don’t even consider it as something useful. So for now, I’m trying to wrap my head around all of this to ask a meaningful question. So it’s not over yet!

          • horus_son_of_isis@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            7 hours ago

            This is probably a terrible idea, but I have api sites set up with cloudflared for when I want to share something with someone, like if I want to share a file through gokapi or filbrowser, or share a jellyfin access. Cloudflare access is set to bypass except for country restrictions. Anything access I grant or share is behind at least a password, and share links are only for a couple of hours or days, then they disappear.

            All of my other services are restricted to me through cloudflare access, oauth, and the builtin user/pass access for each service.

          • non_burglar@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 day ago

            You are always behind a public IP, a dynamic DNS and domain help identify what that is to others without making manual changes every time your public IP changes.