This Docker image helps you start your own Squid proxy server, with HTTP Basic authorization. You may need this if you want your crawling/scaping software to look like constantly going to the Network from the same IP address. You rent a VPS, start a Squid server there and configure your software to go everywhere through an explicit HTTP(S) proxy.
When Docker is installed, run this:
$ docker run --name proxy --detach --restart=always --publish 8081:3128 \
--env USERNAME=jeffrey --env PASSWORD=swordfish \
yegor256/squid-proxy
Or, you can use docker compose:
version: '3'
services:
proxy:
image: yegor256/squid-proxy
restart: always
ports:
- "8081:3128"
environment:
- USERNAME=jeffrey
- PASSWORD=swordfish
Now you can connect to localhost:8081
with jeffrey:swordfish
credentials. For example:
curl -vvv --proxy http://jeffrey:swordfish@0.0.0.0:8081 https://google.com/
Or, with httpie:
http --proxy=http:http://jeffrey:swordfish@0.0.0.0:8081 https://google.com/
BTW, the proxy is anonymous. Once it's up and running, you can check whether it's visible, here. It also doesn't store any logs and doesn't cache any content.
Build it locally:
docker build . -t squid-proxy:latest
Want to push to a local machine?
docker save squid-proxy | ssh -C your@machine docker load