Skip to content
/ sslcon Public

Go implementation of the OpenConnect VPN Protocol for client side development. Engine for AnyLink Secure Client.

License

Notifications You must be signed in to change notification settings

tlslink/sslcon

Repository files navigation

vpnagent

This is a Golang implementation of the OpenConnect VPN Protocol for client side development.

For desktop OS, similar to Cisco Secure Client's vpnagentd, it 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. Anyone can use any front-end tool to implement their own GUI.

There is an example showing how to use this project.

Currently the following servers are supported,

APIs

You can use any WebSocket tool to test the API.

ws://127.0.0.1:6210/rpc

status

{
  "jsonrpc": "2.0",
  "method": "status",
  "id": 0
}

config

{
  "jsonrpc": "2.0",
  "method": "config",
  "params": {
    "log_level": "Debug",
    "log_path": ""
  },
  "id": 1
}

connect

{
  "jsonrpc": "2.0",
  "method": "connect",
  "params": {
    "host": "vpn.test.com",
    "username": "vpn",
    "password": "123456",
    "group": ""
  },
  "id": 2
}

disconnect

{
  "jsonrpc": "2.0",
  "method": "disconnect",
  "id": 3
}

reconnect

{
  "jsonrpc": "2.0",
  "method": "reconnect",
  "id": 4
}

stat

{
  "jsonrpc": "2.0",
  "method": "stat",
  "id": 7
}

About

Go implementation of the OpenConnect VPN Protocol for client side development. Engine for AnyLink Secure Client.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages