Skip to main content

Asynchronous I/O HTTP and HTTPS Proxy on Python >= 3.6

Project description

Wormhole is a forward proxy without caching. You may use it for:

  • Modifying requests to look like they are originated from the IP address that Wormhole is running on.

  • Adding an authentication layer to the internet users in your organization.

  • Logging internet activities to your syslog server.

Dependency

  • Python >= 3.6

  • uvloop (optional)

Docker Image Usage

Run without authentication

$ docker pull bashell/wormhole
$ docker run -d -p 8800:8800 bashell/wormhole

Run with authentication

  • Create an empty directory on your docker host

  • Create an authentication file that contains username and password in this format username:password

  • Link that directory to the container via option -v and also run wormhole container with option -a /path/to/authentication_file

Example:

$ docker pull bashell/wormhole
$ mkdir -p /path/to/dir
$ echo "user1:password1" > /path/to/dir/wormhole.passwd
$ docker run -d -v /path/to/dir:/opt/wormhole \
  -p 8800:8800 bashell/wormhole \
  -a /opt/wormhole/wormhole.passwd

How to install

Stable Version

Please install the stable version using pip command:

$ pip install wormhole-proxy

Development Snapshot

You can install the development snapshot using pip with mercurial:

$ pip install hg+https://hg.sr.ht/~cwt/wormhole

Or install from your local clone:

$ hg clone https://hg.sr.ht/~cwt/wormhole
$ cd wormhole/
$ pip install -e .

You can also install the latest tip snapshot using the following command:

$ pip install https://hg.sr.ht/~cwt/wormhole/archive/tip.tar.gz

How to use

  1. Run wormhole command

    $ wormhole
  2. Set browser’s proxy setting to

    host: 127.0.0.1
    port: 8800

Command help

$ wormhole --help

License

MIT License (included in license.py)

Notice

  • This project is forked and converted to Mercurial from WARP on GitHub.

  • Authentication file contains username and password in plain text, keep it secret! (I will try to encrypt/encode it soon.)

  • Wormhole may not work in:

    • some ISPs

    • some firewalls

    • some browers

    • some web sites

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wormhole-proxy-3.0.2.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

wormhole_proxy-3.0.2-py3.10.egg (21.3 kB view details)

Uploaded Source

File details

Details for the file wormhole-proxy-3.0.2.tar.gz.

File metadata

  • Download URL: wormhole-proxy-3.0.2.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for wormhole-proxy-3.0.2.tar.gz
Algorithm Hash digest
SHA256 169b49fe800b1c0db1337c7b0c55fd23e6d8199758a735b951e3277f1ea40b05
MD5 c7368a72cd73d3052f1a69952786eaec
BLAKE2b-256 ef3c275e8762d2092208e3a8744420c18785de8ba4f3e373b49f5aaa563d55e8

See more details on using hashes here.

File details

Details for the file wormhole_proxy-3.0.2-py3.10.egg.

File metadata

  • Download URL: wormhole_proxy-3.0.2-py3.10.egg
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for wormhole_proxy-3.0.2-py3.10.egg
Algorithm Hash digest
SHA256 fd8a4d7b6837b139423336a94db99811803d344b2d9c6056f9f49cf170127fb5
MD5 f5cf39ed7b378ca3a4b332eb7b5186e5
BLAKE2b-256 a11aa7cb0548111b11af9a804fd364a8d8c856fdb016de987d2125a05613263e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page