Giter Club home page Giter Club logo

juniper-vpn-py's Introduction

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.

juniper-vpn-py's People

Contributors

ahoereth avatar arturoleaf avatar chrisdiamand avatar douglasraillard avatar ecrips avatar kriskwiatkowski avatar russdill avatar seanmil avatar thegecko avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

juniper-vpn-py's Issues

Route connection monitor through the VPN

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.