Skip to content

lightswisp/rbvpn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby VPN Client and Server

This is a self made VPN protocol written in ruby.

It uses tun/tap driver to capture all traffic and tunnel it via secured tunnel.

I used GTK3 for the GUI and rb_tuntap for tun/tap interface manipulation. And a bit of iptables rules for NAT.

Demo

Dependencies

  • Ruby
  • bundler (gem)
  • ruby-dev
  • build-essential

Installation

Server

Don't forget to create your config file!

For the cert.pem and key.pem run: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365

  • Config Example
{
        "certificate": "cert.pem",
        "private_key": "key.pem",
        "network": "192.168.0.0/24",
        "interface": "eth0",
        "tun_interface": "tun0",
        "max_buffer": 655360,
        "port": 9578,
        "login": "ryuk",
        "password": "123456789"
}
  • Installation
sudo apt update && sudo apt install -y ruby ruby-dev build-essential
git clone https://github.com/lightswisp/RbVPN.git
cd RbVPN
sudo bundle install
cd bin/
./server -c config.json -v

Client

  • Config Example
{
        "interface": "wlan0",
        "tun_interface": "tun0",
        "max_buffer": 655360,
        "ip": "167.99.236.107",
        "sni_host": "example.com",
        "port": 9578,
        "login": "ryuk",
        "password": "123456789"
}
  • Installation
sudo apt update && sudo apt install -y ruby ruby-dev build-essential
git clone https://github.com/lightswisp/RbVPN.git
cd RbVPN
sudo bundle install
cd bin/
./client

About

Ruby Custom made VPN client/server protocol

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors