Independent tunneling protocol is now in stable stage git-master repository.
Like other VPN this app just bypass network traffic like tcp,udp including dns. with wide-custom payload and more flexibility. unlike openvpn / ssh tunnel using Concurrent Transport, we use Multiplex Transport (like shadowsock) model with more flexibility to custom Transport model. :)
# apt update
# apt install git
# yum update
# yum install git
# git clone https://github.com/noobz-id/noobzvpns.git
# cd noobzvpns/
# ./install.sh
# git clone https://github.com/noobz-id/noobzvpns.git
# cd noobzvpns/
# ./uninstall.sh
systemctl start noobzvpns.service
systemctl restart noobzvpns.service
systemctl stop noobzvpns.service
systemctl enable noobzvpns.service
systemctl disable noobzvpns.service
systemctl status noobzvpns.service -l
journalctl -u noobzvpns.service
/etc/noobzvpns/config.json
key | range | type | example | description |
---|---|---|---|---|
tcp_std | 1-65535 | number-array | [80,8080] | server port of tcp plain protocol |
tcp_ssl | 1-65535 | number-array | [443, 4433] | server port of tcp with ssl protocol |
ssl_cert | can't be empty | string-path | "/etc/noobzvpns/cert.pem" | ssl certificate, you can create self-signed certificate on your own. or using letsencrypt/certbot as alternative |
ssl_key | can't be empty | string-path | "/etc/noobzvpns/key.pem" | ssl privatekey, both ssl_cert & ssl_key you can create your own. or using free alternative like letsencrypt with certbot |
ssl_version | SSLv2, SSLv23, TLSv1_1, TLSv1_2, TLSv1_3, AUTO | string-unsensitive-case | AUTO | select spesific SSL/TLS version or set to AUTO for automatic selection (recommended, be flexible to client) |
conn_timeout | 5-60 | number-by-seconds | 60 | give client connection timeout when no data arrived/sended |
dns_resolver | empty or resolv.conf path | string-path | /etc/resolv.conf | dns resolver file, on many distribution like debian/ubuntu/base using /etc/resolv.conf to save dns address (nameserver), you can create and set new one (don't change /etc/resolv.conf) just create file like /etc/resolv.conf with "nameserver dns1", "nameserver dns2", etc. |
http_ok | [cr],[lf][crlf],[lfcr] | smart-string-replacer | "HTTP/1.1 101 Switching Protocols[crlf]Upgrade: websocket[crlf]Connection: Upgrade[crlf][crlf]" | HTTP response for send to client if client detected using HTTP/s transport |
noobzvpn server has default ssl certificate (self-signed certificate) generated by openssl
/etc/noobzvpns/cert.pem
/etc/noobzvpns/key.pem
You can change it using your own certificate or free certificate from Let's Encrypt using cerbot or acme.sh , see configuration details above to settings path for ssl certificate and ssl private key.
Managing user(s) its simple and done by command line, adding user, set expired days, etc. you need a root user / root access to do this.
Register / Add new User followed by Password
noobzvpns --add-user [username] [password]
Blocking registered user for disable tunneling service
noobzvpns --block-user [username]
Unblocking blocked registered user to allow user for tunneling service
noobzvpns --unblock-user [username]
setup for expiration days per-user
noobzvpns --expired-user [username] [days]
Re-new issued date, when user has expired you can re-new the expiration by updating issued date.
noobzvpns --renew-user [username]
Change password for registered user
noobzvpns --password-user [username] [new_password]
Change username for registered user
noobzvpns --rename-user [old_username] [new_username]
Remove/Delete for registered user
noobzvpns --remove-user [username]
WARNING clean up / remove all registered user(s), be careful this action can't be undone and no confirmation after executed.
noobzvpns --remove-all-user
Get specific Info for registered user, like password, issued date, expiration days, status (block/expired/active).
noobzvpns --info-user [username]
Get Info All about registered users like password, issued date, expiration days, status (block/expired/active).
noobzvpns --info-all-user
# noobzvpns --add-user [username] [password] --expired-user [username] [days]
noobzvpns --add-user Admin-123 SeCuRePaSsWoRd456 --expired-user Admin-123 30
noobzvpns
in your terminal / ssh and see the guide.noobzvpns --start-service --debug