A lightweight local proxy client for Minewire - it exposes a SOCKS5 or HTTP CONNECT proxy on your machine and tunnels traffic to a Minewire server disguised as Minecraft protocol traffic.
This is the CLI counterpart to the Minewire server. If you're looking for the Flutter/Android client, that's a separate project. (And frankly speaking, it's partly outdated, so it's better not to use it for now)
- SOCKS5 or HTTP CONNECT local proxy - point your browser, curl, or system proxy settings at it
- AES-GCM Encryption - matches the server, keyed from your shared password
- Minecraft Camouflage - performs a real handshake/login/settings sequence before tunneling
- Stream Multiplexing - multiple simultaneous connections over one tunnel (yamux)
- Auto-Reconnect - maintains the tunnel session in the background with bounded backoff
- Fast / Realistic modes - optionally throttle upload to match a server running in realistic mode
- Go 1.24+ (only if building from source)
- A running Minewire server and a password that's whitelisted on it
Download the binary for your platform from Releases, place it next to client.yaml, edit the config, and run it.
git clone https://github.com/dmitrymodder/minewire-cli.git
cd minewire-cli
go build -o minewire-cli ./src/
./minewire-cliEdit client.yaml:
local_port: ":1080"
server_address: "IP_HERE:25565"
password: "PASSWORD_HERE"
proxy_type: "http" # "socks5" or "http"
mode: "fast" # "fast" or "realistic" - should match your server's mode
realistic_bandwidth_kb: 128
realistic_burst_kb: 512proxy_type: "socks5"gives you a plain SOCKS5 proxy onlocal_port(no auth).proxy_type: "http"gives you an HTTP proxy that supportsCONNECT(works for HTTPS and most system-wide "HTTP proxy" settings; plain unencrypted HTTP-only requests aren't proxied in this MVP).modeonly matters if the server you're connecting to is also running inrealisticmode - throttling only one direction of the tunnel doesn't accomplish anything.
./minewire-cliThen point your browser / OS / app at 127.0.0.1:1080 using the proxy type you configured.
src/main.go- entry point, config loading, local listener startupsrc/tunnel.go- Minecraft handshake, encrypted yamux tunnel, session management, background camouflage trafficsrc/proxy.go- SOCKS5 and HTTP CONNECT handlerssrc/protocol.go- Minecraft protocol primitives (VarInt, String, etc.) - kept in sync with the server'ssrc/throttle.go- token-bucket rate limiter used for realistic-mode upload throttlingclient.yaml- client configuration
MIT