From 2811cc9a77c17ac03aac9c1b582040827a76b0d9 Mon Sep 17 00:00:00 2001
From: Toni Uhlig <matzeton@googlemail.com>
Date: Tue, 27 Apr 2021 11:22:45 +0200
Subject: Squashed 'deps/cpp-httplib/' content from commit c58b005

git-subtree-dir: deps/cpp-httplib
git-subtree-split: c58b00580ee66a248c2ef20334bb84319ccde310
---
 test/proxy/Dockerfile         | 13 +++++++
 test/proxy/basic_passwd       |  1 +
 test/proxy/basic_squid.conf   | 81 +++++++++++++++++++++++++++++++++++++++++++
 test/proxy/digest_passwd      |  1 +
 test/proxy/digest_squid.conf  | 81 +++++++++++++++++++++++++++++++++++++++++++
 test/proxy/docker-compose.yml | 22 ++++++++++++
 test/proxy/down.sh            |  1 +
 test/proxy/up.sh              |  1 +
 8 files changed, 201 insertions(+)
 create mode 100644 test/proxy/Dockerfile
 create mode 100644 test/proxy/basic_passwd
 create mode 100644 test/proxy/basic_squid.conf
 create mode 100644 test/proxy/digest_passwd
 create mode 100644 test/proxy/digest_squid.conf
 create mode 100644 test/proxy/docker-compose.yml
 create mode 100755 test/proxy/down.sh
 create mode 100755 test/proxy/up.sh

(limited to 'test/proxy')

