I am currently self hosting multiple services with Docker containers. A file server, Kiwix with Wikipedia and a PieFed instance sitting behind a Caddy reverse proxy. The PieFed instance is not federated and is more acting like a forum which is meant for a local community within a city. If I do federate in the future, it would be to whitelisted instances from within my physical local community. I am also hosting from behind a Cloudflare Tunnel since my ISP blocks incoming data on lower ports.

I was hesitant to use Cloudflare originally but decided to use it since it was the most suggested recommendation. Now that America and American companies are losing trust world wide, I’d like to explore some other options for tunneling.

Since what I am hosting isn’t really meant for a large user base, I am okay with losing some of the security offered by Cloudflare’s free tier services. I’ll probably look into setting up Fail2Ban and rate limiting to stop a single petty person but that would be something I can do at a later time.

What would be some options to look into when it comes to tunneling behind an ISP with blocked lower ports?

  • Jason2357@lemmy.ca
    link
    fedilink
    English
    arrow-up
    6
    ·
    16 hours ago

    I use a $2 VPS in Quebec that proxies my home stuff over Tailscale. It uses Caddy and does the TLS encryption and caching. It has the providers DDOS protection, plus I have configured the firewall to have some further protection.

    It could also just directly forward TLS packets over any sort of VPN if you didn’t trust the VPS provider or wanted to reduce cpu load.

  • brownmustardminion@lemmy.ml
    link
    fedilink
    English
    arrow-up
    18
    ·
    24 hours ago

    I recommend it every time this question pops up and I’m surprised more people aren’t privy to it:

    Rent a VPS as your public gateway. Connect the VPS to your server with a simple wireguard tunnel.

    The only thing on the VPS should be a reverse proxy with SSL/TLS pass through.

    Send the traffic at the VPS reverse proxy to a reverse proxy on the main server. Configure this proxy to use letsencrypt certs.

    The benefit and importance of the SSL pass through reverse proxy, is that it allows all data in transit to remain encrypted until it reaches your physical server. Traditionally, most would suggest the one and only reverse proxy exist on the VPS but all traffic would then be decrypted on the VPS. This could obviously compromise your traffic if the VPS provider snoops or your VPS is compromised.

    Cloudflare tunnels decrypt on their hardware as well, which is why I always recommend avoiding their services.

    • Voroxpete@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      6
      ·
      23 hours ago

      A question I have about this setup, because I’ve been contemplating out myself: If all the traffic flows through the VPS, I presume that will count against any usage limits / cost per GB with the VPS, right? Have you found that to be a problem with large file transfers or video streaming?

      • brownmustardminion@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 hours ago

        Yes, it will count towards your bandwidth.

        I typically don’t get anywhere close to this though.

        The few times I did were due to initiating large backups between devices, upwards of 2TB. But I’ve since moved my backup system to a mesh network and haven’t hit bandwidth overages since.

  • ohshit604@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    3 hours ago

    My ASUS WRT router running Merlin firmware offers to host a WireGuard server, I simply use the WireGuard app, dump the config file in and hit connect.

    Took a little configuration but eventually got it working how I want it.

    Edit: Reason for the Merlin Firmware is because I can route my VPN server through my VPN provider, goes a little like this;

    5G/LTE > WireGuard to my router > Router routes that connection to ProtonVPN

    This gives me access to the resources in my home while also reaping the benefits of my VPN provider.

    • Engywook@lemm.ee
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      Hey, man… I used to run your LineageOS on Surya until recently. Glad to see you here 😀

      • ShimitarA
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 day ago

        Cool! We just released 22.2 for surya ;)

        Glad to see you here too!

    • comrade_twisty@feddit.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      Pangolin is amazing and completely replaced cloudflare tunnels for me.

      I have a cheap VPS at Infomaniak that handles a boatload of traffic with no issues whatsoever.

  • Xanza@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 day ago

    Pangolin.

    Only complaint is that it uses Traefik instead of Caddy.

  • towerful@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    24 hours ago

    Chisel, Rathole, an SSH tunnel with port forwarding, a VPN with port forwarding.
    Keywords are “self hosted tunnel” or “reverse proxy over VPN”.

    Run a VPS for like $5 a month, your local reverse-proxy tunnels out to the VPS, and your VPS forwards port 80/443 over the tunnel to your reverse-proxy.

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

    ngrok is a straightforward, powerful, and secure option. Check it out! I run it for my k8s cluster at home.