Your guide to exposing localhost securely with HTTP and TCP tunnels.
HaxorPort is a secure tunneling service that allows you to easily expose your local services to the internet. HaxorPort supports HTTP, HTTPS, and TCP tunnels with various configuration options and authentication.
Key features of HaxorPort include:
curl -sSL https://raw.githubusercontent.com/haxorport/haxorport-go-client/main/install.sh | bash
haxorport auth-token your-auth-tokenGet your auth token from your HaxorPort account dashboard.
haxorport http -p 8080
For more detailed installation instructions, visit the installation page.
HaxorPort supports HTTP tunnels with various configuration options:
haxorport http -p 8080
haxorport http -p 8080 --auth basic --username user --password pass
haxorport http -p 8080 --auth header --header "X-API-Key" --value "secret-key"
HTTPS tunnels are supported automatically with a reverse connection architecture. The server detects whether requests come via HTTP or HTTPS and forwards them to the client through a WebSocket connection.
HaxorPort supports TCP tunneling to expose local TCP services (such as SSH, databases, or other services) to the internet:
haxorport tcp -p 22 # Access: ssh user@haxorport.online -p 2222
haxorport tcp -p 3306 # Access: mysql -h haxorport.online -P 3306 -u user -p
haxorport tcp -p 5432 # Access: psql -h haxorport.online -p 5432 -U user -d database
If --remote-port
is not specified, the server will assign a remote port automatically.
You can add tunnels to the configuration for later use:
haxorport config add-tunnel --name web --type http --port 8080 --subdomain myapp haxorport config add-tunnel --name ssh --type tcp --port 22 --remote-port 2222
To view the current configuration:
haxorport config show
If you see too many INFO log messages when running the application, you can change the log level to warn
as follows:
# Edit configuration file sudo nano /etc/haxorport/config.yaml # For Linux nano ~/.haxorport/config/config.yaml # For Windows (WSL) nano ~/Library/Preferences/haxorport/config.yaml # For macOS
Change the line log_level: info
to log_level: warn
, then save the file.