mirror of
https://github.com/gnh1201/caterpillar.git
synced 2024-11-26 15:31:45 +00:00
Caterpillar Proxy - The simple and parasitic web proxy with SPAM filter (formerly, php-httpproxy)
aeioubot-detectioncaptchafirewallforward-proxyhijackinghttp-proxyhttps-proxyk-anonymitymastodonmitmnetwork-filteringparasitic-computingproxyreverse-proxyspam-detectionssltlswafweb-debugging-proxy
.gitignore | ||
ca.crt | ||
ca.key | ||
cert.key | ||
index.php | ||
LICENSE | ||
README.md | ||
requirements.txt | ||
server.py | ||
title.jfif |
gnh1201/caterpillar
Caterpillar - The simple and parasitic web proxy with spam filter
How to works
Basic structure
You <-> Proxy client (Python) <-> Parasitized proxy server (Optional, PHP) <-> On the Web
For example, build a simple web debugging proxy on the shared servers.
Spam filtering strategy
- K-Anonymity test - Estimating whether the characters has been arranged by humans. (use Have I Been Pwned)
- Image spam containing characters that look very similar to CAPTCHA. (use TrueCaptcha)
(Optional) Before to use
If you have an will be parasitize server that you want to proxy, you can install the index.php
file.
How to use
- Write a file
.env
(Linux) orsettings.ini
(Windows). Like this:
[settings]
PORT=5555
SERVER_URL=http://example.org
CA_KEY=ca.key
CA_CERT=ca.crt
CERT_KEY=cert.key
CERT_DIR=certs/
OPENSSL_BINPATH=openssl
CLIENT_ENCODING=utf-8
LOCAL_DOMAIN=example.org
PROXY_PASS=http://127.0.0.1:3000
MASTODON_SERVER=
MASTODON_USER_TOKEN=
TRUECAPTCHA_USERID=
TRUECAPTCHA_APIKEY=
1.1. (Optional) Install RootCA
sudo apt-get install -y ca-certificates
sudo cp ca.crt /usr/local/share/ca-certificates/caterpillar-ca.crt
sudo update-ca-certificates
-
Run
python3 server.py
and set HTTP(S) proxy in your web browser (e.g. Firefox) -
Test 100MB/SSL, 1GB/SSL, 10GB/SSL download and check the speed (e.g. https://speed.hetzner.de/1GB.bin)
-
Enjoy it
-
(Optional) With Cloudflare, we can expect to accelerate the 4x speed and reduce the network stuck.
(Optional) For Mastodon users
- In
[php-httpproxy installed directory]/settings.ini
or.env
, setSERVER_URL
variable tolocalhost
in.env
(e.g.SERVER_URL=localhost
) - In
[mastodon installed directory]/env.production
, sethttp_proxy
variable tohttp://localhost:5555
(e.g.http_proxy=http://localhost:5555
)
References
Contact
- ActivityPub @gnh1201@catswords.social
- abuse@catswords.net