Signed-off-by: Luka Perkov <luka@openwrt.org>lilik-openwrt-22.03
@ -0,0 +1,132 @@ | |||||
# | |||||
# Copyright (C) 2006-2015 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=squid | |||||
PKG_VERSION:=3.4.10 | |||||
PKG_RELEASE:=1 | |||||
PKG_LICENSE:=GPL-2.0 | |||||
PKG_MAINTAINER:=Luka Perkov <luka@openwrt.org> | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | |||||
PKG_SOURCE_URL:=http://www.squid-cache.org/Versions/v3/3.4/ | |||||
PKG_MD5SUM:=3136edfe9bc2458e725671b0d2455702 | |||||
PKG_BUILD_PARALLEL:=1 | |||||
PKG_INSTALL:=1 | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/squid/Default | |||||
SECTION:=net | |||||
CATEGORY:=Network | |||||
SUBMENU:=Web Servers/Proxies | |||||
URL:=http://www.squid-cache.org/ | |||||
endef | |||||
define Package/squid | |||||
$(call Package/squid/Default) | |||||
MENU:=1 | |||||
DEPENDS:=+libopenssl +libpthread +librt +libltdl +libstdcpp | |||||
TITLE:=full-featured Web proxy cache | |||||
endef | |||||
define Package/squid/description | |||||
Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. | |||||
It reduces bandwidth and improves response times by caching and reusing | |||||
frequently-requested web pages. | |||||
endef | |||||
define Package/squid-mod-cachemgr | |||||
$(call Package/squid/Default) | |||||
DEPENDS:=squid | |||||
TITLE:=Web based proxy manager and reporting tool | |||||
endef | |||||
CONFIGURE_ARGS += \ | |||||
--config-cache \ | |||||
--datadir=/usr/share/squid \ | |||||
--libexecdir=/usr/lib/squid \ | |||||
--sysconfdir=/etc/squid \ | |||||
--enable-shared \ | |||||
--disable-static \ | |||||
--enable-icmp \ | |||||
--enable-delay-pools \ | |||||
--enable-icap-client \ | |||||
--enable-kill-parent-hack \ | |||||
--disable-snmp \ | |||||
--enable-ssl \ | |||||
--enable-cache-digests \ | |||||
--enable-auth \ | |||||
--enable-auth-basic \ | |||||
--enable-auth-ntlm \ | |||||
--enable-auth-negotiate \ | |||||
--enable-auth-digest \ | |||||
--enable-linux-netfilter \ | |||||
--disable-unlinkd \ | |||||
--enable-x-accelerator-vary \ | |||||
--disable-translation \ | |||||
--disable-auto-locale \ | |||||
--with-dl \ | |||||
--with-pthreads \ | |||||
--without-expat \ | |||||
--without-libxml2 \ | |||||
--without-nettle \ | |||||
--with-openssl=$(STAGING_DIR)/usr \ | |||||
--enable-epoll \ | |||||
--with-maxfd=4096 \ | |||||
--disable-external-acl-helpers \ | |||||
--disable-auth-negotiate \ | |||||
--disable-auth-ntlm \ | |||||
--disable-auth-digest \ | |||||
--disable-auth-basic \ | |||||
--disable-arch-native \ | |||||
--with-krb5-config=no \ | |||||
--without-libcap | |||||
CONFIGURE_VARS += \ | |||||
ac_cv_header_linux_netfilter_ipv4_h=yes \ | |||||
ac_cv_epoll_works=yes \ | |||||
define Build/Compile | |||||
$(MAKE) -C $(PKG_BUILD_DIR)/lib \ | |||||
all | |||||
$(MAKE) -C $(PKG_BUILD_DIR) \ | |||||
DESTDIR="$(PKG_INSTALL_DIR)" \ | |||||
install | |||||
endef | |||||
define Package/squid/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/squid $(1)/usr/sbin/ | |||||
$(INSTALL_DIR) $(1)/etc/config | |||||
$(INSTALL_CONF) ./files/squid.config $(1)/etc/config/squid | |||||
$(INSTALL_DIR) $(1)/etc/squid | |||||
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/squid/mime.conf $(1)/etc/squid/ | |||||
$(INSTALL_CONF) ./files/squid.conf $(1)/etc/squid/ | |||||
$(INSTALL_DIR) $(1)/etc/init.d/ | |||||
$(INSTALL_BIN) ./files/squid.init $(1)/etc/init.d/squid | |||||
$(INSTALL_DIR) $(1)/usr/share/squid/icons/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/share/squid/icons/* $(1)/usr/share/squid/icons/ | |||||
$(INSTALL_DIR) $(1)/usr/share/squid/errors/templates/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/share/squid/errors/templates/* $(1)/usr/share/squid/errors/templates/ | |||||
endef | |||||
define Package/squid-mod-cachemgr/install | |||||
$(INSTALL_DIR) $(1)/www/cgi-bin/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/squid/cachemgr.cgi $(1)/www/cgi-bin/ | |||||
endef | |||||
$(eval $(call BuildPackage,squid)) | |||||
$(eval $(call BuildPackage,squid-mod-cachemgr)) |
@ -0,0 +1,44 @@ | |||||
acl localnet src 10.0.0.0/8 | |||||
acl localnet src 172.16.0.0/12 | |||||
acl localnet src 192.168.0.0/16 | |||||
acl localnet src fc00::/7 | |||||
acl localnet src fe80::/10 | |||||
acl ssl_ports port 443 | |||||
acl safe_ports port 80 | |||||
acl safe_ports port 21 | |||||
acl safe_ports port 443 | |||||
acl safe_ports port 70 | |||||
acl safe_ports port 210 | |||||
acl safe_ports port 1025-65535 | |||||
acl safe_ports port 280 | |||||
acl safe_ports port 488 | |||||
acl safe_ports port 591 | |||||
acl safe_ports port 777 | |||||
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 deny to_localhost | |||||
http_access allow localnet | |||||
http_access allow localhost | |||||
http_access deny all | |||||
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 | |||||
access_log none | |||||
cache_log /dev/null | |||||
cache_store_log /dev/null | |||||
logfile_rotate 0 | |||||
logfile_daemon /dev/null |
@ -0,0 +1,5 @@ | |||||
config squid 'squid' | |||||
option config_file '/etc/squid/squid.conf' | |||||
option http_port '3128' | |||||
option coredump_dir '/tmp/squid' | |||||
option visible_hostname 'OpenWrt' |
@ -0,0 +1,52 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2015 OpenWrt.org | |||||
START=90 | |||||
STOP=10 | |||||
USE_PROCD=1 | |||||
PROG=/usr/sbin/squid | |||||
CONFIGFILE="/tmp/squid/squid.conf" | |||||
validate_squid_section() { | |||||
uci_validate_section squid squid "${1}" \ | |||||
'config_file:string' \ | |||||
'http_port:port:3128' \ | |||||
'coredump_dir:string' \ | |||||
'visible_hostname:string:OpenWrt' \ | |||||
'pinger_enable:string:off' | |||||
} | |||||
start_service() { | |||||
local config_file http_port coredump_dir visible_hostname pinger_enable | |||||
validate_squid_section squid || { | |||||
echo "validation failed" | |||||
return 1 | |||||
} | |||||
mkdir -p $(dirname $CONFIGFILE) | |||||
cat $config_file > $CONFIGFILE | |||||
echo http_port $http_port >> $CONFIGFILE | |||||
echo coredump_dir $coredump_dir >> $CONFIGFILE | |||||
echo visible_hostname $visible_hostname >> $CONFIGFILE | |||||
echo pinger_enable $pinger_enable >> $CONFIGFILE | |||||
procd_open_instance | |||||
procd_set_param command $PROG -s -f $CONFIGFILE -N | |||||
procd_set_param file $CONFIGFILE | |||||
procd_set_param respawn | |||||
procd_close_instance | |||||
} | |||||
stop_service() | |||||
{ | |||||
${PROG} -f $CONFIGFILE -N -k shutdown 2>/dev/null | |||||
} | |||||
service_triggers() | |||||
{ | |||||
procd_add_reload_trigger "squid" | |||||
procd_add_validation validate_squid_section | |||||
} |
@ -0,0 +1,49 @@ | |||||
--- a/src/Makefile.in | |||||
+++ b/src/Makefile.in | |||||
@@ -7742,7 +7742,7 @@ cache_cf.o: cf_parser.cci | |||||
# cf_gen builds the configuration files. | |||||
cf_gen$(EXEEXT): $(cf_gen_SOURCES) $(cf_gen_DEPENDENCIES) cf_gen_defines.cci | |||||
- $(HOSTCXX) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src | |||||
+ g++ -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src | |||||
# squid.conf.default is built by cf_gen when making cf_parser.cci | |||||
squid.conf.default squid.conf.documented: cf_parser.cci | |||||
--- a/configure | |||||
+++ b/configure | |||||
@@ -22223,7 +22223,7 @@ $as_echo_n "checking whether the SSL_get | |||||
if test "$cross_compiling" = yes; then : | |||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | |||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |||||
-as_fn_error $? "cannot run test program while cross compiling | |||||
+_as_fn_error $? "cannot run test program while cross compiling | |||||
See \`config.log' for more details" "$LINENO" 5; } | |||||
else | |||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |||||
@@ -22271,7 +22271,7 @@ $as_echo_n "checking whether the workaro | |||||
if test "$cross_compiling" = yes; then : | |||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | |||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |||||
-as_fn_error $? "cannot run test program while cross compiling | |||||
+_as_fn_error $? "cannot run test program while cross compiling | |||||
See \`config.log' for more details" "$LINENO" 5; } | |||||
else | |||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |||||
@@ -24921,7 +24921,7 @@ else | |||||
if test "$cross_compiling" = yes; then : | |||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | |||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |||||
-as_fn_error $? "cannot run test program while cross compiling | |||||
+_as_fn_error $? "cannot run test program while cross compiling | |||||
See \`config.log' for more details" "$LINENO" 5; } | |||||
else | |||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |||||
@@ -24946,7 +24946,7 @@ else | |||||
if test "$cross_compiling" = yes; then : | |||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | |||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |||||
-as_fn_error $? "cannot run test program while cross compiling | |||||
+_as_fn_error $? "cannot run test program while cross compiling | |||||
See \`config.log' for more details" "$LINENO" 5; } | |||||
else | |||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
@ -0,0 +1,29 @@ | |||||
--- a/src/mime.conf.default | |||||
+++ b/src/mime.conf.default | |||||
@@ -1,19 +1,3 @@ | |||||
-# This file associates filename extensions (for servers or services | |||||
-# that don't automatically include them - like ftp) with a mime type | |||||
-# and a graphical icon. | |||||
-# | |||||
-# | |||||
-# This file has the format : | |||||
-# regex content-type icon content-encoding transfer-mode | |||||
-#----------------------------------------------------------------------------------- | |||||
-# | |||||
-# | |||||
-# Content-Encodings are taken from section 3.1 of RFC2068 (HTTP/1.1) | |||||
-# | |||||
-# | |||||
-# | |||||
-# regexp content-type icon encoding mode actions | |||||
-#-------------------------------------------------------------------------------------------------------- | |||||
\.gif$ image/gif silk/image.png - image +download | |||||
\.mime$ www/mime silk/page_white_text.png - ascii +download | |||||
^internal-dirup$ - silk/arrow_up.png - - | |||||
@@ -190,6 +174,4 @@ | |||||
\.xml$ text/xml silk/page_world.png - ascii +download | |||||
\.xsl$ text/xml silk/layout.png - ascii +download | |||||
\.xyz$ chemical/x-xyz silk/chart_line.png - image +download | |||||
- | |||||
-# the default | |||||
. text/plain silk/bullet_red.png - image +download +view |