
# Tunnel Please
A lightweight SSH-based tunnel server
[](https://sonar.fossy.my.id/dashboard?id=tunnel-please)
[](https://sonar.fossy.my.id/dashboard?id=tunnel-please)
[](https://sonar.fossy.my.id/dashboard?id=tunnel-please)
[](https://sonar.fossy.my.id/dashboard?id=tunnel-please)
[](https://sonar.fossy.my.id/dashboard?id=tunnel-please)
[](https://sonar.fossy.my.id/dashboard?id=tunnel-please)
[](https://sonar.fossy.my.id/dashboard?id=tunnel-please)
## Features
- SSH interactive session with real-time command handling
- Custom subdomain management for HTTP tunnels
- Dual protocol support: HTTP and TCP tunnels
- Real-time connection monitoring
## Requirements
- Go 1.18 or higher
- Valid domain name for subdomain routing
## Environment Variables
The following environment variables can be configured in the `.env` file:
| Variable | Description | Default | Required |
|---------------------|-----------------------------------------------------------------------------|-------------------------|---------------------|
| `DOMAIN` | Domain name for subdomain routing | `localhost` | No |
| `PORT` | SSH server port | `2200` | No |
| `HTTP_PORT` | HTTP server port | `8080` | No |
| `HTTPS_PORT` | HTTPS server port | `8443` | No |
| `KEY_LOC` | Path to the private key file | `certs/privkey.pem` | No |
| `TLS_ENABLED` | Enable TLS/HTTPS | `false` | No |
| `TLS_REDIRECT` | Redirect HTTP to HTTPS | `false` | No |
| `TLS_STORAGE_PATH` | Path to store TLS certificates | `certs/tls/` | No |
| `ACME_EMAIL` | Email for Let's Encrypt registration | `admin@