JMU OpenConnect
This is a wrapper script around openconnect to help with authentication for the JMU VPN on Linux. Openconnect used to work fine until Ivanti purchased Pulse Secure, and then that broke something. This script opens up a web browser to allow the user to authenticate with Duo, and then grabs the DSID cookie to use for openconnect authentication.
Installation
This script can easily be installed with pip or pipx with the following commands:
$ pipx install jmu-openconnect
$ # OR
$ pip3 install jmu-openconnect
Usage
Once the script is installed, you can run the following command in your terminal:
$ jmu-openconnect
You can also specify a username and password to be automatically typed in, however you will still have to do 2FA manually. You can specify one or the other or both, and if both are specified, the "Log in" button will automatically be clicked.
$ jmu-openconnect -u <EID> -p <PASSWORD>
You can alternatively specify the --prompt-password (or -P) option instead of using -p, which will prompt the user for a password without echoing, much like sudo. This is more secure as your password won't be saved in your command line history.
JMU OpenConnect defaults to using firefox, but you can easily change which browser you're using by specifying --browser, which accepts firefox, chrome, or edge.
The first time that you launch JMU OpenConnect, it may take a little longer than normal, as selenium has to download and cache your webdriver.
$ jmu-openconnect --browser chrome
To see all of the available options, run jmu-openconnect --help.
Dependencies
This script just requires openconnect and selenium. If you are having problems, check the Selenium Python Documentation.
DSID Cookie was not found
If you get the error that the DSID cookie was not found, then you may be logged on in multiple places at once. Navigate to https://vpn.jmu.edu and after signing in, you should see a screen like this:
If this is the case, just select the box to remove that sign in and press "Close Selected Sessions and Log in". After this, you will need to press the log out button in the upper right corner of the VPN website, and then you can retry the script. If this is not the problem, try running the script with jmu-openconnect --debug-auth-error to see the error for a longer period of time.
Metadata
Release files for jmu-openconnect 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jmu_openconnect-0.4.1.tar.gz | 10.3 kB | Without provenance | Details for jmu_openconnect-0.4.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jmu_openconnect-0.4.1-py3-none-any.whl | Python 3 | none | any | Details for jmu_openconnect-0.4.1-py3-none-any.whl |
Total release size: 21.0 kB
Release files / jmu_openconnect-0.4.1.tar.gz
| Download URL | jmu_openconnect-0.4.1.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34a2b5b711e74a8414927294ddbb7fcafb90bcb374a96ad4c3c80bb99b4745c5
|
|
BLAKE2b-256 checksum How to use checksums |
f8ceaafeb1ed051f5f0454499f95b96eab3fc23b235bb728f091244e819efb96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Release files / jmu_openconnect-0.4.1-py3-none-any.whl
| Download URL | jmu_openconnect-0.4.1-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
26e187c58039eef0d32de96d3394c512f5cb40c00883f16b8688a811d8967192
|
|
BLAKE2b-256 checksum How to use checksums |
e19fb25a89cd827588c5bf89a97d36f86bfe49057884bf9d38d1c387b8c7df3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Security for jmu-openconnect 0.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.