A linux CLI implementation for Hillstone Secure Connect VPN Client
- Uses AES-CBC as encryption algorithm instead of AES-CBC
- Uses HMAC-MD5-96 authentication algorithm instead of HMAC-SHA1-96
- Read configurations from an user-specified file
- Process the route table returned from VPN server, and allow custom routes
- Add a systemd service to startup the VPN at system startup
- Use nmcli instead of iproute2 for network configuration
- Fixes syntax deprecation errors on python 3.12+
- python 3
- scapy (Python module)
- cryptography (Python module)
- nmcli
- Clone this repository:
git clone https://github.com/zCanek/hillstonux.git- Create a virtual environment in python and get in
cd hillstonux
python -m venv .venv
source .venv/bin/activate- Install python dependencies
pip install -r requirements.txt- Modify config.json with your ip, port and credentials
{
"server": "149.xx.xx.xx",
"port": 0000,
"user": "username",
"pass": "password",
"routes": [
"10.6.0.0/24",
"10.7.0.0/24"
]
}sudo ./hillstonux -c config.jsonIt can also be started as a systemd service. An example service file is provided in systemd/hilldustWrapper.service. You may also use the install.py to configure the systemd service and start it automatically at system startup
sudo ./install.py -c config.json