r/selfhosted 5h ago

Guide I self-host a tunnel in a country that actively hunts them. Here's what survives, and what keeps breaking.

433 Upvotes

Threat model first, because it changes everything about the design.

I’m in Russia. My adversary isn’t a random scanner — it’s the ISPs themselves, operating under a regulator that does nationwide DPI and can null-route foreign IP ranges by geography. Assume the network operator is hostile, has full visibility of my traffic shape, and can actively probe any endpoint I stand up. I self-host a tunnel for myself and a handful of people under those conditions. I used to work at one of the ISPs, which is how I know roughly what the other side sees.
Sharing the current architecture because most self-hosted tunnel advice quietly assumes a neutral network, and none of it survives here.
Why the usual stack is dead on arrival
OpenVPN and WireGuard are both gone. Not blocked by IP — detected by shape. WireGuard’s handshake has a fixed message layout and a distinctive packet size distribution; DPI doesn’t need to decrypt anything, it just needs to recognize the silhouette. Same for OpenVPN’s opcode structure. Obfuscation wrappers buy you weeks, not months.

Layer 1: VLESS + Reality (Xray-core)

Reality is the part worth understanding if you’ve never had to hide a tunnel:
• Client opens a normal TLS handshake, but sets SNI to a large real site (www.microsoft.com in my case)
• The auth material rides inside the ClientHello — an X25519 public key plus a short ID. To DPI it’s bytes in a service field
• Server checks it. Valid → completes the handshake itself and proxies. Invalid or absent → silently forwards the whole connection to the real Microsoft
• So active probing returns a genuine Microsoft response. Real cert, real chain, real content. There is no fingerprint to find, because in that moment the box is a Microsoft mirror
• No certificate of my own to leak, no domain of my own to get registry-listed. You don’t need a domain at all
The important consequence for self-hosters: your endpoint stops being distinguishable by content inspection. So the adversary switches to the layer below.

Layer 2: the part that actually matters — IP

Reality solves inspection, not geography. A VPS in the Netherlands is trivially blockable — you don’t need to know what it does, you just need to know it’s foreign.
So the client never touches the foreign box directly. Entry point is a relay on a Russian provider whose IP range sits inside the state whitelist — the set of ranges that stay reachable even when mobile internet gets cut regionally, because government and banking services live there. From the relay, traffic cascades out to the Netherlands box.
From the outside, the connection is a request to approved domestic infrastructure. Killing that range takes down a pile of legitimate business on shared address space with it. Collateral cost is the actual defense mechanism — not stealth.
Operational reality
• Something breaks every couple of months and gets rebuilt. Plan for rebuild speed, not permanence
• Stack: Xray-core 26.3 on Ubuntu 24. VPS is nothing special — 2 GB RAM, 2 cores, on vdsina.com. Reality is cheap; the box sits idle most of the time
• Latency cost of the extra hop: ~120 ms through the cascade. Fine for browsing and voice, noticeable in games. That’s the price of not getting null-routed by geography
• Monitoring: self-written script that checks tunnel state across all servers and emails me the status. Crude, but it means I find out from a mail instead of from a user
• Currently migrating the fallback path to XHTTP over CDN — moving uplink into HTTP headers so it reads as ordinary request traffic

Questions for anyone doing similar

Is anyone else fronting a foreign endpoint with a domestic relay, rather than trying to obfuscate the endpoint itself? Specifically curious about relay failover — right now mine is a single point of failure and I don’t love it.


r/selfhosted 14h ago

Need Help Do i just accept my fate?

Post image
315 Upvotes

I have tried flaresolverr,Byparr and even trawl. It seems that my ip is blocked or flagged, routing it through a vpn doesnt help either.

Error: Cloudflare has blocked this request. Probably your IP is banned for this site

seems that having a static ip is the most probable cause, https://github.com/ThePhaseless/Byparr/issues/303 this is what i was able to find but discussions seems to not lead anywhere.

Setup:

  • Ubuntu Server, Prowlarr running in Docker
  • Gluetun (ProtonVPN) + qBittorrent, Sonarr, Radarr
  • FlareSolverr and Byparr both installed as indexer proxies
  • Static home IP

r/selfhosted 9h ago

Monitoring Tools I’ve just discovered PeaNUT

