Hostish

Host websites, local apps, and Minecraft servers from your own device without normal router port forwarding. Created, owned and maintained by mekabrine.

Hostish is a reverse-tunnel hosting service. Run an editable Hostish agent on your device and Hostish makes your services reachable from the internet. Use the normal agent for websites and apps, or the dedicated Minecraft agent for Minecraft Java servers. Created, owned and maintained by mekabrine.

Web hosting uses Hostish's HTTP/WebSocket reverse-tunnel protocol. Minecraft hosting uses a separate raw TCP tunnel carried through an authenticated outbound WebSocket to the Hostish VPS.

Dumb
Nerd
Web: Your device → outbound Hostish tunnel → Hostish VPS → HTTPS visitors Minecraft: Your server → Minecraft agent → Hostish VPS → Minecraft players

Your Hostish address

Every account gets one normal Hostish hostname:

https://USERNAME.hostish.site/

The same Hostish account can be used by both the normal website agent and the dedicated Minecraft agent, but it is recommended to create a new Hostish account if you are wanting to start hosting a Minecraft server aswell as host a website since each agent only does their function (though it is possible to mere the two scripts together, but thats for you to do).

Minecraft server hosting

Minecraft Java Raw TCP Port 25565

Host a Minecraft Java server from your own computer through the dedicated Hostish Minecraft tunnel.

USERNAME.hostish.site ↓ Hostish VPS :25565 ↓ Minecraft tunnel ↓ minecraft-agent.py ↓ 127.0.0.1:25565

Use your own domain

Keep your real domain in the address bar instead of redirecting it.

example.com → Hostish → your agent
  • Add the domain in Dashboard.
  • Verify ownership using one TXT record.
  • Point the domain at Hostish.
  • Confirm linking with your Hostish password.
  • HTTPS certificates are handled automatically.

Root domains can point an A record at 76.13.110.82. Subdomains can use connect.hostish.site as a stable CNAME target.

Explicit subdomains

No extra subdomains are created automatically. The hoster starts with a blank slate.

api.example.com files.example.com test.USERNAME.hostish.site

Web subdomains must be explicitly present in HOST_ROUTES.

The VPS only authorizes TLS and web routing for explicitly linked hostnames.

Static, proxy, or hybrid

Static files Local apps Hybrid routing
  • Static: serve files directly from WEBSITE_DIR.
  • Proxy: send everything to a local Flask, FastAPI, Node, or other HTTP application.
  • Hybrid: serve files normally while selected paths such as /api/ go to a local backend.

Modern web transport

Streaming uploads Streaming downloads SSE WebSockets Video seeking

The normal Hostish agent supports streamed requests and responses, cancellation, backpressure, proxied browser WebSockets, and long-running responses.

Minecraft does not use the HTTP proxy. Its dedicated agent forwards Minecraft traffic as raw TCP data.

The agent stays yours

Hostish is intentionally customizable. The settings at the top of agent.py control your web hosting behavior.

  • Site folders and static-file security
  • Proxy destinations and path routing
  • CORS and cache headers
  • Host-specific HOST_ROUTES
  • Optional hoster-controlled limits and timeouts

Simple Minecraft agent

The Minecraft-specific agent contains only the settings and networking needed for Minecraft.

USERNAME = "your_username" PASSWORD = "your_password" MINECRAFT_HOST = "127.0.0.1" MINECRAFT_PORT = 25565 START_BAT = r"" HOMEPAGE_FILE = r""
Edit your Hostish username and password directly inside minecraft-agent.py before running it. The agent does not ask for credentials after startup.

Automatic Minecraft server startup

The Minecraft agent can optionally start your Minecraft server automatically when Hostish starts.

START_BAT = r"C:\path\to\server\start.bat"

When configured, Hostish checks whether your Minecraft server is already running. If it is not, the agent starts start.bat and waits for port 25565 before bringing the tunnel online.

Leave START_BAT = r"" if you prefer to start your Minecraft server manually. An empty value is completely valid.

Optional Minecraft browser homepage

Minecraft hosts can optionally choose an HTML file to show when someone opens their Hostish address in a normal web browser.

HOMEPAGE_FILE = r"C:\path\to\minecraft-home.html"

Then visiting:

https://USERNAME.hostish.site/

will display that HTML page while the Minecraft agent is connected.

Leave HOMEPAGE_FILE = r"" to disable the browser homepage. A self-contained HTML file with its CSS and JavaScript inside it works best.

Domain security

Custom domains use DNS ownership verification before they can be linked.

  • Adding new domains has a 30-second cooldown.
  • The final Link action requires your account password.
  • Unlinking also requires your password.
  • Unlinking stops Hostish routing immediately.

Public hosting-status API

The simple website presence API stays unrestricted:

GET https://hostish.site/api/status/USERNAME

Detailed web traffic and normal agent diagnostics remain private in Dashboard.

Start website hosting

  1. Create a Hostish account.
  2. Download agent.py.
  3. Set USERNAME, PASSWORD, WEBSITE_DIR, and your preferred mode.
  4. Run python agent.py.
  5. Open https://USERNAME.hostish.site/.
Security: only serve files you intend to make public.

Minecraft server setup

  1. Create a Hostish account.
  2. Download minecraft-agent.py.
  3. Edit USERNAME and PASSWORD inside the Python script.
  4. Leave MINECRAFT_HOST = "127.0.0.1" and MINECRAFT_PORT = 25565 unless your server uses something different.
  5. Optionally set START_BAT to your Minecraft server's start.bat so Hostish can start it automatically.
  6. If START_BAT is blank, start your Minecraft server yourself before players join.
  7. Optionally set HOMEPAGE_FILE to an HTML file you want normal browser visitors to see.
  8. Install the required packages once with python -m pip install websockets certifi.
  9. Run python minecraft-agent.py.
  10. Give players the Minecraft address printed in the terminal.
# Optional automatic server start: START_BAT = r"C:\path\to\server\start.bat" # Or start Minecraft manually: START_BAT = r"" # Optional browser homepage: HOMEPAGE_FILE = r"C:\path\to\minecraft-home.html" # Or disable the webpage: HOMEPAGE_FILE = r""