firefox-secure-proxy
Standalone wrapper for Firefox Secure Proxy. Offers plain HTTP proxy interface for all compatible applications.
Walkthrough
- Install
firefox-secure-proxypackage. Use commandpip3 install firefox-secure-proxyto install package from PyPI or run:pip3 install .within source directory. Python 3.5+ is required. - Login into Firefox Accounts. Run
fxsp-loginand 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. - Update proxy token with command
fxsp-getproxytoken. - 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_mapsinto it and rundocker-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)
| File | Size | Uploaded | |
|---|---|---|---|
| firefox_secure_proxy-1.1.0.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|