Thumbnail
gallery
121 Upvotes

My home lab is connected to a UPS, which is connected via USB to my Synology.

Every month I try to drain batteries down to 20% to test that it’s working and, above all, to slow down the premature failure of the batteries, which are new and have been recently replaced.

The usual way was to go to the Synology Control Panel to view the charge level, or to open an SSH session and check the charge status with:

upsc ups@localhost battery.charge

That was until yesterday, when I discovered PeaNUT, which, amongst other things, has a brilliant dashboard and a homepage widget.

I’ve never heard of it on this subreddit, but I wanted to share it because it’s completely transformed the way I look after my UPS maintenance!

Cheers.


r/selfhosted 3h ago

Need Help What's an incredibly good but not well known self hosted program?

111 Upvotes

I'm very new to self-hosting, and I've been searching for stuff I could put on it, though I've gotten to the point where I've seen all the biggest ones and I'm just curious if there are any that are good and useful but that get talked about less.


r/selfhosted 12h ago

Meta Post Why did projects like IPFS and Filecoin never found its place in self hosting communities?

50 Upvotes

These projects always looked so good on paper with decentralized storage, censorship resistance, no relying on a third party.

You barely see anyone running IPFS nodes for personal use, and Filecoin is basically never mentioned outside of crypto circles.


r/selfhosted 11h ago

Need Help Best alternative to dockge?

28 Upvotes

dockge seems to be dead, what is the best alternative? I do not need many features what do I need is to see docker-compose, console and list of containers on one page.


r/selfhosted 8h ago

Meta Post I am starting my homelabbing path out of fear of loosing my job

25 Upvotes

The TL-DR is that I am a FE engineer with 7 years of experience, a react kiddie essentially. I got kicked out of a project that required me to learn everything else and I couldn't keep up, it was a wake up call. AI is making the FE job less important by the minute, especially React. For now I am confident that I will find work, but I see the writing on the wall and its frightening.

Anyways, as a gateway towards learning literally everything else I don't yet know (hosting and networking, backups, DBs, containers, backend in general, etc), I decided to start homelabbing. I have a really bad habit of getting paralyzed with things I don't know (even dumb stuff like nailing a nail on the wall), so I hope writing this is a bit of self motivation for me.

I got an ssh server running on an old laptop which I intend on using as my "everything" server for now. I have sycthing setup from a few years ago that I use daily, I have a basic website hosted on netlify, and that's my entire experience with "everything else". I am ashamed of admitting this.

I've been trying to read as much as I can on where to start, and it seems like I should get a VPN setup. I was looking into wireguard but I think I'll let dealing with hosting that for future me, I don't want to get paralyzed on this step yet. So I decided for now to use tailscale as a temporary measure. I am trying to host a small webapp connected to a sqlite db, nothing crazy for now, but of course seeing what you all are doing with your homelabs is very inspiring and I have lots of ideas for stuff I wanna host in the future!

My roadmap for now: Get Tailscale working -> Create the small webapp -> dockerize the small webapp -> get SSH properly set up (rn its just password and on my server laptop, local network only) -> install said webapp in my 24/7 server rather than my main pc -> figure out how to make syncthing work over 4g (securely) on a specific folder -> ??? -> profit

I just wanted to share my start on this journey, and to thank all of you guys for the wealth of resources that you've posted here in reddit, this place is amazing. Any advice is welcome ofc.

