A network tool to help you establish a secure tunnel proxy in an insecure network environment.
The key used for each connection is different. During the handshake, the key is randomly generated by the server, then use RAS encrypted and sent to the client
Supported encryption methods:
- aesgcm128
- aesgcm256
- chacha20poly1305
- xchacha20poly1305
- xsalsa20poly1305
Linux:
git clone https://github.com/Si-Huan/nothing.git nothing & cd nothing
go build
$ nothing -h
Usage of nothing:
-c string
client connect adress
-e string
cipher type (default "chacha20poly1305")
-genkey
Generate key file
-key string
self privatekey file path (default "nothing.key")
-listcipher
List supported ciphers
-pub string
the other publickey file path (default "nothing.pub")
-s string
server listen address
Use nothing -genkey
to generate two pairs of keys.
$ ls
$ nothing -genkey
$ ls
nothing_c.key nothing_c.pub nothing_s.key nothing_s.pub
The default file names are nothing_c.key
, nothing_c.pub
, nothing_s.key
and nothing_s.pub
.
The server use nothing_c.pub
and nothing_s.key
while the client use nothing_c.key
and nothing_s.pub
Run as a server and listen at port 11106.
nothing -s 0.0.0.0:11106 -key nothing_s.key -pub nothing_c.pub
Run as a client
nothing -c 127.0.0.1:1680 -s `your server ip`:11106 -key nothing_c.key -pub nothing_s.pub
It will start a socks5 proxy on 127.0.0.1:1680