Skip to main content

firefox-secure-proxy

Standalone wrapper for Firefox Secure Proxy. Offers plain HTTP proxy interface for all compatible applications.

Walkthrough

  1. Install firefox-secure-proxy package. Use command pip3 install firefox-secure-proxy to install package from PyPI or run: pip3 install . within source directory. Python 3.5+ is required.
  2. Login into Firefox Accounts. Run fxsp-login and follow instructions on screen. It's OK if OAuth2 redirected URL is dead, wait for it to bail out and just copy its address into console.
  3. Update proxy token with command fxsp-getproxytoken.
  4. Run HTTP stub proxy server based on haproxy. There is docker-compose recipe in stub-server directory. Get into it, copy file ~/.config/fxsp/haproxy_maps into it and run docker-compose up. Local proxy will be running on port 8080, wrapping and authenticating connections to Firefox Secure Proxy.

Updating proxy access token

Proxy access tokens requested by firefox-secure-proxy are valid for 24 hours. In order to update it run in following commands in your local stub-server directory:

cp -v ~/.config/fxsp/haproxy_map .
docker-compose kill -s HUP haproxy

These actions can be scheduled to be performed automatically. Running haproxy server will be reloaded with no downtime.

Synopsis

$ fxsp-login --help
usage: fxsp-login [-h] [-d DATADIR]

Performs login into Firefox services and retrieves permanent authentication
token, which is used to refresh proxy service token

optional arguments:
  -h, --help            show this help message and exit
  -d DATADIR, --datadir DATADIR
                        data directory location (default:
                        /home/user/.config/fxsp)
$ fxsp-getproxytoken --help
usage: fxsp-getproxytoken [-h] [-d DATADIR] [-a AGE]

Retrieves or updates proxy service token using persistent Firefox refresh
token (login token)

optional arguments:
  -h, --help            show this help message and exit
  -d DATADIR, --datadir DATADIR
                        data directory location (default:
                        /home/user/.config/fxsp)
  -a AGE, --age AGE     update token if it's age greater than AGE seconds
                        (default: 0)

See also

  • transocks - transparent proxy adapter which can be used to redirect network traffic into HTTP/SOCKS5 proxy on gateway or a single Linux host. Compatible with firefox-secure-proxy.
  • python-proxy - HTTP/Socks4/Socks5/Shadowsocks/ShadowsocksR/SSH/Redirect/Pf TCP/UDP asynchronous tunnel proxy implemented in Python3 asyncio. Can be used to wrap firefox-secure-proxy to SOCKS5 and other protocols.

Metadata

Release files for firefox-secure-proxy 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for firefox-secure-proxy 1.1.0
File Size Uploaded
firefox_secure_proxy-1.1.0.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for firefox-secure-proxy 1.1.0
File Interpreter ABI Platform
firefox_secure_proxy-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.9 kB

Release files / firefox_secure_proxy-1.1.0.tar.gz

Download URL firefox_secure_proxy-1.1.0.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4002aef6138a7e5e5222a6db8e1cdc8dc76d7ff526f0179bef9a63e5c6c889d0
BLAKE2b-256 checksum
How to use checksums
bc2923d03eabac92fc6bfcb5dbe13749db77bd06fac203a510e12c19a6f14e50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / firefox_secure_proxy-1.1.0-py3-none-any.whl

Download URL firefox_secure_proxy-1.1.0-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06ece9183361b250afc9abcb4b6f9f94b203ac28412c9583302b665b5a4d76ed
BLAKE2b-256 checksum
How to use checksums
12788d855131ff97e1020c82956b0f111556c546cb65dc7f610363a6371e72a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page