Squid is Ubuntu Proxy Server managed by Canonical. Ref: https://hub.docker.com/r/ubuntu/squid
639
Squid is a proxy cache server.
chromium --proxy-server="https=server-ip:3128;http=server-ip:3128"
For firefox, use proxy settings and use same http and http proxy as server-ip and port 3128.
Note: Login credentials will ask on Prompt in browser if required. If you need tunnel you can use ssh. ssh -L 3128:server-ip:3128 username@server-ip. Then in your new proxy host will be localhost and port will be 3128.
edge and v1.0.0 version has very basic squid. It is not configured, So, squid.conf need to download and put in deployment. Kubernetes deployments are based on these versions.v2.0.0 has pre-configured authentication setup.v2.0.0 or higher you do not need to download and put squid.conf.AUTH_REQUIRED=true/false, USERNAME and PASSWORD.version: "3"
services:
squid:
image: techthinkerorg/squid:v2.0.0
container_name: squid
ports:
- "3128:3128"
environment:
- AUTH_REQUIRED=true
- USERNAME=squid
- PASSWORD=squid1234
volumes:
- data:/var/spool/squid
volumes:
data:
Works with any Kubernetes; if you don't have one, we recommend you install MicroK8s and microk8s.enable dns storage then snap alias microk8s.kubectl kubectl.
Download squid.conf and squid-deployment.yml and set containers.squid.image in squid-deployment.yml to your chosen channel tag (e.g. ubuntu/squid:5.2-22.04_beta), then:
kubectl create configmap squid-config --from-file=squid=squid.conf
kubectl apply -f squid-deployment.yml
You can now access the squid proxy on port 3128
squid.confacl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow localnet
http_access deny all
http_port 3128
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims
refresh_pattern \/InRelease$ 0 0% 0 refresh-ims
refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern . 0 20% 4320
logfile_rotate 0
squid-deployment.yml---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: squid-volume-claim
spec:
accessModes:
- ReadWriteOnce
storageClassName: microk8s-hostpath
resources:
requests:
storage: 500M
---
apiVersion: v1
kind: Service
metadata:
name: squid-service
labels:
app: squid
spec:
ports:
- port: 3128
selector:
app: squid
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: squid-deployment
spec:
replicas: 1
selector:
matchLabels:
app: squid
template:
metadata:
labels:
app: squid
spec:
containers:
- name: squid
image: ubuntu/squid:edge
ports:
- containerPort: 3128
name: squid
protocol: TCP
volumeMounts:
- name: squid-config-volume
mountPath: /etc/squid/squid.conf
subPath: squid.conf
- name: squid-data
mountPath: /var/spool/squid
volumes:
- name: squid-config-volume
configMap:
name: squid-config
items:
- key: squid
path: squid.conf
- name: squid-data
persistentVolumeClaim:
claimName: squid-volume-claim
Content type
Image
Digest
sha256:e9773874c…
Size
93.8 MB
Last updated
almost 2 years ago
docker pull techthinkerorg/squid:v2.0.0