FROM ubuntu:22.04@sha256:b8b6ee6aa931ecd9d0d952abc34dc0e5f7c6a30c6bb71b079fe399fde0329c02

RUN apt-get update && apt-get install -y \
    squid-openssl \
    openssl \
    iproute2 \
    iputils-ping \
    && rm -rf /var/lib/apt/lists/*

# Pre-generated CA certificate for SSL bumping
COPY config/proxy/squid-ca.pem /etc/squid/ssl/squid-ca.pem
RUN chmod 600 /etc/squid/ssl/squid-ca.pem

# Initialize SSL certificate database
RUN /usr/lib/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 4MB

# Squid config
COPY config/proxy/squid.conf /etc/squid/squid.conf

# Create log and cache directories, initialize swap
RUN mkdir -p /var/log/squid && chown proxy:proxy /var/log/squid
RUN squid -z -f /etc/squid/squid.conf 2>/dev/null; sleep 1; kill "$(cat /run/squid.pid 2>/dev/null)" 2>/dev/null; rm -f /run/squid.pid; true

COPY config/proxy/startup.sh /startup.sh
RUN chmod +x /startup.sh

EXPOSE 3128 3129
CMD ["/startup.sh"]
