Skip to content

Commit 905d6d3

Browse files
dan-vclaude
andcommitted
Add project origin and development story to README
- Mention connection to original awslambdaproxy project - Brief explanation of NAT punching experiment motivation - Credit Claude Code for weekend implementation - Fix README formatting and build artifacts section 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent e41a9b1 commit 905d6d3

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
A QUIC-based NAT traversal proxy that routes traffic through AWS Lambda functions. Uses UDP hole punching and S3 coordination to establish direct QUIC tunnels through NAT devices.
44

5-
![Dashboard](dashboard.png)
5+
This is a follow-up to [awslambdaproxy](https://github.com/dan-v/awslambdaproxy) - I wanted to experiment with NAT punching to establish direct tunnels instead of using API Gateway. After building a working prototype, I had [Claude Code](https://claude.ai/code) implement the full system over a weekend.
6+
7+
![Dashboard](media/dashboard.png)
68

79
## How It Works
810

@@ -52,6 +54,11 @@ The Lambda function acts as an exit node, forwarding tunneled traffic to destina
5254
- AWS CLI configured with Lambda, S3, CloudFormation permissions
5355
- Go 1.21+ (for building from source)
5456

57+
**Setup:**
58+
```bash
59+
lambda-nat-proxy config init
60+
```
61+
5562
**Deploy infrastructure:**
5663
```bash
5764
lambda-nat-proxy deploy
@@ -69,11 +76,11 @@ The system auto-detects deployed resources and handles session management automa
6976
## Commands
7077

7178
```bash
79+
lambda-nat-proxy config init # Create configuration file
7280
lambda-nat-proxy deploy # Deploy AWS infrastructure
7381
lambda-nat-proxy run # Start SOCKS5 proxy server
7482
lambda-nat-proxy status # Show deployment status
7583
lambda-nat-proxy destroy # Remove all AWS resources
76-
lambda-nat-proxy config init # Create configuration file
7784
```
7885

7986
## Performance Modes
@@ -111,21 +118,19 @@ proxy:
111118

112119
**Session Management:**
113120
- Unique session IDs prevent collision between concurrent sessions
114-
- Sessions auto-expire after 8 minutes (Lambda timeout buffer)
115121
- S3 lifecycle rules clean up coordination files after 24 hours
116122
- Automatic session rotation when Lambda functions restart
117123

118124
**QUIC Protocol Benefits:**
119125
- Built-in encryption (TLS 1.3)
120126
- Multiplexed streams (no head-of-line blocking)
121-
- Connection migration support
122127
- Congestion control optimized for varying network conditions
123128

124129
## Building
125130

126131
```bash
127132
make build # Build with embedded dashboard
128-
make docker-build # Build using Docker (no local deps)
133+
make docker-build # Build using Docker (no local deps)
129134
make test # Run all tests
130135
```
131136

0 commit comments

Comments
 (0)