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
Now you can connect to localhost:8081
with jeffrey:swordfish
credentials. For example:
curl -vvv --proxy http://jeffrey:[email protected]:8081 https://google.com/
Or, with httpie:
http --proxy=http:http://jeffrey:[email protected]: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.
You can also use Docker compose:
version: '3'
services:
proxy:
image: yegor256/squid-proxy
restart: always
ports:
- "8081:3128"
environment:
- USERNAME=jeffrey
- PASSWORD=swordfish
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