Skip to main content

Asynchronous I/O HTTP and HTTPS Proxy on Python 3.5

Project description

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

  • 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.5.0

  • 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://bitbucket.org/bashell-com/wormhole

Or install from your local clone:

$ hg clone https://bitbucket.org/bashell-com/wormhole
$ cd wormhole/
$ pip install -e .

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

$ pip install https://bitbucket.org/bashell-com/wormhole/get/default.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-2.0.1.tar.gz (9.6 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for wormhole-proxy-2.0.1.tar.gz
Algorithm Hash digest
SHA256 ffcf26a2d3f165ad215eaf38ff5a102ab8e5d424839d731085964a0724dc1262
MD5 76745918f9b8502235cee5ac5c051f27
BLAKE2b-256 bb26d32add6f1c8bdaf8ca2578726314c23eebd3ccaff3957865001cdd406ba0

See more details on using hashes here.

Supported by

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