libanonvpn (home)
Library for providing and connecting to VPN's over the I2P network. Daemon, web client, and terminal client. This is an automatically configuring, automatically deploying, automatically multihopping pseudonymous VPN.
For now, the recommended way to install is with go get
go get -u -d -tags cli github.com/RTradeLtd/libanonvpn/cmd/anonvpn Start by creating a server configuration file like the one found in /etc/anonvpn/anonvpn.ini. Then run the server using that file:
./anonvpn -file server.ini When the server is started, it will create a minimum viable configuration file for clients. You can run with a similar command:
./anonvpn -file client.ini Usage of ./cmd/anonvpn/anonvpn: -accesslist string Type of access list to use, can be "whitelist" "blacklist" or "none". (default "none") -addr string (client) IP address of virtual network interface (default "10.79.0.2") -canal Run the canal subcommand to configure firewall rules(Experimental). -chromeuser string user to run Chrome as, usually your desktop user (default "idk") -client Client mode(true or false). (default true) -clientconf string (Server Only) Output a client config file to the specified path (default "client.ini") -closeidle Close tunnel after idle for a specified time(true or false). -closeidletime int Close tunnel group after X (milliseconds). (default 600000) -compression Uze gzip(true or false). -css string custom CSS for web interface (default "css/styles.css") -destination string Destination to connect client's to by default. -directory string Directory to save tunnel configuration file in. -encryptleaseset Use an encrypted leaseset(true or false). (default true) -file string Use an ini file for configuration(config file options override passed arguments for now). (default "none") -hashhash string 32-word mnemonic representing a .b32.i2p address(will output .b32.i2p address and quit) -host string (server) IP address of virtual network interface (default "10.79.0.1") -inbackups int Set inbound tunnel backup quantity(0 to 5). (default 3) -inlength int Set inbound tunnel length(0 to 7). (default 1) -inquantity int Set inbound tunnel quantity(0 to 15). (default 5) -invariance int Set inbound tunnel length variance(-7 to 7). -javascript string custom JS for web interface (default "js/scripts.js") -k string key for encrypted leaseset (default "none") -littleboss string instruct the littleboss: start: start and manage this process using service name "name" stop: signal the littleboss to shutdown the process status: print statistics about the running littleboss reload: restart the managed process using the executed binary bypass: disable littleboss, run the program directly (default "bypass") -name string Tunnel name, this must be unique but can be anything. (default "anonvpn") -outbackups int Set outbound tunnel backup quantity(0 to 5). (default 3) -outlength int Set outbound tunnel length(0 to 7). (default 1) -outquantity int Set outbound tunnel quantity(0 to 15). (default 5) -outvariance int Set outbound tunnel length variance(-7 to 7). -password string password for web admin panel -persistident Use saved file and persist tunnel(If false, tunnel will not persist after program is stopped. -pk string private key for encrypted leaseset (default "none") -psk string private signing key for encrypted leaseset (default "none") -reduceidle Reduce tunnel quantity when idle for a specified time(true or false). -reduceidlequantity int Reduce idle tunnel quantity to X (0 to 5). (default 3) -reduceidletime int Reduce tunnel quantity after X (milliseconds). (default 600000) -samhost string SAM host (default "127.0.0.1") -samport string SAM port (default "7656") -signaturetype string Signature type -skipi2cp Skip I2CP Port check for standalone router -start Start a tunnel with the passed parameters(Otherwise, they will be treated as default values). (default true) -string string Gateway to forward requests recieved by the server with canal(Experimental) (default "192.168.0.1") -username string username for web admin panel (default "go-anonvpn") -webface Start web administration interface (default true) -webport string Web interface port (default "7959") -zeroin Allow zero-hop, non-anonymous tunnels in(true or false). -zeroout Allow zero-hop, non-anonymous tunnels out(true or false).