/nothing

Primary LanguageGoMIT LicenseMIT

nothing

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

Install

Linux:

git clone https://github.com/Si-Huan/nothing.git nothing & cd nothing
go build

Usage

$  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

Generate keys

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

Server

Run as a server and listen at port 11106.

nothing -s 0.0.0.0:11106 -key nothing_s.key -pub nothing_c.pub

Client

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

License

MIT License