This container runs tinyproxy
in the background before starting openconnect
. This allows you to point a browser at the proxy in order to reach VPN only sites while leaving the rest of your computer's network unshackled.
You are checking out this project because the VPN you have to use is full-tunnel: ALL of your computer's traffic is sent over it. This is pretty terrible:
- Privacy issues: All your traffic is being monitored and logged.
- Bandwidth issues: At the best of times your speed will likely be far less than your local connection. At the worst (peak hours) things can be unusably slow.
- Latency issues: The VPN endpoint is on the east coast. If you're coming from the west coast that means adding an additional ~90ms of latency to many of your requests (or even more due to VPN congestion).
Docker will need to be running.
You need to build the container at least once:
./build
To run the container for the CMS project:
./run-cms
To run the container for the eApp project:
./run-eapp
You'll be prompted to enter your credentials. This is your username, password, and the second password is the OTP code for VPN access. If you did things right, you will see an open connection and a message along the lines of “You are accessing a U.S. Government information system”.
For best performance, run a second browser pointed at the proxy so your primary browser is free.
Create a new browser profile for CMS and configure its network settings to use an HTTP proxy pointing at localhost:8888
.
Here's an example of how to configure Firefox (General > Network Settings):
Or instead, consider using FoxyProxy extension
Consider using FoxyProxy.
Before pushing changes, please setup pre-commit
:
brew install pre-commit
pre-commit install --install-hooks