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.
Every account gets one normal Hostish hostname:
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).
Host a Minecraft Java server from your own computer through the dedicated Hostish Minecraft tunnel.
Keep your real domain in the address bar instead of redirecting it.
Root domains can point an A record at 76.13.110.82.
Subdomains can use connect.hostish.site as a stable CNAME target.
No extra subdomains are created automatically. The hoster starts with a blank slate.
Web subdomains must be explicitly present in HOST_ROUTES.
The VPS only authorizes TLS and web routing for explicitly linked hostnames.
WEBSITE_DIR./api/ go to a local backend.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.
Hostish is intentionally customizable.
The settings at the top of agent.py control your web hosting behavior.
HOST_ROUTESThe Minecraft-specific agent contains only the settings and networking needed for Minecraft.
minecraft-agent.py before running it.
The agent does not ask for credentials after startup.
The Minecraft agent can optionally start your Minecraft server automatically when Hostish starts.
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.
START_BAT = r"" if you prefer to start your Minecraft server manually.
An empty value is completely valid.
Minecraft hosts can optionally choose an HTML file to show when someone opens their Hostish address in a normal web browser.
Then visiting:
will display that HTML page while the Minecraft agent is connected.
HOMEPAGE_FILE = r"" to disable the browser homepage.
A self-contained HTML file with its CSS and JavaScript inside it works best.
Custom domains use DNS ownership verification before they can be linked.
The simple website presence API stays unrestricted:
Detailed web traffic and normal agent diagnostics remain private in Dashboard.
agent.py.USERNAME, PASSWORD, WEBSITE_DIR, and your preferred mode.python agent.py.https://USERNAME.hostish.site/.minecraft-agent.py.USERNAME and PASSWORD inside the Python script.MINECRAFT_HOST = "127.0.0.1" and MINECRAFT_PORT = 25565 unless your server uses something different.START_BAT to your Minecraft server's start.bat so Hostish can start it automatically.START_BAT is blank, start your Minecraft server yourself before players join.HOMEPAGE_FILE to an HTML file you want normal browser visitors to see.python -m pip install websockets certifi.python minecraft-agent.py.