summarylogtreecommitdiffstats
path: root/README.rst
blob: e6ebc36af124c352239020afeb180f30f232bfbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
f5vpn for Linux
===============

The F5 VPN client uses the Point-to-Point Protocol to connect to F5Networks BIG-IP APM 13.0.

Usage
-----

1. In a web browser, go to `<https://[your-BIG-IP-APM-server]/>`_ and log in (including 2-factor authentication, if you use it).

2. Choose Web Network Access. If this works for you, the following steps do not apply to you.
   If you prefer connecting in the command line, open Developer Tools and run this JavaScript:

   .. code-block:: javascript

       resourceType = "network_access";
       with (new XMLHttpRequest()) {
           open("GET", `https://${location.host}:${location.port}/vdesk/resource_list.xml?resourcetype=res`);
           onload = () => console.log(`f5-vpn://${location.host}:${location.port}/?server=${location.host}&resourcename=${responseXML.querySelector(`list[type=${resourceType}] entry`).textContent}&resourcetype=${resourceType}&cmd=launch&protocol=https&port=${location.port || 443}&sid=${document.cookie.match(/MRHSession=(.*?); /)[1]}`);
           send();
       }

   You should have received a URL starting with ``f5-vpn://``.

3. In a terminal, run ``f5vpn`` using the URL from Step 2 as its argument (including single quotes):

   .. code-block:: shell

        f5vpn 'f5-vpn://...'

If everything worked, the GUI for F5 VPN should be visible. Assuming continuous Internet connectivity, you should remain connected for several hours.

CLI-Only Alternatives
---------------------

* `kayrus/gof5 <https://github.com/kayrus/gof5>`_ (FOSS)

* `zrhoffman/svpn-login <https://github.com/zrhoffman/svpn-login>`_

* `zrhoffman/f5vpn-login <https://github.com/zrhoffman/f5vpn-login>`_ (FOSS, very slow)