chrisdiamand / juniper-vpn-py Goto Github PK
View Code? Open in Web Editor NEWThis project forked from russdill/juniper-vpn-py
Python Juniper VPN Authenticator
License: GNU Lesser General Public License v2.1
This project forked from russdill/juniper-vpn-py
Python Juniper VPN Authenticator
License: GNU Lesser General Public License v2.1
Installation using `pip` ======================== juniper-vpn can be installed in a Python virtual environment, which avoids conflicts with packages from the distribution's package manager: # pycurl needs some binaries to be provided by the system $ sudo apt install libcurl4-openssl-dev libssl-dev python-dev $ python3 -m venv myvenv $ source myvenv/bin/activate # Wheel might be needed to install pycurl $ python3 -m pip install wheel $ git clone https://github.com/chrisdiamand/juniper-vpn-py.git $ python3 -m pip install ./juniper-vpn-py Once that venv activated, the "juniper-vpn.py" binary will be in the path. NOTE: DO NOT USE ./juniper-vpn.py shim distributed in the git repository, use the shim created by pip in the standard location. Installation using the package manager ====================================== It can also be installed as a standalone script, with dependencies provided by your distribution's package manager: $ sudo apt install openconnect python3-mechanize python3-netifaces python3-pyasn1 python3-pyasn1-modules $ git clone https://github.com/chrisdiamand/juniper-vpn-py.git $ ./juniper-vpn-py/juniper-vpn.py ... About ===== Connecting to a Juniper VPN requires the generation of a DSID token. Generating this token involves authentication and host checking. The juniper-vpn.py script performs authentication, and the tncc.py script performs host checking. The DSID token can then be passed to openconnect. Alternatively, openconnect can perform the authentication steps on its own and utilize the tncc.py script for host checker functionality. This is the recommended mode of operation. Instructions for using openconnect to perform authentication and tncc.py to perform host checking are contained in: README.host_checker Alternate instructions to allow juniper-vpn.py to perform authentication and tncc.py to perform host checking are contained in: README.authenticator Python dependencies can be found at `requirements.txt` file.
We think the VPN can reconnect quite effectively if only the VPN crashes, after detecting it with the monitoring thread, but is not much good at recovering from actual network outages.
The network monitor thread however uses ping
, which doesn't get routed through the VPN when using a tunnelling script like ocproxy
, so in this case it can only detect network outages, not VPN crashes.
We should detect this case and use something like httping
instead which can be sent through a SOCKS5 proxy.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.