Note
This project is a fork of vlaci/openconnect-sso and is under development. Please report issues or start discussions in kowyo/openconnect-lite. Contributions are welcome.
- Install
openconnecton your system
sudo apt install openconnect # Debian
brew install openconnect # macOS
scoop install main/openconnect # Windows
# For other platforms, see https://www.infradead.org/openconnect/download.html- Install
openconnect-lite
We use uv to install this project. If you don't have uv installed, you can install it by running
curl -LsSf https://astral.sh/uv/install.sh | shThen, to install openconnect-lite, run:
uv tool install openconnect-liteopenconnect-lite --server 8d0c.vpn.sse.cisco.com/NUSStudent --user <NUS_ID@Email>You can customize the behavior of openconnect-lite by creating a configuration file at
$HOME/.config/openconnect-lite/config.toml on Unix and %LOCALAPPDATA%\.config\openconnect-lite\config.toml on Windows
on_disconnect = ""
[default_profile]
address = "8d0c.vpn.sse.cisco.com/NUSStudent"
user_group = ""
name = ""
[credentials]
username = "<YOUR_NUS_EMAIL>"
[auto_fill_rules]
[[auto_fill_rules."https://*"]]
selector = "div[id=passwordError]"
action = "stop"
[[auto_fill_rules."https://*"]]
selector = "input[type=email]"
fill = "username"
[[auto_fill_rules."https://*"]]
selector = "input[name=Password]"
fill = "password"
[[auto_fill_rules."https://*"]]
selector = "input[data-report-event=Signin_Submit]"
action = "click"
[[auto_fill_rules."https://*"]]
selector = "#submitButton"
action = "click"
[[auto_fill_rules."https://*"]]
selector = "div[data-value=PhoneAppOTP]"
action = "click"
[[auto_fill_rules."https://*"]]
selector = "a[id=signInAnotherWay]"
action = "click"
[[auto_fill_rules."https://*"]]
selector = "input[name=otc]"
fill = "totp"
You might want to consider simplifying the set up process with
uv tool install git+https://github.com/kowyo/openconnect-sso, tbf uv should be the requirement to run this, pipx etc should have no problem with this