diff --git a/test/proxy/Dockerfile b/test/proxy/Dockerfile
new file mode 100644
index 0000000..cd20938
--- /dev/null
+++ b/test/proxy/Dockerfile
@@ -0,0 +1,13 @@
+FROM centos:7
+
+ARG auth="basic"
+ARG port="3128"
+
+RUN yum install -y squid
+
+COPY ./${auth}_squid.conf /etc/squid/squid.conf
+COPY ./${auth}_passwd /etc/squid/passwd
+
+EXPOSE ${port}
+
+CMD ["/usr/sbin/squid", "-N"]
diff --git a/test/proxy/basic_passwd b/test/proxy/basic_passwd
new file mode 100644
index 0000000..bb1b709
--- /dev/null
+++ b/test/proxy/basic_passwd
@@ -0,0 +1 @@
+hello:$apr1$O6S28OBL$8dr3ixl4Mohf97hgsYvLy/
diff --git a/test/proxy/basic_squid.conf b/test/proxy/basic_squid.conf
new file mode 100644
index 0000000..f97f09a
--- /dev/null
+++ b/test/proxy/basic_squid.conf
@@ -0,0 +1,81 @@
+#
+# Recommended minimum configuration:
+#
+
+# Example rule allowing access from your local networks.
+# Adapt to list your (internal) IP networks from where browsing
+# should be allowed
+acl 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
+
+auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
+auth_param basic realm proxy
+acl authenticated proxy_auth REQUIRED
+http_access allow authenticated
+
+#
+# Recommended minimum Access Permission configuration:
+#
+# Deny requests to certain unsafe ports
+http_access deny !Safe_ports
+
+# Deny CONNECT to other than secure SSL ports
+http_access deny CONNECT !SSL_ports
+
+# Only allow cachemgr access from localhost
+http_access allow localhost manager
+http_access deny manager
+
+# We strongly recommend the following be uncommented to protect innocent
+# web applications running on the proxy server who think the only
+# one who can access services on "localhost" is a local user
+#http_access deny to_localhost
+
+#
+# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
+#
+
+# Example rule allowing access from your local networks.
+# Adapt localnet in the ACL section to list your (internal) IP networks
+# from where browsing should be allowed
+http_access allow localnet
+http_access allow localhost
+
+# And finally deny all other access to this proxy
+http_access deny all
+
+# Squid normally listens to port 3128
+http_port 3128
+
+# Uncomment and adjust the following to add a disk cache directory.
+#cache_dir ufs /var/spool/squid 100 16 256
+
+# Leave coredumps in the first cache dir
+coredump_dir /var/spool/squid
+
+#
+# Add any of your own refresh_pattern entries above these.
+#
+refresh_pattern ^ftp:		1440	20%	10080
+refresh_pattern ^gopher:	1440	0%	1440
+refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
+refresh_pattern .		0	20%	4320
diff --git a/test/proxy/digest_passwd b/test/proxy/digest_passwd
new file mode 100644
index 0000000..d45615f
--- /dev/null
+++ b/test/proxy/digest_passwd
@@ -0,0 +1 @@
+hello:world
diff --git a/test/proxy/digest_squid.conf b/test/proxy/digest_squid.conf
new file mode 100644
index 0000000..050c5da
--- /dev/null
+++ b/test/proxy/digest_squid.conf
@@ -0,0 +1,81 @@
+#
+# Recommended minimum configuration:
+#
+
+# Example rule allowing access from your local networks.
+# Adapt to list your (internal) IP networks from where browsing
+# should be allowed
+acl 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
+
+auth_param digest program /usr/lib64/squid/digest_file_auth /etc/squid/passwd
+auth_param digest realm proxy
+acl authenticated proxy_auth REQUIRED
+http_access allow authenticated
+
+#
+# Recommended minimum Access Permission configuration:
+#
+# Deny requests to certain unsafe ports
+http_access deny !Safe_ports
+
+# Deny CONNECT to other than secure SSL ports
+http_access deny CONNECT !SSL_ports
+
+# Only allow cachemgr access from localhost
+http_access allow localhost manager
+http_access deny manager
+
+# We strongly recommend the following be uncommented to protect innocent
+# web applications running on the proxy server who think the only
+# one who can access services on "localhost" is a local user
+#http_access deny to_localhost
+
+#
+# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
+#
+
+# Example rule allowing access from your local networks.
+# Adapt localnet in the ACL section to list your (internal) IP networks
+# from where browsing should be allowed
+http_access allow localnet
+http_access allow localhost
+
+# And finally deny all other access to this proxy
+http_access deny all
+
+# Squid normally listens to port 3128
+http_port 3129
+
+# Uncomment and adjust the following to add a disk cache directory.
+#cache_dir ufs /var/spool/squid 100 16 256
+
+# Leave coredumps in the first cache dir
+coredump_dir /var/spool/squid
+
+#
+# Add any of your own refresh_pattern entries above these.
+#
+refresh_pattern ^ftp:		1440	20%	10080
+refresh_pattern ^gopher:	1440	0%	1440
+refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
+refresh_pattern .		0	20%	4320
diff --git a/test/proxy/docker-compose.yml b/test/proxy/docker-compose.yml
new file mode 100644
index 0000000..67a9e9b
--- /dev/null
+++ b/test/proxy/docker-compose.yml
@@ -0,0 +1,22 @@
+version: '2'
+
+services:
+  squid_basic:
+    image: squid_basic
+    restart: always
+    ports:
+      - "3128:3128"
+    build:
+      context: ./
+      args:
+        auth: basic
+
+  squid_digest:
+    image: squid_digest
+    restart: always
+    ports:
+      - "3129:3129"
+    build:
+      context: ./
+      args:
+        auth: digest
diff --git a/test/proxy/down.sh b/test/proxy/down.sh
new file mode 100755
index 0000000..6e0b3ee
--- /dev/null
+++ b/test/proxy/down.sh
@@ -0,0 +1 @@
+docker-compose down --rmi all
diff --git a/test/proxy/up.sh b/test/proxy/up.sh
new file mode 100755
index 0000000..a8341a6
--- /dev/null
+++ b/test/proxy/up.sh
@@ -0,0 +1 @@
+docker-compose up -d
-- 
cgit v1.2.3