Skip to content

shellfly/boring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boring

"What I cannot create, I do not understand."

-- Richard Feynman

A toy project to help myself understand socks5 protocol and TCP tunneling. The name is inspired by The Boring Company

Both Client and Server are working as a TCP proxy. The Client implements socks5 protocol to accept socks5 incoming proxy request and then send the request to Server, the Server access target host and copy data back to client. The communication between Client and Server is encrypted by specified method and key.

Application <- socks5 -> Client <= encrypted data => Server <- tcp -> Internet

Usage

Build

make

Run server

A tcp server handling encryption connection

# running on Linux
./server-linux -method aes -key {key}

Run client

A socks5 server handling incoming proxy request, encryption data and send to server.

# running on Mac
./client-darwin -method aes -key {key}