Enhance README with detailed usage and configuration examples
All checks were successful
Release Tag / release (push) Successful in 8s
All checks were successful
Release Tag / release (push) Successful in 8s
- Added a new section explaining how Teleport works, including a flow diagram. - Provided example configurations for both server and client in YAML format. - Clarified usage scenarios for connecting to remote services through the encrypted tunnel.
This commit is contained in:
63
README.md
63
README.md
@@ -2,6 +2,69 @@
|
|||||||
|
|
||||||
Teleport is a secure port forwarding tool that allows you to forward ports between different instances with end-to-end encryption.
|
Teleport is a secure port forwarding tool that allows you to forward ports between different instances with end-to-end encryption.
|
||||||
|
|
||||||
|
## How It Works
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────┐ Encrypted Tunnel ┌─────────────────┐
|
||||||
|
│ Client A │◄────── Port 9000 ──────►│ Teleport │
|
||||||
|
│ │ │ Server │
|
||||||
|
│ │ │ │
|
||||||
|
│ ┌───────────┐ │ │ ┌───────────┐ │
|
||||||
|
│ │teleport │ │ │ │teleport │ │
|
||||||
|
│ │client │ │ │ │server │ │
|
||||||
|
│ └───────────┘ │ │ └───────────┘ │───────────┐
|
||||||
|
└─────────────────┘ └─────────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ Ports 8080,2222 │ Ports 80,22 │
|
||||||
|
│ (local) │ (targets) │
|
||||||
|
▼ ▼ ▼
|
||||||
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||||
|
│ User connects │ │ Remote │ │ Remote │
|
||||||
|
│ to localhost: │ │ Web Server │ │ SSH Server │
|
||||||
|
│ 8080, 2222 │ │ (192.168.1.100) │ │ (192.168.1.200) │
|
||||||
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||||
|
|
||||||
|
Flow: User → Client:8080,2222 → Encrypted Tunnel (Port 9000) → Server:80,22 → Remote Services
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** The different ports (8080/2222 vs 80/22) are shown for demonstration purposes only. Client and service ports can be identical - teleport will handle the port mapping transparently.
|
||||||
|
|
||||||
|
### Example Configuration
|
||||||
|
|
||||||
|
**Server Configuration** (`server.yaml`):
|
||||||
|
```yaml
|
||||||
|
instance_id: teleport-server-01
|
||||||
|
listen_address: :9000
|
||||||
|
remote_address: ""
|
||||||
|
ports:
|
||||||
|
- "tcp://192.168.1.100:80"
|
||||||
|
- "tcp://192.168.1.200:22"
|
||||||
|
encryption_key: your-secure-encryption-key-here
|
||||||
|
keep_alive: true
|
||||||
|
read_timeout: 30s
|
||||||
|
write_timeout: 30s
|
||||||
|
```
|
||||||
|
|
||||||
|
**Client Configuration** (`client.yaml`):
|
||||||
|
```yaml
|
||||||
|
instance_id: teleport-client-01
|
||||||
|
listen_address: ""
|
||||||
|
remote_address: server.example.com:9000
|
||||||
|
ports:
|
||||||
|
- "tcp://80:8080"
|
||||||
|
- "tcp://22:2222"
|
||||||
|
encryption_key: your-secure-encryption-key-here
|
||||||
|
keep_alive: true
|
||||||
|
read_timeout: 30s
|
||||||
|
write_timeout: 30s
|
||||||
|
```
|
||||||
|
|
||||||
|
**Usage**:
|
||||||
|
- User connects to `localhost:8080` → Traffic flows through encrypted tunnel on port 9000 → Server forwards to remote web server at `192.168.1.100:80`
|
||||||
|
- User connects to `localhost:2222` → Traffic flows through same encrypted tunnel on port 9000 → Server forwards to remote SSH server at `192.168.1.200:22`
|
||||||
|
|
||||||
|
Both services share the same encrypted tunnel connection!
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- **Secure Encryption**: All traffic is encrypted using AES-GCM encryption with PBKDF2 key derivation
|
- **Secure Encryption**: All traffic is encrypted using AES-GCM encryption with PBKDF2 key derivation
|
||||||
|
|||||||
Reference in New Issue
Block a user