You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DoTheEvo be0bd2a12e update 1 year ago
..
readme.md update 1 year ago

readme.md

Squid

guide-by-example

logo

Purpose & Overview

Forward proxy to avoid websites IP bans.

Caching and forwarding HTTP web proxy.
Main use here is being able to access web pages from a different IP than your own in a comfortable way.

Squid is written in C++.

Hosting

Free oracle cloud instance can be used.
Detailed setup guide here.

Files and directory structure

/home/
└── ~/
    └── docker/
        └── squid/
            ├── 🗋 docker-compose.yml
            └── 🗋 squid.conf
  • docker-compose.yml - a docker compose file, telling docker how to run the container
  • squid.conf - main configuration files for squid

Compose

docker-compose.yml

services:
  squid:
    image: ubuntu/squid
    container_name: squid
    hostname: squid
    restart: unless-stopped
    ports:
      - "56566:56566"
    volumes:
      - ./squid.conf:/etc/squid/squid.conf
      - ./squid_cache:/var/spool/squid    

squid.conf

Minimal config that works.

For running in docker max_filedescriptors 1048576 is required, prevents error:
FATAL: xcalloc: Unable to allocate 1073741816 blocks of 432 bytes squid cache terminated abnormally

squid.conf

max_filedescriptors 1048576
http_port 56566
http_access allow all

Linux curl command can test if reverse proxy works.

curl -x http://666.6.66.6:56566 -L http://archlinux.org

More configuration

For security I use firewall that allows in connections only from one public IP. Or I would be using VPN. So not much interest in security acl and authorization config.

Also no interest in caching. So this is just some config with some headers turned off for maybe better hiding of the real IP.

squid.conf

max_filedescriptors 1048576
http_port 56566
http_access allow all

cache deny all
visible_hostname squidproxy

forwarded_for delete
via off
follow_x_forwarded_for deny all
request_header_access X-Forwarded-For deny all

Usage

FoxyProxy Standard - got version on firefox and chrome.

In config one can setup ip and port and it works.
But it also has pattern section where url wildcard can be set and proxy is applied only on those sites.

Update

Manual image update:

  • docker compose pull
  • docker compose up -d
  • docker image prune