- Notifications
You must be signed in to change notification settings - Fork27
Go implementation of the OpenConnect VPN Protocol for client side development. Engine for AnyLink Secure Client.
License
tlslink/sslcon
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a Golang implementation of theOpenConnect VPN Protocol for client side development.
The released binaries contain a command line program(sslcon) and a VPN service agent(vpnagent), the latter of which should be run as a separate background service with root privileges, so that the front-end UI does not require an administrator authorization every time it starts.
The API is exposed through the WebSocket and JSON-RPC 2.0 protocols, so developers can easily customize a graphical interface that meets their needs.
There is a GUI client example showing how to use this project.
Currently the following servers are supported,
$ ./sslconA CLI application that supports the OpenConnect SSL VPN protocol.For more information, please visit https://github.com/tlslink/sslconUsage: sslcon [flags] sslcon [command]Available Commands: connect Connect to the VPN server disconnect Disconnect from the VPN server status Get VPN connection informationFlags: -h, --help help for sslconUse "sslcon [command] --help" for more information about a command.
sudo ./vpnagent install# uninstallsudo ./vpnagent uninstall
the installed service on systemd linux
sudo systemctl stop/start/restart sslcon.servicesudo systemctl disable/enable sslcon.service
the installed service on OpenWrt
/etc/init.d/sslcon stop/start/restart/status
./sslcon connect -s test.com -u vpn -g default -k key
./sslcon disconnect
./sslcon status
You can use any WebSocket tool to test the API.
ws://127.0.0.1:6210/rpc
{"jsonrpc":"2.0","method":"status","id":0}
{"jsonrpc":"2.0","method":"config","params": {"log_level":"Debug","log_path":"" },"id":1}
{"jsonrpc":"2.0","method":"connect","params": {"host":"vpn.test.com","username":"vpn","password":"123456","group":"","secret":"" },"id":2}
{"jsonrpc":"2.0","method":"disconnect","id":3}
{"jsonrpc":"2.0","method":"reconnect","id":4}
{"jsonrpc":"2.0","method":"stat","id":7}
About
Go implementation of the OpenConnect VPN Protocol for client side development. Engine for AnyLink Secure Client.