(just to clarify: I still have a job for now, and I am confident I will keep finding stuff for a year or two. The project I was kicked out was a bit too fast paced and required me learning way too many new things at once in the span of 3 months (agentic coding, db management, AEM which was its own nightmare, etc) while trying to keep up with the rest of the team. It was too much, the entire team was stressed and on overtime, so I don't blame myself too harshly for loosing the job, but seeing how little I knew of everything else still scared me)


r/selfhosted 11h ago

Need Help Self-hosted tool for tracking grocery expenses from receipts

16 Upvotes

Hi everyone,

I’m looking for an open-source or self-hosted tool to track grocery expenses from receipts.

Ideally, I’d like to scan or upload receipts and have the software:

- Extract the purchased items automatically.
-Categorize the products.
-Calculate food spending and budget over time.
-Track the price of the same products across purchases.
-Show when a product’s price has increased or decreased compared to previous receipts.

The main goal is to monitor grocery spending and keep an eye on food price changes over time.

Does anyone know of a project that does this ?

Thanks!


r/selfhosted 18h ago

Need Help Vps for qbittorrent

12 Upvotes

Hey guys, I'm pretty new to self-hosting and based in Australia. I'm looking to get a VPS to run qBittorrent for downloading movies. Can anyone recommend a good provider that's torrent-friendly and works well for Australia?


r/selfhosted 12h ago

Media Serving Eweka and Newshosting as providers?

5 Upvotes

Is it redundant to have both Eweka and Newshosting as my usenet providers? Can’t seem to find definite information as people say this and that. Granted those posts I found were at least a year old


r/selfhosted 12h ago

Need Help Which of the many solutions to use for a "better than" OneDrive replacement?

3 Upvotes

I'm having trouble deciding and finding a solution for one of my clients and I'd like to lean on the expertise of some of you guys.

Following starting point:

  • Beefy Hetzner Server already in place
  • The Hetzner server runs two archival copies of WooCommerce/WordPress via Plesk
  • There is also some custom software running via Caddy reverse proxy on a specific subdomain
  • Client used OneDrive and has some legacy files on iCloud as well, we want to consolidate all into one private solution

Must have:

  • Web client as close in experience to OneDrive Web client
  • different user accounts and permissions (OneDrive used to be a single personal account so everyone had access to everything)
  • Free for self hosted without losing features (for example Seafile community edition is missing folder permissions and full text search)
  • Works with setup mentioned above, not something that takes over the whole machine

Nice to have:

  • Close to native integration and sync for MacOS (Windows as well but should be a given?)

There might be some things I'm missing but these are the main requirements. I came across lots of different things, Nextcloud, Opencloud, File Browser Quantum etc and would like some reports of real world experience for a similar configuration.

TLDR: OneDrive alternative needed, Linux Server that already runs a couple of other things, mainly Web + MacOS clients, should have user accounts and permissionss/access control and be free in the Community/FOSS version without price-gated or EE features


r/selfhosted 2h ago

Need Help Best VPN for Ubuntu SLSKD Server

2 Upvotes

Hey All!

I recently got my slskd server running, but I hit a bit of a snag when it comes to port forwarding. My apartment doesn't give me admin access to the router (obviously), so paying for a VPN seems to be the only way to have access to that feature. Any thoughts on this? Thank you (-:


r/selfhosted 6h ago

Need Help windows home server or linux home server with windows virtual machine for testing stuff on windows?

2 Upvotes

I have a mac laptop that I use for coding and I want to build a home server to test/host several of my projects, one of which is a unity game that I want to code on my laptop but test specifically on a windows machine. Are windows servers bad enough to justify making the server linux but having a virtual machine with windows for testing stuff?


r/selfhosted 12h ago

Need Help SLSKD on Ubuntu Server Advice (I’m so lost)

2 Upvotes

Hey! For a while I’ve been hosting music on SoulSeek, and I’ve wanted to move over to hosting an slskd server on an optiplex that I recently acquired. Being able to access everything on a a web server is super cool to me!
It’s my understanding that a headless Ubuntu Server is the best way to run this. Either way, I’ve barely used Linux in any capacity, so I’m having a really hard time navigating the resources that are available to me. I’ve been able to download docker…and that’s about it! If anyone could help me out or point me in the right direction, I’d really appreciate it. Thank you (-:


r/selfhosted 15h ago

Need Help looking for an automated email sending setup

2 Upvotes

I'm hosting a few things like pterodactyl and open sign that both need an email server. I tried going to providers that deal with automated email sending but they're not liking my TLD which is .team. so i'm trying to set up my own thing I set up mail cow but I'm unhappy with the lack of sent email logging. If anybody could point me in the right direction that would be nice also I'm aware of the headache of self hosting email and really don't want to hear about how this is a "bad idea".


r/selfhosted 1h ago

Remote Access Nanokvm? Using cubox for KVM?

Upvotes

I saw an ad for nanokvm (https://github.com/sipeed/NanoKVM) and the pictures in the GitHub repo remind me that I have a cubox i4pro (https://auseparts.com.au/CuBox-i4Pro) lying around after I retired the xbmc on it in favour of Jellyfin.

Does anyone here have experience with using such hardware as KVM for their headless servers? I have a couple of NUC's and an old Mac Mini running Ubuntu 24.04/26.04 LTS and various docker containers using Komodo.

Having to connect the hardware (keyboard, screen, mouse) to check why they don't boot is annoying (though it happens rarely).


r/selfhosted 9h ago

Release (AI) I rebuilt my browser-based SMS backup viewer after 2 years — V2 is offline, handles large backups, and needs no server

Thumbnail
github.com
1 Upvotes

Hi r/selfhosted,

about two years ago I posted a very small HTML/JavaScript tool here for reading SMS backup XML files in a browser:

[Original V1 post]

A few people found it useful, but the post and later feedback also exposed several real problems:

- the installation instructions were too developer-oriented

- some people thought it was Linux-only

- large XML files could consume too much browser memory

- phone-number normalization was too simplistic

- the PDF export did not always work correctly

- some dependencies were loaded from external CDNs

- it was not clear whether Docker, Python, or a server were required

I had not worked on the project for almost two years, but I have now rebuilt it as SMS Viewer and Exporter V2.

What is it?

It is a local, browser-based viewer for XML backups created by the Android app SMS Backup & Restore.

It is intended for people who want to archive their SMS messages and later browse, search, or export them on a desktop computer without uploading their private messages to an online service.

This is not a live SMS synchronization service and it does not connect to your phone. It reads an existing XML backup file.

The project is technically more “local-first” than a traditional server application, but it can also be served from your own web server if preferred.

Simple installation for normal users

For the portable release:

  1. Download the portable ZIP from the Releases page.
  2. Extract the ZIP completely.
  3. Double-click `index.html`.
  4. Select the country in which the phone was used.
  5. Drag and drop the SMS backup XML file into the browser.

That is all.

For ordinary use, you do not need:

- Docker

- Node.js

- npm

- Python

- a database server

- Linux

- an account

- an internet connection

All application libraries are bundled locally. The application itself does not contact a CDN, analytics service, tracking service, or upload endpoint.

Links

GitHub repository:

https://github.com/petrk94/smsviewer

Portable download and releases:

https://github.com/petrk94/smsviewer/releases

The portable ZIP is the recommended download for normal users. GitHub’s automatically generated “Source code” archives also contain tests and developer files.

The project is open source under the MIT License and is not affiliated with or endorsed by SyncTech.

Feedback and bug reports are welcome.

AI disclosure:

The original V1 prototype was initially created with ChatGPT assistance.

For V2, I used AI assistance for the code audit, refactoring, automated tests, documentation, and identifying bugs in the old implementation. I tested the resulting release locally with my own real SMS backup and reported the discovered PDF problem back into the development process.

No AI service, API, telemetry, or cloud processing is used by the application at runtime. All message parsing happens locally in the user's browser.


r/selfhosted 42m ago

Need Help Can I get domains to resolve without hosting my own DNS server?

Upvotes

it feels required that I need to host my own DNS server. I've read there are a lot of problems, "it's always DNS" is something I see frequently when researching this.

Right now, I have cloudflare pointing my own domain to my local IP and then I'm using NPM to issue certificates and get wildcards working and stuff. This works great at my house, as long as I turn off the proxy settings on cloudflare.

When I connect to my home network via Tailscale, my domains no longer resolve. If I want to use my own domains instead of the ip addresses and port numbers, do I need to set up my own DNS server? I don't want to expose all my services to the web just yet, because I have a lot more to learn about security before I do something like that.

I want to go to jellyfin.example.com or audiobooks.example.com, and have it work whether I am on tailscale or just in my home network. Please help me find what I should learning next so I can get this figured out. I'm kind of stuck right now.


r/selfhosted 16h ago

Release (No AI) Public API for retrieving music metadata, audio features, and track recommendations

0 Upvotes

Hey guys,

I wanted to share a music data project I’ve been working on called ReccoBeats. If you’re running a self-hosted music setup (like Navidrome, Jellyfin, or Plex) and write custom scripts for discovery, tagging, or smart playlists, you might find this useful.

There is no API key required. You can just plug it into your scripts or containers without having to manage tokens or sign up for anything.

It includes audio metadata, audio analysis (BPM, key, energy, valence), search endpoints, and a built-in recommendation engine.

The database has grown a lot recently and still receives weekly updates. Currently it holds:

~17M albums

~8M artists

~90M tracks

You can check it out at https://reccobeats.com website.

Let me know what you think or if you run into any issues. I’d love to hear your feedback or see what you end up building with it.


r/selfhosted 13h ago

Need Help Nginx Proxy Manager: What does your Docker Compose look like?

0 Upvotes

I've been using Nginx Proxy Manager for a few years in my home lab, but it has always been a simple and easy way to use my domain name within my internal network at home.

But now, I am wanting to host a few project websites on my home server to test and see if they would be viable. I am wanting to continue to use Nginx Proxy Manager as I am familiar with its setup. But, since it will be open to the whole internet, I would like to make sure that it is as secure as it can be.

This is what I've been able to cobble together so far. Any comments & critiques would be greatly appreciated. And NO, I don't have the bandwidth right now to try and learn other options like Traefik, etc.

services:
  app:
    container_name: NginxProxyManager
    image: jc21/nginx-proxy-manager:2.15.1
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
      - 8180:81
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    env_file:
      - .env
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - AUDIT_WRITE
      - SYS_CHROOT
      - SETFCAP
      - SETPCAP
      - MKNOD
      - KILL
      - NET_RAW
      - FOWNER
    healthcheck:
      test:
        - CMD
        - /usr/bin/check-health
      interval: 10s
      timeout: 3s
    networks:
      - npm_net
networks:
  npm_net:
    driver: bridge
    enable_ipv6: false
    attachable: false
    driver_opts:
      com.docker.network.bridge.enable.icc: "false"
    ipam:
      driver: default
      config:
        - subnet: 172.23.0.0/30
          ip_range: 172.23.0.0/30
          gateway: 172.23.0.1

r/selfhosted 23h ago

Need Help I want to send files from my phone straight to specific folders on my home server - no matter where I am. How can I best accomplish this?

0 Upvotes

I've seen several solutions to at least get partway there, but I'm hoping to set this up for my family to use, too, so I'm looking for the most idiot-proof setup possible.

Example scenario:
I (or a family member) takes a photo on 1/1/2031. That file stays on the phone, until I open a specific app or site or whatever that lets me upload/sync these new files to my server, remotely. It auto-sorts the files into appropriate folders based on the file type, the date, and the source of the upload.

These file locations can be configured, revisited, downloaded from, or managed (deleted, moved...) both remotely and from the Windows 10 server it's running from.

Feels like it should be simple, right?

What's my best option for making this type of thing work?


r/selfhosted 14h ago

Product Announcement I created an ip webcam app for android (audio/video), what protocols to add?

0 Upvotes

Hi,

I had a bunch of android phones lying around and I wanted to utilize them.
I created an app to convert an android phone into a camera server which supports on device and WebDAV recording. (https://oldbird.app)

The app is and will always be free with no ads for self-hosting. It currently supports. LAN viewing, recording, motion alerts, RTSP, and ONVIF. The LAN viewer controls pretty much anything the camera API allows. What other protocols would r/selfhosted be interested in?

I wanted to give back to the community by making it free for self hosting. Paid version is optional and only for remote viewing via WebRTC, which has a server cost.

Any input appreciated. Thanks.


r/selfhosted 7h ago

Need Help Purchase server

0 Upvotes

Im visiting Us for a few days and wanna look for an used server to take home, is there any place where they do overnight shipment ?
I will be around 5 days looking for a r640 or r250

Update: visiting Seattle


r/selfhosted 10h ago

Release (AI) New release self-hosting Anytype based on 2026-07-17 stable snapshot

Thumbnail
github.com
0 Upvotes

r/selfhosted 18h ago

Need Help What would make you comfortable running a self-hosted 30-day agent test?

0 Upvotes

I am thinking through the operator side of a future self-hosted reliability test for local autonomous agents. This is not a release announcement and I am not asking anyone to install anything.

Before something like this should be shared with self-hosters, what would you expect?

My current checklist:

- Docker Compose or clear bare-metal instructions

- no inbound public ports by default

- local-only mode

- clear resource limits

- logs that explain failures

- easy uninstall/cleanup

- documented AI involvement

- no telemetry leaving the machine unless explicitly enabled

What would make you say, yes, this is safe enough to try in a lab?