From 898ef49f6f4fa0ca1ac1760cf468b70df06a85d2 Mon Sep 17 00:00:00 2001 From: fredbcode Date: Mon, 22 Nov 2021 12:21:36 +0100 Subject: [PATCH] Add create cche --- docker-compose/docker-compose.yml | 2 +- .../e2guardian/authplugins/dnsauth.conf | 19 + .../e2guardian/authplugins/ident.conf | 23 + docker-compose/e2guardian/authplugins/ip.conf | 29 + .../e2guardian/authplugins/pf-basic.conf | 24 + .../e2guardian/authplugins/port.conf | 24 + .../e2guardian/authplugins/proxy-basic.conf | 24 + .../e2guardian/authplugins/proxy-digest.conf | 26 + .../e2guardian/authplugins/proxy-header.conf | 34 + .../e2guardian/authplugins/proxy-ntlm.conf | 24 + docker-compose/e2guardian/common.story | 331 ++ .../contentscanners/avastdscan.conf | 12 + .../e2guardian/contentscanners/clamdscan.conf | 13 + .../contentscanners/commandlinescan.conf | 45 + .../e2guardian/contentscanners/icapscan.conf | 8 + .../e2guardian/contentscanners/kavdscan.conf | 13 + .../e2guardian/downloadmanagers/default.conf | 17 + docker-compose/e2guardian/e2guardian.conf | 1348 +++++ docker-compose/e2guardian/e2guardianf1.conf | 882 +++ docker-compose/e2guardian/examplef1.story | 66 + docker-compose/e2guardian/lists/README | 24 + .../lists/authplugins/filtergroupslist | 10 + .../e2guardian/lists/authplugins/ipgroups | 11 + .../e2guardian/lists/authplugins/portgroups | 8 + docker-compose/e2guardian/lists/common/README | 73 + .../lists/common/authexceptioniplist | 9 + .../lists/common/authexceptionsitelist | 1 + .../lists/common/authexceptionurllist | 1 + .../e2guardian/lists/common/bannedclientlist | 6 + .../e2guardian/lists/common/bannediplist | 12 + .../e2guardian/lists/common/browserregexplist | 15 + .../lists/common/embededreferersiteiplist | 10 + .../lists/common/embededreferersitelist | 2 + .../lists/common/embededrefererurllist | 5 + .../lists/common/exceptionclientlist | 16 + .../e2guardian/lists/common/exceptioniplist | 27 + .../lists/common/nologextensionlist | 31 + .../lists/common/nologregexpurllist | 4 + .../e2guardian/lists/common/nologsiteiplist | 13 + .../e2guardian/lists/common/nologsitelist | 4 + .../e2guardian/lists/common/nologurllist | 9 + .../e2guardian/lists/common/nomitmsiteiplist | 9 + .../e2guardian/lists/common/nomitmsitelist | 14 + .../lists/common/searchexceptionregexplist | 11 + .../e2guardian/lists/common/searchregexplist | 37 + .../exceptionvirusextensionlist | 35 + .../exceptionvirusmimetypelist | 28 + .../contentscanners/exceptionvirussitelist | 12 + .../contentscanners/exceptionvirusurllist | 15 + .../downloadmanagers/managedextensionlist | 42 + .../downloadmanagers/managedmimetypelist | 174 + .../e2guardian/lists/example.group/README | 185 + .../lists/example.group/addheaderregexplist | 13 + .../lists/example.group/bannedextensionlist | 211 + .../lists/example.group/bannedmimetypelist | 18 + .../lists/example.group/bannedphraselist | 47 + .../example.group/bannedregexpheaderlist | 9 + .../lists/example.group/bannedregexpurllist | 122 + .../example.group/bannedregexpuseragentlist | 12 + .../lists/example.group/bannedsearchlist | 9 + .../example.group/bannedsearchoveridelist | 0 .../lists/example.group/bannedsiteiplist | 12 + .../lists/example.group/bannedsitelist | 97 + .../lists/example.group/bannedsslsiteiplist | 15 + .../lists/example.group/bannedsslsitelist | 9 + .../lists/example.group/bannedtimelist | 13 + .../lists/example.group/bannedurllist | 59 + .../lists/example.group/blankettimelist | 16 + .../lists/example.group/contentregexplist | 93 + .../lists/example.group/domainsnobypass | 63 + .../example.group/exceptionextensionlist | 49 + .../example.group/exceptionfilesiteiplist | 15 + .../lists/example.group/exceptionfilesitelist | 30 + .../lists/example.group/exceptionfileurllist | 27 + .../lists/example.group/exceptionmimetypelist | 40 + .../lists/example.group/exceptionphraselist | 19 + .../example.group/exceptionregexpheaderlist | 8 + .../example.group/exceptionregexpurllist | 15 + .../exceptionregexpuseragentlist | 10 + .../lists/example.group/exceptionsiteiplist | 9 + .../lists/example.group/exceptionsitelist | 24 + .../lists/example.group/exceptionurllist | 15 + .../example.group/exceptionvirusextensionlist | 45 + .../example.group/exceptionvirussiteiplist | 12 + .../lists/example.group/greysiteiplist | 16 + .../lists/example.group/greysitelist | 59 + .../lists/example.group/greysslsiteiplist | 10 + .../lists/example.group/greysslsitelist | 4 + .../lists/example.group/greyurllist | 27 + .../lists/example.group/headerregexplist | 15 + .../e2guardian/lists/example.group/ipnobypass | 13 + .../lists/example.group/localbannedsearchlist | 14 + .../lists/example.group/localbannedsiteiplist | 10 + .../lists/example.group/localbannedsitelist | 6 + .../example.group/localbannedsslsiteiplist | 12 + .../example.group/localbannedsslsitelist | 5 + .../lists/example.group/localbannedurllist | 1 + .../example.group/localexceptionsiteiplist | 10 + .../example.group/localexceptionsitelist | 1 + .../lists/example.group/localexceptionurllist | 1 + .../lists/example.group/localgreysiteiplist | 10 + .../lists/example.group/localgreysitelist | 1 + .../example.group/localgreysslsiteiplist | 10 + .../lists/example.group/localgreysslsitelist | 6 + .../lists/example.group/localgreyurllist | 1 + .../lists/example.group/logregexpurllist | 12 + .../lists/example.group/logsiteiplist | 21 + .../lists/example.group/logsitelist | 12 + .../e2guardian/lists/example.group/logurllist | 12 + .../lists/example.group/nocheckcertsiteiplist | 17 + .../lists/example.group/nocheckcertsitelist | 9 + .../lists/example.group/oldbannedphraselist | 57 + .../example.group/oldexceptionphraselist | 18 + .../lists/example.group/oldweightedphraselist | 142 + .../example.group/refererexceptionsiteiplist | 11 + .../example.group/refererexceptionsitelist | 2 + .../example.group/refererexceptionurllist | 1 + .../example.group/responseheaderregexplist | 13 + .../lists/example.group/sslsiteregexplist | 29 + .../lists/example.group/urlnobypass | 51 + .../lists/example.group/urlredirectregexplist | 4 + .../lists/example.group/urlregexplist | 58 + .../lists/example.group/weightedphraselist | 117 + .../oldphraselists/badwords/weighted_dutch | 36 + .../oldphraselists/badwords/weighted_french | 43 + .../oldphraselists/badwords/weighted_german | 34 + .../badwords/weighted_portuguese | 16 + .../oldphraselists/badwords/weighted_spanish | 67 + .../lists/oldphraselists/chat/weighted | 33 + .../oldphraselists/chat/weighted_italian | 26 + .../lists/oldphraselists/conspiracy/weighted | 61 + .../oldphraselists/domainsforsale/weighted | 31 + .../oldphraselists/drugadvocacy/weighted | 12 + .../lists/oldphraselists/forums/weighted | 66 + .../lists/oldphraselists/gambling/banned | 13 + .../oldphraselists/gambling/banned_portuguese | 10 + .../lists/oldphraselists/gambling/weighted | 45 + .../gambling/weighted_portuguese | 12 + .../lists/oldphraselists/games/weighted | 64 + .../oldphraselists/goodphrases/exception | 6 + .../goodphrases/exception_email | 11 + .../goodphrases/weighted_general | 425 ++ .../goodphrases/weighted_general_danish | 6 + .../goodphrases/weighted_general_dutch | 5 + .../goodphrases/weighted_general_malay | 8 + .../goodphrases/weighted_general_polish | 42 + .../goodphrases/weighted_general_portuguese | 44 + .../goodphrases/weighted_general_swedish | 97 + .../oldphraselists/goodphrases/weighted_news | 36 + .../oldphraselists/googlesearches/banned | 674 +++ .../lists/oldphraselists/gore/weighted | 12 + .../oldphraselists/gore/weighted_portuguese | 11 + .../lists/oldphraselists/idtheft/weighted | 27 + .../lists/oldphraselists/illegaldrugs/banned | 5 + .../oldphraselists/illegaldrugs/weighted | 81 + .../illegaldrugs/weighted_portuguese | 35 + .../intolerance/banned_portuguese | 9 + .../lists/oldphraselists/intolerance/weighted | 47 + .../intolerance/weighted_portuguese | 20 + .../lists/oldphraselists/legaldrugs/weighted | 42 + .../lists/oldphraselists/malware/weighted | 111 + .../lists/oldphraselists/music/weighted | 87 + .../lists/oldphraselists/news/weighted | 114 + .../lists/oldphraselists/nudism/weighted | 30 + .../lists/oldphraselists/peer2peer/weighted | 53 + .../lists/oldphraselists/personals/weighted | 56 + .../personals/weighted_portuguese | 204 + .../lists/oldphraselists/pornography/banned | 6 + .../pornography/banned_portuguese | 517 ++ .../lists/oldphraselists/pornography/weighted | 3861 +++++++++++++ .../pornography/weighted_chinese | 17 + .../pornography/weighted_danish | 56 + .../oldphraselists/pornography/weighted_dutch | 38 + .../pornography/weighted_french | 134 + .../pornography/weighted_german | 99 + .../pornography/weighted_italian | 337 ++ .../pornography/weighted_japanese | 265 + .../oldphraselists/pornography/weighted_malay | 60 + .../pornography/weighted_norwegian | 72 + .../pornography/weighted_polish | 209 + .../pornography/weighted_portuguese | 701 +++ .../pornography/weighted_russian | 144 + .../pornography/weighted_russian_utf8 | 144 + .../pornography/weighted_spanish | 66 + .../pornography/weighted_swedish | 89 + .../lists/oldphraselists/proxies/weighted | 132 + .../lists/oldphraselists/rta/banned | 7 + .../lists/oldphraselists/safelabel/banned | 11 + .../oldphraselists/secretsocieties/weighted | 64 + .../lists/oldphraselists/sport/weighted | 557 ++ .../lists/oldphraselists/translation/weighted | 70 + .../lists/oldphraselists/travel/weighted | 108 + .../oldphraselists/upstreamfilter/weighted | 18 + .../lists/oldphraselists/violence/weighted | 26 + .../violence/weighted_portuguese | 21 + .../oldphraselists/warezhacking/weighted | 25 + .../lists/oldphraselists/weapons/weighted | 132 + .../weapons/weighted_portuguese | 51 + .../lists/oldphraselists/webmail/weighted | 46 + .../e2guardian/lists/phraselists/README | 22 + .../chinesebig5/pornography/weighted | 16 + .../chinesegb2312/pornography/weighted | 16 + .../phraselists/danish/goodphrases/weighted | 8 + .../phraselists/danish/pornography/weighted | 56 + .../lists/phraselists/dutch/badwords/weighted | 34 + .../phraselists/dutch/goodphrases/weighted | 7 + .../phraselists/dutch/pornography/weighted | 38 + .../phraselists/french/badwords/weighted | 41 + .../phraselists/french/pornography/weighted | 145 + .../phraselists/german/badwords/weighted | 33 + .../phraselists/german/pornography/weighted | 95 + .../phraselists/italian/badwords/weighted | 368 ++ .../lists/phraselists/italian/chat/weighted | 27 + .../phraselists/italian/pornography/weighted | 347 ++ .../phraselists/japanese/pornography/weighted | 266 + .../phraselists/malay/goodphrases/weighted | 8 + .../phraselists/malay/pornography/weighted | 60 + .../norwegian/pornography/weighted | 71 + .../phraselists/polish/goodphrases/weighted | 44 + .../phraselists/polish/pornography/weighted | 210 + .../phraselists/portuguese/badwords/weighted | 14 + .../phraselists/portuguese/gambling/banned | 9 + .../phraselists/portuguese/gambling/weighted | 11 + .../portuguese/goodphrases/weighted | 46 + .../phraselists/portuguese/gore/weighted | 11 + .../portuguese/illegaldrugs/weighted | 35 + .../phraselists/portuguese/intolerance/banned | 9 + .../portuguese/intolerance/weighted | 19 + .../phraselists/portuguese/personals/banned | 516 ++ .../phraselists/portuguese/personals/weighted | 204 + .../portuguese/pornography/weighted | 704 +++ .../phraselists/portuguese/violence/weighted | 17 + .../phraselists/portuguese/weapons/weighted | 47 + .../russian-1251/pornography/weighted | 59 + .../russian-koi8-r/pornography/weighted | 59 + .../phraselists/spanish/badwords/weighted | 65 + .../phraselists/spanish/pornography/weighted | 66 + .../phraselists/swedish/goodphrases/weighted | 98 + .../phraselists/swedish/pornography/weighted | 90 + .../phraselists/ukenglish/adult/weighted | 76 + .../phraselists/ukenglish/badwords/banned | 3 + .../phraselists/ukenglish/badwords/weighted | 2 + .../lists/phraselists/ukenglish/chat/weighted | 14 + .../ukenglish/drugadvocacy/weighted | 138 + .../phraselists/ukenglish/gambling/banned | 13 + .../phraselists/ukenglish/gambling/weighted | 32 + .../phraselists/ukenglish/games/weighted | 66 + .../ukenglish/goodphrases/exception_email | 12 + .../ukenglish/goodphrases/weighted | 400 ++ .../ukenglish/goodphrases/weighted_news | 37 + .../lists/phraselists/ukenglish/gore/weighted | 12 + .../ukenglish/illegaldrugs/weighted | 84 + .../ukenglish/intolerance/weighted | 82 + .../ukenglish/kidstimewasting/weighted | 7 + .../phraselists/ukenglish/nudism/weighted | 28 + .../phraselists/ukenglish/personals/weighted | 55 + .../phraselists/ukenglish/pornography/banned | 6 + .../ukenglish/pornography/regexpurls | 11 + .../ukenglish/pornography/weighted | 5026 +++++++++++++++++ .../phraselists/ukenglish/proxies/weighted | 86 + .../phraselists/ukenglish/violence/weighted | 117 + .../ukenglish/warezhacking/weighted | 60 + .../phraselists/ukenglish/weapons/weighted | 160 + docker-compose/e2guardian/lists/rooms/default | 2 + docker-compose/e2guardian/preauth.story | 67 + docker-compose/e2guardian/site.story | 42 + run.sh | 14 + sup.sh | 18 - 268 files changed, 27363 insertions(+), 19 deletions(-) create mode 100644 docker-compose/e2guardian/authplugins/dnsauth.conf create mode 100755 docker-compose/e2guardian/authplugins/ident.conf create mode 100644 docker-compose/e2guardian/authplugins/ip.conf create mode 100755 docker-compose/e2guardian/authplugins/pf-basic.conf create mode 100644 docker-compose/e2guardian/authplugins/port.conf create mode 100755 docker-compose/e2guardian/authplugins/proxy-basic.conf create mode 100755 docker-compose/e2guardian/authplugins/proxy-digest.conf create mode 100644 docker-compose/e2guardian/authplugins/proxy-header.conf create mode 100755 docker-compose/e2guardian/authplugins/proxy-ntlm.conf create mode 100644 docker-compose/e2guardian/common.story create mode 100644 docker-compose/e2guardian/contentscanners/avastdscan.conf create mode 100644 docker-compose/e2guardian/contentscanners/clamdscan.conf create mode 100644 docker-compose/e2guardian/contentscanners/commandlinescan.conf create mode 100644 docker-compose/e2guardian/contentscanners/icapscan.conf create mode 100644 docker-compose/e2guardian/contentscanners/kavdscan.conf create mode 100644 docker-compose/e2guardian/downloadmanagers/default.conf create mode 100644 docker-compose/e2guardian/e2guardian.conf create mode 100644 docker-compose/e2guardian/e2guardianf1.conf create mode 100644 docker-compose/e2guardian/examplef1.story create mode 100644 docker-compose/e2guardian/lists/README create mode 100755 docker-compose/e2guardian/lists/authplugins/filtergroupslist create mode 100755 docker-compose/e2guardian/lists/authplugins/ipgroups create mode 100755 docker-compose/e2guardian/lists/authplugins/portgroups create mode 100644 docker-compose/e2guardian/lists/common/README create mode 100644 docker-compose/e2guardian/lists/common/authexceptioniplist create mode 100644 docker-compose/e2guardian/lists/common/authexceptionsitelist create mode 100644 docker-compose/e2guardian/lists/common/authexceptionurllist create mode 100755 docker-compose/e2guardian/lists/common/bannedclientlist create mode 100755 docker-compose/e2guardian/lists/common/bannediplist create mode 100644 docker-compose/e2guardian/lists/common/browserregexplist create mode 100644 docker-compose/e2guardian/lists/common/embededreferersiteiplist create mode 100644 docker-compose/e2guardian/lists/common/embededreferersitelist create mode 100644 docker-compose/e2guardian/lists/common/embededrefererurllist create mode 100755 docker-compose/e2guardian/lists/common/exceptionclientlist create mode 100755 docker-compose/e2guardian/lists/common/exceptioniplist create mode 100755 docker-compose/e2guardian/lists/common/nologextensionlist create mode 100755 docker-compose/e2guardian/lists/common/nologregexpurllist create mode 100755 docker-compose/e2guardian/lists/common/nologsiteiplist create mode 100755 docker-compose/e2guardian/lists/common/nologsitelist create mode 100755 docker-compose/e2guardian/lists/common/nologurllist create mode 100644 docker-compose/e2guardian/lists/common/nomitmsiteiplist create mode 100644 docker-compose/e2guardian/lists/common/nomitmsitelist create mode 100644 docker-compose/e2guardian/lists/common/searchexceptionregexplist create mode 100644 docker-compose/e2guardian/lists/common/searchregexplist create mode 100755 docker-compose/e2guardian/lists/contentscanners/exceptionvirusextensionlist create mode 100755 docker-compose/e2guardian/lists/contentscanners/exceptionvirusmimetypelist create mode 100755 docker-compose/e2guardian/lists/contentscanners/exceptionvirussitelist create mode 100755 docker-compose/e2guardian/lists/contentscanners/exceptionvirusurllist create mode 100755 docker-compose/e2guardian/lists/downloadmanagers/managedextensionlist create mode 100755 docker-compose/e2guardian/lists/downloadmanagers/managedmimetypelist create mode 100755 docker-compose/e2guardian/lists/example.group/README create mode 100644 docker-compose/e2guardian/lists/example.group/addheaderregexplist create mode 100755 docker-compose/e2guardian/lists/example.group/bannedextensionlist create mode 100755 docker-compose/e2guardian/lists/example.group/bannedmimetypelist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedphraselist create mode 100755 docker-compose/e2guardian/lists/example.group/bannedregexpheaderlist create mode 100755 docker-compose/e2guardian/lists/example.group/bannedregexpurllist create mode 100755 docker-compose/e2guardian/lists/example.group/bannedregexpuseragentlist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedsearchlist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedsearchoveridelist create mode 100755 docker-compose/e2guardian/lists/example.group/bannedsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedsslsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedsslsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedtimelist create mode 100644 docker-compose/e2guardian/lists/example.group/bannedurllist create mode 100644 docker-compose/e2guardian/lists/example.group/blankettimelist create mode 100755 docker-compose/e2guardian/lists/example.group/contentregexplist create mode 100644 docker-compose/e2guardian/lists/example.group/domainsnobypass create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionextensionlist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionfilesiteiplist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionfilesitelist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionfileurllist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionmimetypelist create mode 100644 docker-compose/e2guardian/lists/example.group/exceptionphraselist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionregexpheaderlist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionregexpurllist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionregexpuseragentlist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionsiteiplist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionsitelist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionurllist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionvirusextensionlist create mode 100755 docker-compose/e2guardian/lists/example.group/exceptionvirussiteiplist create mode 100755 docker-compose/e2guardian/lists/example.group/greysiteiplist create mode 100755 docker-compose/e2guardian/lists/example.group/greysitelist create mode 100644 docker-compose/e2guardian/lists/example.group/greysslsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/greysslsitelist create mode 100755 docker-compose/e2guardian/lists/example.group/greyurllist create mode 100755 docker-compose/e2guardian/lists/example.group/headerregexplist create mode 100644 docker-compose/e2guardian/lists/example.group/ipnobypass create mode 100644 docker-compose/e2guardian/lists/example.group/localbannedsearchlist create mode 100644 docker-compose/e2guardian/lists/example.group/localbannedsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/localbannedsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/localbannedsslsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/localbannedsslsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/localbannedurllist create mode 100644 docker-compose/e2guardian/lists/example.group/localexceptionsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/localexceptionsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/localexceptionurllist create mode 100644 docker-compose/e2guardian/lists/example.group/localgreysiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/localgreysitelist create mode 100644 docker-compose/e2guardian/lists/example.group/localgreysslsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/localgreysslsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/localgreyurllist create mode 100755 docker-compose/e2guardian/lists/example.group/logregexpurllist create mode 100755 docker-compose/e2guardian/lists/example.group/logsiteiplist create mode 100755 docker-compose/e2guardian/lists/example.group/logsitelist create mode 100755 docker-compose/e2guardian/lists/example.group/logurllist create mode 100644 docker-compose/e2guardian/lists/example.group/nocheckcertsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/nocheckcertsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/oldbannedphraselist create mode 100644 docker-compose/e2guardian/lists/example.group/oldexceptionphraselist create mode 100644 docker-compose/e2guardian/lists/example.group/oldweightedphraselist create mode 100644 docker-compose/e2guardian/lists/example.group/refererexceptionsiteiplist create mode 100644 docker-compose/e2guardian/lists/example.group/refererexceptionsitelist create mode 100644 docker-compose/e2guardian/lists/example.group/refererexceptionurllist create mode 100755 docker-compose/e2guardian/lists/example.group/responseheaderregexplist create mode 100644 docker-compose/e2guardian/lists/example.group/sslsiteregexplist create mode 100644 docker-compose/e2guardian/lists/example.group/urlnobypass create mode 100644 docker-compose/e2guardian/lists/example.group/urlredirectregexplist create mode 100755 docker-compose/e2guardian/lists/example.group/urlregexplist create mode 100644 docker-compose/e2guardian/lists/example.group/weightedphraselist create mode 100755 docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_dutch create mode 100755 docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_french create mode 100755 docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_german create mode 100755 docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_spanish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/chat/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/chat/weighted_italian create mode 100755 docker-compose/e2guardian/lists/oldphraselists/conspiracy/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/domainsforsale/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/drugadvocacy/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/forums/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/gambling/banned create mode 100755 docker-compose/e2guardian/lists/oldphraselists/gambling/banned_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/gambling/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/gambling/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/games/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception_email create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general_danish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general_dutch create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general_malay create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general_polish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general_swedish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_news create mode 100755 docker-compose/e2guardian/lists/oldphraselists/googlesearches/banned create mode 100755 docker-compose/e2guardian/lists/oldphraselists/gore/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/gore/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/idtheft/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/illegaldrugs/banned create mode 100755 docker-compose/e2guardian/lists/oldphraselists/illegaldrugs/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/illegaldrugs/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/intolerance/banned_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/intolerance/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/intolerance/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/legaldrugs/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/malware/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/music/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/news/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/nudism/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/peer2peer/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/personals/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/personals/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/banned create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/banned_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_chinese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_danish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_dutch create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_french create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_german create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_italian create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_japanese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_malay create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_norwegian create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_polish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_russian create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_russian_utf8 create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_spanish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/pornography/weighted_swedish create mode 100755 docker-compose/e2guardian/lists/oldphraselists/proxies/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/rta/banned create mode 100755 docker-compose/e2guardian/lists/oldphraselists/safelabel/banned create mode 100755 docker-compose/e2guardian/lists/oldphraselists/secretsocieties/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/sport/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/translation/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/travel/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/upstreamfilter/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/violence/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/violence/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/warezhacking/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/weapons/weighted create mode 100755 docker-compose/e2guardian/lists/oldphraselists/weapons/weighted_portuguese create mode 100755 docker-compose/e2guardian/lists/oldphraselists/webmail/weighted create mode 100644 docker-compose/e2guardian/lists/phraselists/README create mode 100755 docker-compose/e2guardian/lists/phraselists/chinesebig5/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/chinesegb2312/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/danish/goodphrases/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/danish/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/dutch/badwords/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/dutch/goodphrases/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/dutch/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/french/badwords/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/french/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/german/badwords/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/german/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/italian/badwords/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/italian/chat/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/italian/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/japanese/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/malay/goodphrases/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/malay/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/norwegian/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/polish/goodphrases/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/polish/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/badwords/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/gambling/banned create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/gambling/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/goodphrases/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/gore/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/illegaldrugs/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/intolerance/banned create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/intolerance/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/personals/banned create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/personals/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/violence/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/portuguese/weapons/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/russian-1251/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/russian-koi8-r/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/spanish/badwords/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/spanish/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/swedish/goodphrases/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/swedish/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/adult/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/badwords/banned create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/badwords/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/chat/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/drugadvocacy/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/gambling/banned create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/gambling/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/games/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/goodphrases/exception_email create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/goodphrases/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/goodphrases/weighted_news create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/gore/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/illegaldrugs/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/intolerance/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/kidstimewasting/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/nudism/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/personals/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/pornography/banned create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/pornography/regexpurls create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/pornography/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/proxies/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/violence/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/warezhacking/weighted create mode 100755 docker-compose/e2guardian/lists/phraselists/ukenglish/weapons/weighted create mode 100755 docker-compose/e2guardian/lists/rooms/default create mode 100644 docker-compose/e2guardian/preauth.story create mode 100644 docker-compose/e2guardian/site.story diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index ccf1384..4140c72 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -12,7 +12,7 @@ services: - supicapport=1344 - autoreload=/etc/squid volumes: - - ./squid:/etc/squid + - ./squid:/etc/squid:ro logging: options: max-size: "100m" diff --git a/docker-compose/e2guardian/authplugins/dnsauth.conf b/docker-compose/e2guardian/authplugins/dnsauth.conf new file mode 100644 index 0000000..ace9a38 --- /dev/null +++ b/docker-compose/e2guardian/authplugins/dnsauth.conf @@ -0,0 +1,19 @@ +# IP/DNS-based auth plugin +# +# Obtains user and group from domain entry maintained by separate authentication# program. + +plugname = 'dnsauth' + +# Base DNS domain +#basedomain = "my.privatedomain" + +# Authentication URL +#authurl = "http://192.168.1.3/auth/login/login.pl?url" + +# Prefix for auth URLs +#prefix_auth = "http://192.168.1.3/auth/" + +# Redirect to auth (i.e. log-in) +# yes - redirects to authurl to login +# no - drops through to next auth plugin +redirect_to_auth = "yes" diff --git a/docker-compose/e2guardian/authplugins/ident.conf b/docker-compose/e2guardian/authplugins/ident.conf new file mode 100755 index 0000000..9283616 --- /dev/null +++ b/docker-compose/e2guardian/authplugins/ident.conf @@ -0,0 +1,23 @@ +# Ident auth plugin +# Identifies users via IDENT servers running on client machines + +plugname = 'ident' + +story_function = 'auth_ident' +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy and icap requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/authplugins/ip.conf b/docker-compose/e2guardian/authplugins/ip.conf new file mode 100644 index 0000000..dc8eb0c --- /dev/null +++ b/docker-compose/e2guardian/authplugins/ip.conf @@ -0,0 +1,29 @@ +# IP-based auth plugin +# +# Maps client IPs to filter groups. +# If "usexforwardedfor" is enabled, grabs the IP from the X-Forwarded-For +# header, if available. + +plugname = 'ip' + +# ipgroups file - is defined in e2guardian.conf from v5.4 +# List file assigning IP addresses, subnets and ranges to filter groups + +story_function = 'auth_ip' +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy and icap requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/authplugins/pf-basic.conf b/docker-compose/e2guardian/authplugins/pf-basic.conf new file mode 100755 index 0000000..b964672 --- /dev/null +++ b/docker-compose/e2guardian/authplugins/pf-basic.conf @@ -0,0 +1,24 @@ +# Proxy-Basic auth plugin +# Identifies usernames in "Proxy-Authorization: Basic" headers; +# relies upon the upstream proxy (squid) to perform the actual password check. + +plugname = 'pf-basic' + +story_function = 'auth_pf_basic' +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/authplugins/port.conf b/docker-compose/e2guardian/authplugins/port.conf new file mode 100644 index 0000000..1e9bebf --- /dev/null +++ b/docker-compose/e2guardian/authplugins/port.conf @@ -0,0 +1,24 @@ +# IP-Port-based auth plugin +# +# Maps IP Ports to filter groups. + +plugname = 'port' + +story_function = auth_port +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy and icap requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/authplugins/proxy-basic.conf b/docker-compose/e2guardian/authplugins/proxy-basic.conf new file mode 100755 index 0000000..4deeec5 --- /dev/null +++ b/docker-compose/e2guardian/authplugins/proxy-basic.conf @@ -0,0 +1,24 @@ +# Proxy-Basic auth plugin +# Identifies usernames in "Proxy-Authorization: Basic" headers; +# relies upon the upstream proxy (squid) to perform the actual password check. + +plugname = 'proxy-basic' + +story_function = 'auth_proxy_basic' +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy and icap requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/authplugins/proxy-digest.conf b/docker-compose/e2guardian/authplugins/proxy-digest.conf new file mode 100755 index 0000000..4fd7828 --- /dev/null +++ b/docker-compose/e2guardian/authplugins/proxy-digest.conf @@ -0,0 +1,26 @@ +# Proxy-Digest auth plugin +# Identifies usernames in "Proxy-Authorization: Digest" headers; +# relies upon the upstream proxy (squid) to perform the actual password check. + +# Contributed by Darryl Sutherland + +plugname = 'proxy-digest' + +story_function = auth_proxy_digest +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy and icap requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/authplugins/proxy-header.conf b/docker-compose/e2guardian/authplugins/proxy-header.conf new file mode 100644 index 0000000..4b157c6 --- /dev/null +++ b/docker-compose/e2guardian/authplugins/proxy-header.conf @@ -0,0 +1,34 @@ +# Proxy-header auth plugin +# FredB August 2016 +# Identifies users with header; +# relies upon the upstream proxy. +# Eg: in groups file +# Mozilla/5.0 (Windows NT 6.1; rv:47.0) Gecko/20100101 Firefox/47.0=filter3 +# here: +# header = 'user-agent' +# Firefox 47 + windows is added to group3 without any kind of authentification (! not related with your proxy configuration/identification !) +# THIS IS REALLY INSECURE This can be easily compromised by spoofing the Origin header + +# low case +header = '' + +plugname = 'proxy-header' + +story_function = auth_proxy_header +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy and icap requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/authplugins/proxy-ntlm.conf b/docker-compose/e2guardian/authplugins/proxy-ntlm.conf new file mode 100755 index 0000000..8a1e4c3 --- /dev/null +++ b/docker-compose/e2guardian/authplugins/proxy-ntlm.conf @@ -0,0 +1,24 @@ +# Proxy-NTLM auth plugin +# Identifies usernames in "Proxy-Authorization: NTLM" headers; +# relies on the upstream proxy (squid) to perform the actual password check. + +plugname = 'proxy-ntlm' + +story_function = auth_proxy_ntlm +# This defines the storybaord function in pre-auth.story +# which determines the filter group used. + +# Default group settings for this plug-in +# If these are set group determination will always succeed +# and auth plug-in scan will stop +# even if the user is not found in group list(s) + +# These settings override the global defaultfiltergroup and +# defaulttransparentfiltergroup settings for this plug-in only. + +#defaultfiltergroup = 1 +# This applies to explict proxy and icap requests + +#defaulttransparentfiltergroup = 2 +# This appies to transparent requests (http & https) +# Note if not defined does NOT default to defaultfiltergroup diff --git a/docker-compose/e2guardian/common.story b/docker-compose/e2guardian/common.story new file mode 100644 index 0000000..074125d --- /dev/null +++ b/docker-compose/e2guardian/common.story @@ -0,0 +1,331 @@ +# Storyboard library file + +# For ease of upgrade DO NOT CHANGE THIS library file +# Make your function changes by using user 'hook' functions +# or by overriding functions +# in the site.story file - for site wide changes. +# +# and in filtergroup specific story file - see examplef1.story +# +# This library is built to largely duplicate the logic in V4 +# +# Many e2guardian[f1].conf flags are replaced by overiding +# library functions - see site.story and examplef1.story +# +# Simple functions are defined which control the logic flow and the +# lists that are used. See notes/Storyboard for details. +# +# The entry point in v5 for standard filtering is 'checkrequest' +# + +# Entry function called by standard proxy module to check http, +# https proxy and transparent http requests +# It is also called within a MITM session +function(checkrequest) +if(true) returnif hook_checkrequest +if(viruscheckset) checknoscanlists +if(bypassallowset) checknobypasslists +if(exceptionset) return true +#if(fullurlin,searchterms) setsearchterm +if(true) is_search_term +ifnot(greyset) returnif localcheckrequest +if(connect) return sslrequestcheck +ifnot(greyset) returnif exceptioncheck +ifnot(greyset) greycheck +ifnot(greyset) returnif bannedcheck +if(fullurlin, change) setmodurl +if(true) returnif embeddedcheck +if(headerin,headermods) setmodheader +if(fullurlin, addheader) setaddheader +if(searchin,override) setexception +if(returnset) return setdone +if(searchin,banned) return setblock +if(fullurlin,redirect) return setredirect +if(true) setgrey + + +# Entry function called by proxy module to check http response +# It is also called within a MITM session +function(checkresponse) +if(true) returnif hook_checkresponse +if(exceptionset) return false +if(responseheaderin,reponseheadermods) setmodheader +if(viruscheckset) checknoscantypes +if(urlin,exceptionfile) return false +if(true) return checkfiletype + +# Entry function called by THTTPS module to check https request +function(thttps-checkrequest) +if(true) returnif hook_thttps-checkrequest +if(true) thttps_automitm +if(true) returnif checktimesblocked +if(true) returnif localsslrequestcheck +if(true) returnif sslrequestcheck +ifnot(hassniset) checksni + +# Entry function called by ICAP module to check reqmod +function(icap-checkrequest) +if(true) returnif hook_icap-checkrequest +#unless blocked or redirect or connect - leave logging for RESPMOD +if(connect) return icapsslrequestcheck +ifnot(greyset) icap-checkrequest2 +if(redirectset) return true +ifnot(blockset) setnolog + +function(icap-checkrequest2) +if(viruscheckset) checknoscanlists +if(bypassallowset) checknobypasslists +if(exceptionset) return true +#if(fullurlin,searchterms) setsearchterm +if(true) is_search_term +ifnot(greyset) returnif localcheckrequest +ifnot(greyset) returnif exceptioncheck +ifnot(greyset) greycheck +ifnot(greyset) returnif bannedcheck +if(fullurlin, change) setmodurl +if(true) returnif embeddedcheck +if(headerin,headermods) setmodheader +if(fullurlin, addheader) setaddheader +if(searchin,override) return setgrey +if(searchin,banned) return setblock +if(true) setgrey + +# Entry function called by ICAP module to check respmod +function(icap-checkresponse) +if(true) returnif hook_icap-checkresponse +if(viruscheckset) checknoscanlists +if(true) return checkresponse + +# Checks embeded urls +# returns true if blocked, otherwise false +function(embeddedcheck) +if(embeddedin, localexception) return false +if(embeddedin, localgrey) return false +if(embeddedin, localbanned) return setblock +if(embeddedin, exception) return false +if(embeddedin, grey) return false +if(embeddedin, banned) return setblock + +# Local checks +# returns true if matches local exception or banned +function(localcheckrequest) +if(true) returnif hook_localcheckrequest +if(connect) return localsslrequestcheck +if(true) checktimesblocked +if(returnset) return setblock +ifnot(greyset) returnif localexceptioncheck +ifnot(greyset) localgreycheck +ifnot(greyset) returnif localbannedcheck +if(searchin,localbanned) return setblock + + +# Local SSL checks +# returns true if matches local exception +function(localsslrequestcheck) +if(true) returnif hook_localsslrequestcheck +if(true) returnif sslchecktimesblocked +if(sitein, localexception) return setexception +if(sitein, localgreyssl) returnif sslcheckmitm +if(sitein, localbanned) true +ifnot(returnset) return false +if(true) returnif sslcheckmitm +if(true) return setblock + +# SSL site replace (used instead of dns kulge) +# returns true on match and successful replacement +function(sslreplace) +if(fullurlin,sslreplace) return setconnectsite +if(true) return false + +function(sslchecktimesblocked) +if(true) checktimesblocked +ifnot(returnset) return false +if(true) returnif sslcheckmitm +if(true) return setblock + +# Local grey check +# returns true on match +function(localgreycheck) +if(urlin, localgrey) return setgrey + +# Local banned check +# returns true on match +function(localbannedcheck) +if(urlin, localbanned) return setblock + +# Local exception check +# returns true on match +function(localexceptioncheck) +if(urlin, localexception) return setexception + +# Exception check +# returns true on match +function(exceptioncheck) +if(urlin, exception) return setexception +if(refererin,refererexception) return setexception +if(headerin, exceptionheader) return setexception +if(useragentin, exceptionuseragent) return setexception +ifnot(urlin,embededreferer) return false +if(embeddedin,refererexception) return setexception + +# SSL Exception check +# returns true on match +function(sslexceptioncheck) +if(sitein, exception) return setexception +if(headerin, exceptionheader) return setexception +if(useragentin, exceptionuseragent) return setexception +if(true) return false + +# Greylist check +# returns true on match +function(greycheck) +if(urlin, grey) return setgrey + +# Banned list check +# returns true on match +function(bannedcheck) +if(true) returnif checkblanketblock +if(urlin, banned) return setblock +ifnot(urlin,exceptionfile) returnif checkurlextension +if(useragentin, banneduseragent) return setblock +if(headerin, bannedheader) return setblock + +# Checks url for banned extensions +# returns true on match +function(checkurlextension) +if(urlin,bannedextension) return setblock + +# Local SSL list(s) check +# returns true on match +function(localsslcheckrequest) +if(true) returnif hook_localsslcheckrequest +if(sitein, localexception) return setexception +#if(sitein, localbanned) return setblock + +# Check whether to go MITM +# returns true if yes, false if no +function(sslcheckmitm) +# use next line to have general MITM +if(true) return sslcheckmitmgeneral +# use next line instead of last to limit MITM to greylist +#if(true) return sslcheckmitmgreyonly + +# Always go MITM +# returns true if yes, false if no +function(sslcheckmitmgeneral) +if(true) setgomitm +ifnot(returnset) return false +if(sitein, nocheckcert) setnocheckcert +if(true) sslreplace +if(true) return true + +# Only go MITM when in greyssl list +# returns true if yes, false if no +function(sslcheckmitmgreyonly) +if(sitein, greyssl) setgomitm +ifnot(returnset) return false +if(sitein, nocheckcert) setnocheckcert +if(true) sslreplace +if(true) return true + +# SSL request check +# returns true if exception or gomitm +function(sslrequestcheck) +if(true) returnif hook_sslrequestcheck +if(true) returnif sslexceptioncheck +if(true) returnif sslcheckmitm +if(sitein, banned) return setblock +if(true) sslreplace +ifnot(returnset) returnif sslcheckblanketblock +if(true) setgrey + +function(checknoscanlists) +if(urlin,exceptionvirus) unsetviruscheck + +function(checknoscantypes) +if(mimein,exceptionvirus) return unsetviruscheck +if(extensionin,exceptionvirus) return unsetviruscheck + +function(checknobypasslists) +if(urlin,bannedbypass) return unsetbypassallow + +# ICAP SSL request check +# returns true if exception +function(icapsslrequestcheck) +if(true) returnif hook_icapsslrequestcheck +if(true) returnif icapsquidbump +if(true) returnif sslexceptioncheck +# Squid ignores sslreplace and throws error so comment out for now +#t configif(true) sslreplace +if(sitein, banned) return setblock + +# Blanket block +# returns true if to block +# Placeholder function - overide in fn.story +function(checkblanketblock) + +# SSL Blanket block +# returns true if to block +# Placeholder function - overide in fn.story +function(sslcheckblanketblock) + +# ICAP Squid bump +# override in site.story to return true if bump is being deployed on squid +function(icapsquidbump) + +# File type blocking +# returns true if blocking +# Default uses banned lists and allows all others +# Overide in site.story or fn.story if only types in exception file type lists +# are to be allowed +function(checkfiletype) +if(mimein, bannedmime) return setblock +if(extensionin, bannedextension) return setblock + +# SNI checking - determines default action when no SNI or TSL is present on a +# THTTPS connection +# Default blocks all requests with TLS or SNI absent that are not ip site exceptions +function(checksni) +ifnot(tls,,511) return setblock +ifnot(hassniset,,512) return setblock + +# automitm on transparent https +# default enables on transparent https - to allow block/status pages to browsers +# override this is fn.story if this causes problems with apps +function(thttps_automitm) +if(true) setautomitm + +# Timed global block +# returns true if to block +# Placeholder function - overide in fn.story +function(checktimesblocked) + +# Entry function to check if to log +# returns true if log entry is to be made +# This can be overriden in site.story (or fn.story) to log all for testing. +function(checklogging) +if(urlin,nolog) setnolog +if(returnset) return false +if(true) return true + +function(is_search_term) +if(urlin,searchtermexceptions) return false +if(fullurlin,searchterms) setsearchterm +if(returnset) return true + +# Placeholder functions for user hooks +# Allow user code to be actioned at the start of key functions +# If hook function returns false (default) processing continues +# in parent function +# if hook function returns true parent function exits with true +# +function(hook_checkrequest) +function(hook_checkresponse) +function(hook_thttps-checkrequest) +function(hook_icap-checkrequest) +function(hook_icap-checkresponse) +function(hook_localcheckrequest) +function(hook_localsslrequestcheck) +function(hook_localsslcheckrequest) +function(hook_sslrequestcheck) +function(hook_icapsslrequestcheck) diff --git a/docker-compose/e2guardian/contentscanners/avastdscan.conf b/docker-compose/e2guardian/contentscanners/avastdscan.conf new file mode 100644 index 0000000..4968e07 --- /dev/null +++ b/docker-compose/e2guardian/contentscanners/avastdscan.conf @@ -0,0 +1,12 @@ +plugname = 'avastdscan' + +# edit this to match the location of your AvastD UNIX domain socket +#avastdudsfile = '/var/run/avast4/local.sock' + +# edit this to block unscannable files (e.g. encrypted archives) +#archivewarn = off + +#Specify the version of avast protocol. It Must be 'avast4' or 'avast2014' +#default is avast4 for compatibility +avastprotocol = 'avast4' + diff --git a/docker-compose/e2guardian/contentscanners/clamdscan.conf b/docker-compose/e2guardian/contentscanners/clamdscan.conf new file mode 100644 index 0000000..7ef3800 --- /dev/null +++ b/docker-compose/e2guardian/contentscanners/clamdscan.conf @@ -0,0 +1,13 @@ +plugname = 'clamdscan' + +# edit this to match the location of your ClamD UNIX domain socket +#clamdudsfile = '/var/run/clamav/clamd.sock' + +# If this string is set, the text it contains shall be removed from the +# beginning of filenames when passing them to ClamD. +# Use it to - for example - support a ClamD running inside a chroot jail: +# if DG's filecachedir is set to "/var/clamdchroot/downloads/" and pathprefix +# is set to "/var/clamdchroot", then file names given to ClamD will be of the +# form "/downloads/tf*" instead of "/var/clamdchroot/downloads/tf*". +#pathprefix = '/var/clamdchroot' + diff --git a/docker-compose/e2guardian/contentscanners/commandlinescan.conf b/docker-compose/e2guardian/contentscanners/commandlinescan.conf new file mode 100644 index 0000000..9822d99 --- /dev/null +++ b/docker-compose/e2guardian/contentscanners/commandlinescan.conf @@ -0,0 +1,45 @@ +plugname = 'commandlinescan' + +# Program to run & initial arguments - filename for scanning will be appended +#progname = /path/to/scanner + +# At least one of the following three options must be defined! +# They are checked in the following order, with the first match determining +# the scan result: +# virusregexp - regular expression for extracting virus names from +# the scanner's output +# cleancodes - program return code(s), as a comma-separated list, for +# uninfected files +# infectedcodes - program return code(s), as a comma-separated list, for +# infected files + +#virusregexp = (someregexp) + +# Which submatch of the above contains the virus name? (0 = all matched text) +#submatch = 1 + +# cleancodes = 0 +# infectedcodes = 1,2,3 + +# Default result when none of the other options triggers a match +# Valid values are "infected" and "clean" +#defaultresult = infected + + + +# +# Example configuration for clamdscan +# + +## Path to binary +#progname = '/usr/bin/clamdscan' + +## Program returns 0 for clean files (for an easy out) +#cleancodes = 0 + +## Regular expression for virus names +#virusregexp = : ([ -/a-zA-Z0-9\.]+) FOUND +#submatch = 1 + +## Default scan result when the above don't match +#defaultresult = infected diff --git a/docker-compose/e2guardian/contentscanners/icapscan.conf b/docker-compose/e2guardian/contentscanners/icapscan.conf new file mode 100644 index 0000000..8e5dd19 --- /dev/null +++ b/docker-compose/e2guardian/contentscanners/icapscan.conf @@ -0,0 +1,8 @@ +plugname = 'icapscan' + +# ICAP URL +# Use hostname rather than IP address +# Always specify the port +# +icapurl = 'icap://icapserver:1344/avscan' + diff --git a/docker-compose/e2guardian/contentscanners/kavdscan.conf b/docker-compose/e2guardian/contentscanners/kavdscan.conf new file mode 100644 index 0000000..3c3c1b2 --- /dev/null +++ b/docker-compose/e2guardian/contentscanners/kavdscan.conf @@ -0,0 +1,13 @@ +plugname = 'kavdscan' + +# edit this to match the location of your KAVD UNIX domain socket +#kavdudsfile = '/var/run/aveserver' + +# If this string is set, the text it contains shall be removed from the +# beginning of filenames when passing them to KAVD. +# Use it to - for example - support a KAVD running inside a chroot jail: +# if DG's filecachedir is set to "/var/kavdchroot/downloads/" and pathprefix +# is set to "/var/kavdchroot", then file names given to KAVD will be of the +# form "/downloads/tf*" instead of "/var/kavdchroot/downloads/tf*". +#pathprefix = '/var/kavdchroot' + diff --git a/docker-compose/e2guardian/downloadmanagers/default.conf b/docker-compose/e2guardian/downloadmanagers/default.conf new file mode 100644 index 0000000..61935a8 --- /dev/null +++ b/docker-compose/e2guardian/downloadmanagers/default.conf @@ -0,0 +1,17 @@ +# The default download manager. +# This is the safest option for unknown user-agents and content types, and +# hence a good one to include last. + +# Which plugin should be loaded? +plugname = 'default' + +# Regular expression for matching user agents +# When not defined, matches all agents. +#useragentregexp = '.*' + +# Lists of mime types and extensions to manage +# When not defined, matches everything. +# These can be enabled separately; when both enabled, +# a request may match either list. +#managedmimetypelist = '' +#managedextensionlist = '' diff --git a/docker-compose/e2guardian/e2guardian.conf b/docker-compose/e2guardian/e2guardian.conf new file mode 100644 index 0000000..4d28d1f --- /dev/null +++ b/docker-compose/e2guardian/e2guardian.conf @@ -0,0 +1,1348 @@ +# e2guardian config file for version 5.4.4 + +#NOTE This file (and any .Include<> files) are only read at start-up +# +# but the lists defined in this file are re-read on reload or gentle restart +# as is any rooms directory files. + +### Config is now split into sections as follows +### +### QUICK_START - Items to check to get you started +### NAMES_PATHS - Names & Path settings +### NETWORK - Network settings +### MITM - SSL MITM settings +### ICAP_SERVICE - ICAP server mode settings +### TRANSPARENT - Transparent proxy settings +### AUTH - Authentication (user and group assignment) +### settings and lists +### ACCESS_LOG - Access log settings +### MONITORING - Monitoring settings +### URL_FILTERING - URL filtering settings +### LIST_SETTINGS - Settings on how lists are handled +### AV_SCANNERS - AV scanner settings and lists +### HEADER - HTTP Header handling +### BLOCK_PAGE - Block Page formats and handling +### DOWNLOAD_MANAGER - Download manager settings +### PHRASES - Content phrase settings +### TUNING - Tuning parameters +### DEBUG - Debug settings +### PROCESS - e2guardian process settings +### OBSOLETE - Obsolete settings +### INFO - Info on new features etc +### + +### QUICK_START section +### +### e2guardian will work as a normal http/s proxy server +### listening on port 8080 +### without you making any changes to this file. +### +### This section contains settings that you may want to +### change, e.g language, dockermode, to set ICAP mode or enable SSL MITM +### support +### + +# language to use from languagedir. +language = 'ukenglish' + +#.Define LISTDIR +# NEW in v5.4.2 - LISTDIR 'variable' definition +# This works similarly to a shell environment variable +# The text between <> will replace occurances of __LISTDIR__ in .conf and +# list files. +# See INFO section for more details +# default LISTDIR value for e2guardian.conf is E2CONFDIR/lists/commom + +dockermode = on +# +# Container mode +# the process will not fork into the background AND log in stdout +# In this mode systemd service is disabled ! +# Default: off + +# loop prevention +# +# For loop prevention purposes list all IPs e2g can be reached on +# Include all e2g host server IPs and any VIP used when when in an array. +# If squid in front then add ip of squid server and squid port in extracheckports +# Specify each IP on an individual checkip line or multiple IP on a single line separated by ':' +# +#checkip = 127.0.0.1 +#checkip = ip_of_server +#checkip = 2nd ip of server +#checkip = VIP of server +# or +#checkip = 127.0.0.1:ip_of_server:2nd IP of server:VIP +# +# Defaults: Not set - only loop prevention for 127.0.0.1 requests +# +#extracheckports = 3128 +# +# by default e2g will loop protect for all ports defined in filterports +# If you are using squid in front or other device which re-assigns ports +# then add the user-facing port(s) to extracheckports +# Specify each port on an individual extracheckports line or multiple ports on a single line separated by ':' + +#transparenthttpsport = 8443 +# +#port for transparent https +#NOTE: To make work firewall will need to redirect tcp port 443 on routed +# packets to this port and ssl must be enabled with enablessl = on +# default 0 - i.e. disabled + +icapport = 1344 +# +#port for ICAP server +#if defined enables icap server mode +# default is 0 - i.e. disabled + +#proxyip = 127.0.0.1 +# +# the ip of upstream proxy - optional - if blank e2g will go direct to sites. +# default is "" i.e. no proxy + +#filtergroups = 1 +# +# filtergroups sets the number of filter groups. +# A filter group is a set of content filtering options you can apply to a +# group of users. +# The value must be 1 or more. +# e2guardian will automatically look for e2guardianfN.conf where N is the filter +# group. +# default 1 + +#defaultfiltergroup = 1; +# +# default filtergroup for standard (explicit proxy) mode +# optional defaults to 1 + +#enablessl = on +# +# Enable SSL support +# This must be present to enable MITM and Cert checking +# If on you must also check the MITM section. +# default is off + +### +### END of QUICK_START section + + +### NAMES_PATHS section +### + +# servername = 'my_name" +# +# Default is to use the system name of the host in logs + +#daemonuser = 'e2guardian' +#daemongroup = 'e2guardian' +# +# Daemon runas user and group +# This is the user that e2guardian runs as. Normally the user/group nobody. +# Uncomment to use. Defaults to the user/group set at compile time. +# +# Temp files created during virus scanning are given owner and group read +# permmision so, if you have clamdscan plugin enabled, +# the two processes must run with either the same group or user ID. + +languagedir = '/usr/share/e2guardian/languages' +# +# The HTML templates within this dir are only used when reportinglevel +# is set to 3. When used, e2guardian will display the HTML file instead of +# using the perl cgi script. This option is faster, cleaner +# and easier to customise the access denied page. +# The language file is used no matter what setting however. +# + +#preauthstoryboard = '/etc/e2guardian/preauth.story' +# +# default '/etc/e2guardian/preauth.story' + +# perroomdirectory = '__LISTDIR__/../rooms/' +# +# Per-Room definition directory +# A directory containing text files containing the room's name followed by IPs or ranges +# and optionaly site and url lists +# Think of it as bannediplist and/or exceptions on crack + +### +### END of NAMES_PATHS section + + +### NETWORK section +### + +#filterip = +# +# the IP that e2guardian listens on. If left blank e2guardian will +# listen on all IPs. That would include all NICs, loopback, modem, etc. +# Normally you would have your firewall protecting this, but if you want +# you can limit it to a certain IP. To bind to multiple interfaces, +# specify each IP on an individual filterip line or separate IPs with ':' on a single line +# default "" - listen on all IPs + +#filterports = 8080 +#filterports = 8081 +# +# The port(s) that e2guardian listens to for proxy traffic. +# Specify one line per port used for standard explict proxy or separate ports with ':' on a single line +# These ports can also be used for redirected tranparent HTTP +# Default is to listen on 8080 for proxy traffic + +#proxyport = 3128 +# +# the port e2guardian connects to any upstream proxy on +# default 3128 + +### +### END of NETWORK section + + +### MITM section +### + +# Check these settings if enablessl = on +# For instructions on how to set this up +# see notes/ssl_mitm + +#sslcertificatepath = '' +# +#SSL certificate checking path +#Path to CA certificates used to validate the certificates of https sites. +# if left blank openssl default ca certificate bundle will be used +#Leave as default unless you want to load non-default cert bundle + +#SSL man in the middle + +cacertificatepath = '/etc/e2guardian/private/ca.pem' +# +#CA certificate path +#Path to the CA certificate to use as a signing certificate for +#generated certificates. +# required if ssl_mitm is enabled. + +caprivatekeypath = '/etc/e2guardian/private/ca.key' +# +#CA private key path +#path to the private key that matches the public key in the CA certificate. +# required if ssl_mitm is enabled. + +certprivatekeypath = '/etc/e2guardian/private/cert.key' +# +#Cert private key path +#The public / private key pair used by all generated certificates +# required if ssl_mitm is enabled. + +generatedcertpath = '/etc/e2guardian/private/generatedcerts/' +# +#Generated cert path +#The location where generated certificates will be saved for future use. +#(must be writable by the e2 user) +# required if ssl_mitm is enabled. + +#Warning: if you change the cert start/end time from default on a running +# system you will need to clear the generated certificate +# store and also may get problems on running client browsers + +# generatedcertstart = 1417872951 +# +#Generated cert start time (in unix time) - optional +# defaults to 1417872951 = 6th Dec 2014 + +# generatedcertend = +# +#Generated cert end time (in unix time) - optional +# defaults to generatedcertstart + 10 years + +#useopensslconf = off +# +# Use openssl configuration file +# switch this on if you want e2g to read in openssl configuration +# This is useful if you want to use a hardware acceleration engine. +# default is off + +# opensslconffile = '/etc/e2guardian/openssl.conf' +# +# Alternate openssl configuration file +# only used if useopensslconf = on +# default is to use standard openssl configuration file +# only use this if an alternate openssl configuration file is used for e2g + +# setcipherlist = "HIGH:!ADH:!MD5:!RC4:!SRP:!PSK:!DSS" +# +# Sets the cipher list used by openssl +# Default is "HIGH:!ADH:!MD5:!RC4:!SRP:!PSK:!DSS" +# May be withdrawn in future versions as best defined in openssl.conf + +# Sites that are impossible or undesirable to MITM +# +sitelist = 'name=nomitm,path=__LISTDIR__/nomitmsitelist' +ipsitelist = 'name=nomitm,path=__LISTDIR__/nomitmsiteiplist' + +### +### END of MITM section + + +### ICAP_SERVICE section +### + +#defaulticapfiltergroup = 1 +# +# default filtergroup for ICAP mode +# defaults to 1 + +#icapreqmodurl = 'request' +#Url to respond to ICAP reqmod queries +# default 'request' + +#icapresmodurl = 'response' +#Url to respond to ICAP respmod queries +# default 'response' + +### +### END of ICAP_SERVICE section + + +### TRANSPARENT section +### + +#defaulttransparentfiltergroup = 1; +# +# default filtergroup for transparent proxy mode (http and thttps) +# optional defaults to 1 + +#useoriginalip = on +# +# This option only applies when request is transparent (http or https), +# when no upstream proxy is used, and where it is possible to detect +# the original destination ip & port +# When enabled the upstream request will be directed at the original ip and port +# and no DNS lookup will be performed. +# This solves the 'snapchat' issue and also should increase speed of connection. +# Currently this ONLY works on linux systems. +# BSD developers, PLEASE HELP fix this for BSD, pfsense etc! +# default = on (linux) ignored (bsd) + +### +### END of TRANSPARENT section + + +### AUTH section +### +### In the context of e2guardian authentication is primarly +### the determination of the filter group to be used. +### +### Some of the plug-in also return a username which is +### then used in the access log + +# Auth plugins +# +# Handle the extraction of client usernames and groups from various sources, +# enabling requests to be handled according to the settings of the user's +# filter group. +# + +## There are five ways that e2g can be deployed and this affects the auth +## plugins available +## +## +## 'Standalone' - e2g handles client and upstream traffic +## +## 'Proxy-First' - client is logged in by proxy (squid) +## and proxy passes e2g the user name in a 'basic' proxy +## auth header +## +## 'Proxy-After' - client points to e2g which then uses upstream proxy +## This is the method used by dg/e2g until v5. +## If authentication is enabled on proxy, then +## sslreplace, 'Transparent' or IP auth will not work. +## +## 'Transparent' - 80/443 requests are redirected to e2g on gateway +## Can be used with Standalone or Proxy-After mode +## Note: only IP based plugins will be used in this +## and so normaly it is not possible to capture the +## user name. However, devices using transparent +## can be put in their own default group. +## +## 'ICAP mode' - All trafic goes via squid and squid uses e2g as an +## ICAP server. +## ICAP has built in auth as username is supplied in the ICAP header +## by squid. The user is checked against the filtergroupslist to get the +## group. To cater for the situation where user is missing ip based +## plugins such as 'ip' can be used as fall back. +## +## Note that e2g can support multiple methods at the same time, +## e.g. Standalone, Transparent and ICAP server + + +## There are three types of plugin +## 'Native', 'Proxy-first' and 'Proxy-after' + +## 'Native' plugins - these do not require use of a proxy + +#authplugin = '/etc/e2guardian/authplugins/ident.conf' +# Requires identd running on each client - gives username + +# Group based on ip or ip range - pseudo username of the ip +#authplugin = '/etc/e2guardian/authplugins/ip.conf' + +# Group based on e2g port number - pseudo username of the port +# for this option the ports have to be declared as multiple filterport line +#authplugin = '/etc/e2guardian/authplugins/port.conf' + +# User and group obtained from dns entries mapping ip to user/group +# dns entries maintained by separate authentication program. +#authplugin = '/etc/e2guardian/authplugins/dnsauth.conf' + +# HELP - more native plugins needed! 'basic' etc. + +## 'Proxy-first' plugin - requires a proxy in front to do the user +## authentication. + +# Use pf-basic.conf where proxy is doing auth in front of e2g +# New in v5.4 +#authplugin = '/etc/e2guardian/authplugins/pf-basic.conf' + +# User defined in header - requires interception prior to e2g +# to add headers +#authplugin = '/etc/e2guardian/authplugins/proxy-header.conf' + +# ip plugin can also be used in Proxy first mode. + +## 'Proxy-after' plugins - requires a proxy behind. +## These are pass-through plugins which reply on sniffing the +## proxy auth headers between client and proxy to get username +## - DEPRECIATED and will be removed in next release +## - Use Proxy-first plugin and squid in front of e2g instead + +# Basic auth on back-end proxy +#authplugin = '/etc/e2guardian/authplugins/proxy-basic.conf' +## - DEPRECIATED and will be removed in next release + +# Digest auth on back-end proxy +#authplugin = '/etc/e2guardian/authplugins/proxy-digest.conf' +## - DEPRECIATED and will be removed in next release + +# NTLM (only v1) auth on back-end proxy +#authplugin = '/etc/e2guardian/authplugins/proxy-ntlm.conf' +## - DEPRECIATED and will be removed in next release + +# All native plugins can also be used in proxy-after mode +# but only when auth is not forced by the upstream proxy + + +## Auth mapping files - Map users (or client IPs) to filter groups +## Note that from v5.4 lists used by auth plugins are defined here and +## not in auth *.conf files + +# Generic user to group mapping - used by default by basic, digest, ntlm, +# ident & icap plugins +maplist = 'name=defaultusermap, path=__LISTDIR__/../authplugins/filtergroupslist' +# for ip auth +ipmaplist = 'name=ipmap, path=__LISTDIR__/../authplugins/ipgroups' + +# for port auth +maplist = 'name=portmap, path=__LISTDIR__/../authplugins/portgroups' + + +# If on a user without group is considered like unauthenfied +# E2guardian tries the next plugin +# If off the user is connected with defaultgroup +# Defaults to off +# authrequiresuserandgroup = off + +# Authentication exception/banned clients +# +# bannediplist is ONLY for banned client IP +iplist = 'name=bannedclient,messageno=100,logmessageno=103,path=__LISTDIR__/bannediplist' +# exceptioniplist is ONLY for exception client IP +iplist = 'name=exceptionclient,messageno=600,path=__LISTDIR__/exceptioniplist' + +reverseclientiplookups = off +# Reverse lookups for banned and exception IP clients. +# If set to on, e2guardian will look up the forward DNS for the IP +# of the connecting computer. +# If a client computer is matched against an IP given in the lists, then the +# IP will be recorded in any log entries; if forward DNS is successful and a +# match occurs against a hostname, the hostname will be logged instead. +# It will reduce searching speed somewhat so unless you have a local DNS server, +# leave it off. + +# Put client dns names in bannedclientlist if required +#sitelist = 'name=bannedclient,messageno=100,logmessageno=104,path=__LISTDIR__/bannedclientlist' +# Put client dns names in exceptionclientlist if required +#sitelist = 'name=exceptionclient,messageno=631,path=__LISTDIR__/exceptionclientlist' + +# authexception lists are for exception sites/urls allowed before authentication +# to allow for machines to update without user authentication +ipsitelist = 'name=authexception,messageno=602,path=__LISTDIR__/authexceptioniplist' +sitelist = 'name=authexception,messageno=602,path=__LISTDIR__/authexceptionsitelist' +urllist = 'name=authexception,messageno=603,path=__LISTDIR__/authexceptionurllist' + +regexpboollist = 'name=browser,path=__LISTDIR__/browserregexplist' +# +# List of regexp that match match User-agent of browsers +# Used to determine if client is a browser +# and decide whether to send a block page or go MITM + + +### +### END of AUTH section + + +### ACCESS_LOG section +### + +## Location and format + +#loglocation = '/var/log/e2guardian/access.log' +# Log file location +# +# Defines the log directory and filename. + +#logsyslog = off +# Syslog logging +# Use syslog for access logging instead of logging to the file +# at the defined or built-in "loglocation" + +nologger = off +# Disable logging process +# on|off (defaults to off) + +#namesuffix = "" +#Suffix to append to program name when logging through syslog +# Default is blank + +#logfileformat = 8 +# Log File Format +# 1 = Dansguardian format (space delimited) +# 2 = CSV-style format +# 3 = Squid Log File Format +# 4 = Tab delimited +# Protex format type 5 Tab delimited, squid style format with extra fields +# for filter block/result codes, reasons, filter group, and system name +# used in arrays so that combined logs show originating server. +# 5 = Protex format +# Protex format type 6 Same format as above but system name field is blank +# used in stand-alone systems. +# 6 = Protex format with server field blanked +# 7 = Same as 5, but with searchterms and EXTFLAGS added +# See notes/New_log_fileds_in_log_format7-8.pdf for details +# 8 = Same as 7, but with server field blanked +# Default is 8 + +#anonymizelogs = off +# anonymize logs (blank out client usernames & IPs) +# default off + +## What requests to log + +# Note: These options may be replaced by storyboard function in v5.5 +# With the settings as distributed all requests (apart from ADs) will +# be logged. + +#loglevel = 3 +# 0 = none 1 = just denied 2 = all text based 3 = all requests +# default 3 + +#logexceptionhits = 2 +# Log Exception Hits +# Log if an exception (user, ip, URL, phrase) is matched and so +# the page gets let through. Can be useful for diagnosing +# why a site gets through the filter. +# 0 = never log exceptions +# 1 = log exceptions, but do not explicitly mark them as such +# 2 = always log & mark exceptions (default) + +#logadblocks = off +# Enable logging of "ADs" category blocks +# on|off (defaults to off) + +## What extra data is to be logged + +#showweightedfound = on +# Show weighted phrases found +# If enabled then the phrases found that made up the total which excedes +# the naughtyness limit will be logged and, if the reporting level is +# high enough, reported. on | off +# default is on + +#showallweightedfound = off +# Show all weighted phrases found +# If enabled then the phrases found that made up the total will be logged and, if the reporting level is +# high enough, reported. on | off +# default is off + +#logclienthostnames = off +# Perform reverse lookups on client IPs for successful requests. +# If set to on, e2guardian will look up the forward DNS for the IP +# of the connecting computer, and log host names (where available) rather than +# IPs against requests. +# This is not dependent on reverseclientiplookups being enabled; however, if it +# is, enabling this option does not incur any additional DNS requests. + +#loguseragent = off +# Enable logging of client User-Agent +# Some browsers will cause a *lot* of extra information on each line! +# on|off (defaults to off) + +#logclientnameandip = on +# Enable logging of both client hostname and its IP +# If off the hostname will be logged instead of IP +# Applies only to log formats 5, 6, 7 & 8. +# on|off (defaults to on) +# Needs to be turned off if you are using sarg log analysis. + +#dnsuserloggingdomain = "" +# Used to get user/domain from special dns zone for logging purposes only +# Similar to dnsauth plugin operation but only for logging. + +## Log formating options + +#usedashforblank = on +# use dash ('-') instead of blank fields in log +# This is essential for space delimited log formats, and makes all log types easier to read +# But can be turned off if this causes a problem with log analysis +# on|off (defaults to on) + +#logtimestamp = off +# Add unix timestamp to time field so that date/time in readable format +# and unix timestamp - applies only to log formats 1,2 and 4 +# default off + +#logid1 = "" +#logid2 = "" +# only used in logformats 1, 2 and 4 +# default "" + +#productid = '2' +# Used in SG_LOGFORMAT +# default 2 + +## Other access log options + +#maxlogitemlength = 2000 +# truncate large items in log lines +# allowable values 10 to 32000 +# default 2000 +# unlimited not longer allowed - 0 will now set default of 2000 + +### +### END of ACCESS_LOG section + + +### MONITORING section +### + +dstatlocation = '/var/log/e2guardian/dstats.log' +# Dymamic statistics log file location +# +# Defines the dstats file directory and filename. +# Once every 'dstatinterval' seconds, stats on number of threads in use, +# Q sizes and other useful information is written to this file. +# Format is similar to sar. See notes/dstats_format for more details. +# Default "" - do not to write stats. + +#dstatinterval = 300 # = 5 minutes +# Interval in seconds between stats output +# Default 300 (= 5 mins) +# Minimum 10 +# Maximum 3600 (= 1 hour) + +#statshumanreadable = off +# Time format for dstat is epoch GMT+0 by default | statshumanreadable +# change to local zone +# default off + +# internaltesturl = 'internal.test.e2guardian.org' +# +# A pretend url for testing e2g is working. +# +# It returns a small page containing OK if working ok. +# +# Used by loadbalancers and monitoring software (e.g. smokeping) +# to detect if e2g is functioning. +# +# It is tested for after connection is successful and a worker thread is +# assigned, but before user auth and group assignment is made. +# +# This has been built in to e2g since v3, but this option allows the +# url to be changed. +# +# default 'internal.test.e2guardian.org' + +# internalstatusurl = 'internal.status.e2guardian.org' +# +# A pretend url for checking the status of a user. +# +# It returns a small page providing various information +# such as user name, ip, filtering group, server name, +# e2guardian version, flags field. +# +# Designed to used by status software and by technical staff for testing +# user access/assignment. +# +# It is tested for after user auth and group assignment is made, but +# before any filtering is performed. + +# New in v5.4.3, this option allows the +# url to be changed. +# +# default 'internal.status.e2guardian.org' + +# monitorflagprefix = '/var/run/e2g_flag_' +# monitor flag prefix path +# If defined path will be used to generate flag files as follows:- +# +# At start after e2guardian has started listener and worker threads with +# 'running' appended +# When e2guardian is stopping with 'paused' appended +# default '' - flags disabled + +### +### END of MONITORING section + + +### URL_FILTERING section +### + +reverseaddresslookups = off +# Reverse lookups for site and URL lists. +# If set to on, e2guardian will look up the forward DNS for an IP URL +# address and search for both in the banned site and URL lists. This would +# prevent a user from simply entering the IP for a banned address. +# It will reduce searching speed somewhat so unless you have a local caching +# DNS server, leave it off and use the Blanket IP Block option in the +# f1.story file instead. + + +### +### END of URL_FILTERING section + + +### LIST_SETTINGS section +### + +# abortiflistmissing = off +# Abort if a list is missing or unreadable +# default is to warn but then ignore missing lists +# To abort on missing list set to on +# default "off" + +#searchsitelistforip = on +#Search sitelist for ip sites +# In v5 a separate set of lists has been introduced for IP sites +# and normally e2g will no longer check site lists for ip's +# If you want to keep backward list compatablity then set this to +# 'on' - but note this incurs an overhead - putting IP in ipsitelists +# and setting this to off gives the fastest implimentation. +# default is 'on' + +### +### END of LIST_SETTINGS section + + +### AV_SCANNERS section +### + +# Content Scanners (Also known as AV scanners) +# These are plugins that scan the content of all files your browser fetches +# for example to AV scan. You can have more than one content +# scanner. The plugins are run in the order you specify. +# This is one of the few places you can have multiple options of the same name. +# +# Some of the scanner(s) require 3rd party software and libraries eg clamav. +# See the individual plugin conf file for more options (if any). +# +#contentscanner = '/etc/e2guardian/contentscanners/clamdscan.conf' +#!! Not compiled !! contentscanner = '/etc/e2guardian/contentscanners/avastdscan.conf' +#!! Not compiled !! contentscanner = '/etc/e2guardian/contentscanners/kavdscan.conf' +#contentscanner = '/etc/e2guardian/contentscanners/icapscan.conf' + +# Warning: The commandlinescan plugin uses 'fork()' which does not work well +# in a large multi-threaded program like e2g. It can cause unpredictable +# crashes. +# On a small scale system (home user) it may work ok, but not recommended for +# larger scale systems. The more active threads, the more likely a crash is. +# +#contentscanner = '/etc/e2guardian/contentscanners/commandlinescan.conf' + +#contentscannertimeout = 60 +# Content scanner timeout +# Some of the content scanners support using a timeout value to stop +# processing (eg AV scanning) the file if it takes too long. +# If supported this will be used. +# defaults to value of pcontimeout + +### +### END of AV_SCANNERS section + + +### HEADER section +### + +#addforwardedfor = off +# +# if on it adds an X-Forwarded-For: to the HTTP request +# header. This may help solve some problem sites that need to know the +# source ip. on | off +# default off + +# forwardedfor = off +# +# old name for addforwardedfor - retained for compatiblity. + +usexforwardedfor = off +# +# if on it uses the X-Forwarded-For: to determine the client +# IP. This is for when you have squid between the clients and e2guardian. +# Warning - headers are easily spoofed. on | off +# default off + +# xforwardedforfilterip = +# +# as mentioned above, the headers can be easily spoofed in order to fake the +# request origin by setting the X-Forwarded-For header. If you have the +# "usexforwardedfor" option enabled, you may want to specify the IPs from which +# this kind of header is allowed, such as another upstream proxy server for +# instance If you want authorize multiple IPs, specify each one on an individual +# xforwardedforfilterip line. +# default no entries + +# maxheaderlines = 50 +# +# Limit number of http header lines in a request/response +# (to guard against attacks) +# Minimum 10 max 250 +# default 50 + +### +### END of HEADER section + + +### BLOCK_PAGE section +### + +#reportinglevel = 3 +# +# reportinglevel +# +# -1 = log, but do not block - Stealth mode +# 0 = just say 'Access Denied' +# 1 = report why but not what denied phrase +# 2 = report fully +# 3 = use HTML template file (accessdeniedaddress ignored) - recommended +# +# Defines the global setting - can be overrided in e2guardianf1.conf +# +# default 3 + +#usecustombannedimage = on +# +#custombannedimagefile = '/usr/share/e2guardian/transparent1x1.gif' +# Banned image replacement +# Images that are banned due to domain/url/etc reasons including those +# in the adverts blacklists can be replaced by an image. This will, +# for example, hide images from advert sites and remove broken image +# icons from banned domains. +# on (default) | off + +#usecustombannedflash = on +# +#custombannedflashfile = '/usr/share/e2guardian/blockedflash.swf' +# +#Banned flash replacement + +### +### END of BLOCK_PAGE section + + +### DOWNLOAD_MANAGER section +### + +# Download Managers +# These handle downloads of files to be filtered and scanned. +# They differ in the method they deal with large downloads. +# Files usually need to be downloaded 100% before they can be +# filtered and scanned before being sent on to the browser. +# Normally the browser can just wait, but with content scanning, +# for example to AV, the browser may timeout or the user may get +# confused so the download manager has to do some sort of +# 'keep alive'. +# +# There are various methods possible but not all are included. +# Also, not all methods work with all +# browsers and clients. Specifically some fancy methods don't +# work with software that downloads updates. To solve this, +# each plugin can support a regular expression for matching +# the client's user-agent string, and lists of the mime types +# and extensions it should manage. +# +# Note that these are the matching methods provided by the base plugin +# code, and individual plugins may override or add to them. +# See the individual plugin conf files for supported options. +# +# The plugins are matched in the order you specify and the last +# one is forced to match as the default, regardless of user agent +# and other matching mechanisms. +# +# NOTE - ONLY default downloadmanager is supported in v5.4 +# More will be supported in v5.5 + +downloadmanager = '/etc/e2guardian/downloadmanagers/default.conf' + +#filecachedir = '/tmp' +# +# File cache dir +# Where E2 will download files to be scanned if too large for the +# RAM cache. +# default "/tmp" + +#deletedownloadedtempfiles = on +# +# Delete file cache after user completes download +# When a file gets save to temp it stays there until it is deleted. +# You can choose to have the file deleted when the user makes a sucessful +# download. This will mean if they click on the link to download from +# the temp store a second time it will give a 404 error. +# You should configure something to delete old files in temp to stop it filling up. +# on|off (defaults to on) + +#initialtrickledelay = 20 +# +# Initial Trickle delay +# This is the number of seconds a browser connection is left waiting +# before first being sent *something* to keep it alive. The +# *something* depends on the download manager chosen. +# Do not choose a value too low or normal web pages will be affected. +# A value between 20 and 110 would be sensible +# This may be ignored by the configured download manager. +# default 20 + +#trickledelay = 10 +# +# Trickle delay +# This is the number of seconds a browser connection is left waiting +# before being sent more *something* to keep it alive. The +# *something* depends on the download manager chosen. +# This may be ignored by the configured download manager. +# default 10 + +### +### END of DOWNLOAD_MANAGER section + + +### PHRASES section +### + +weightedphrasemode = 2 +# +# Weighted phrase mode +# There are 3 possible modes of operation: +# 0 = off = do not use the weighted phrase feature. +# 1 = on, normal = normal weighted phrase operation. +# 2 = on, singular = each weighted phrase found only counts once on a page. +# +# IMPORTANT: Note that setting this to "0" turns off all features which +# extract phrases from page content, including banned & exception +# phrases (not just weighted), search term filtering, and scanning for +# links to banned URLs. +# + +#phrasefiltermode = 2 +# +# Smart, Raw and Meta/Title phrase content filtering options +# Smart is where the multiple spaces and HTML are removed before phrase filtering +# Raw is where the raw HTML including meta tags are phrase filtered +# Meta/Title is where only meta and title tags are phrase filtered (v. quick) +# CPU usage can be effectively halved by using setting 0 or 1 compared to 2 +# 0 = raw only +# 1 = smart only +# 2 = both of the above +# 3 = meta/title +# default 2 + +#preservecase = 0 +# +# Lower casing options +# When a document is scanned the uppercase letters are converted to lower case +# in order to compare them with the phrases. However this can break Big5 and +# other 16-bit texts. If needed preserve the case. As of version 2.7.0 accented +# characters are supported. +# 0 = force lower case (default) +# 1 = do not change case +# 2 = scan first in lower case, then in original case + +# Note: +# If phrasefiltermode and preserve case are both 2, this equates to 4 phrase +# filtering passes. If you have a large enough userbase for this to be a +# worry, and need to filter pages in exotic character encodings, it may be +# better to run two instances on separate servers: one with preservecase 1 +# (and possibly forcequicksearch 1) and non ASCII/UTF-8 phrase lists, and one +# with preservecase 0 and ASCII/UTF-8 lists. + +#hexdecodecontent = off +# +# Hex decoding options +# When a document is scanned it can optionally convert %XX to chars. +# If you find documents are getting past the phrase filtering due to encoding +# then enable. However this can break Big5 and other 16-bit texts. +# off = disabled (default) +# on = enabled + +#forcequicksearch = off +# +# Force Quick Search rather than DFA search algorithm +# The current DFA implementation is not totally 16-bit character compatible +# but is used by default as it handles large phrase lists much faster. +# If you wish to use a large number of 16-bit character phrases then +# enable this option. +# off (default) | on (Big5 compatible) + +### +### END of PHRASES section + + +### TUNING section +### + +#httpworkers = 500 +# +#sets the number of worker threads to use +# +# This figure is the maximum number of concurrent connections. +# If more connections are made, connections will queue until a worker thread is free. +# On large site you might want to try 5000 (max value 20000) +# 500 is the default suitable for home or samll office use on 64-bit systems +# On 32-bit systems reduce this to 300 to avoid exceeding the <4GB +# virtual memory limit and on Linux decrease the thread stack size from +# 10MB to 2MB (ulimit -s 2048) +# default 500 + +#maxcontentfiltersize = 2048 +# +# Max content filter size +# Sometimes web servers label binary files as text which can be very +# large which causes a huge drain on memory and cpu resources. +# To counter this, you can limit the size of the document to be +# filtered and get it to just pass it straight through. +# This setting also applies to content regular expression modification. +# The value must not be higher than maxcontentramcachescansize +# Do not set this too low as this will result in pages that contain a +# long preamble not being content filtered +# The size is in Kibibytes - eg 2048 = 2Mb +# default 2048 + +#maxcontentramcachescansize = 2000 +# +# Max content ram cache scan size +# This is only used if you use a content scanner plugin such as AV +# This is the max size of file that e2g will download and cache +# in RAM. After this limit is reached it will cache to disk +# This value must be less than or equal to maxcontentfilecachescansize. +# The size is in Kibibytes - eg 10240 = 10Mb +# use 0 to set it to maxcontentfilecachescansize +# This option may be ignored by the configured download manager. +# default 2000 + +#maxcontentfilecachescansize = 20000 +# +# Max content file cache scan size +# This is only used if you use a content scanner plugin such as AV +# This is the max size file that E2 will download +# so that it can be scanned or virus checked. +# This value must be greater or equal to maxcontentramcachescansize. +# The size is in Kibibytes - eg 10240 = 10Mb +# default 20000 + + +#proxytimeout = 5 +# +# Proxy timeout +# Set tcp timeout between the Proxy and e2guardian +# This is a connection timeout +# If proxy is remote you may need to increase this to 10 or more. +# Min 5 - Max 100 +# default 5 + +#connecttimeout = 5 +# +# Connect timeout +# Set tcp timeout between the e2guardian and upstream service (proxy or target host) + # This is a connection timeout + # For remote sites you may need to increase this to 10 or more. +# Min 1 - Max 100 +# default 5 + +# connectretries = 1 +# +# Connect retries +# Set the number of retries to make on connection failure before giving up +# Min 1 - Max 100 +# default 1 + +#proxyexchange = 61 +# +# Proxy header exchange +# Set timeout between an upstream Proxy and e2guardian +# Min 20 - Max 300 +# If this is higher than proxies timeout user will get proxy Gateway error page +# If lower e2guardian Gateway error page +# default 61 + +#pcontimeout = 55 +# +# Pconn timeout +# how long a persistent connection will wait for other requests +# Min 5 - Max 300 +# default 55 + +### +### END of TUNING section + + +### DEBUG section +### + +## Things that can used on production binaries + +# storyboardtrace = on +# +# Storyboard tracing +# Warning - produces verbose output - do not use in production +# Output goes to syslog (or stderr when compiled with E2DEBUG defined) +# default off +# Use to debug storyboard logic flow + +#logsslerrors = on +# +# Logs openssl error 'stack' in syslog +# Used to diagnose openssl errors +# It is normal for some openssl errors to occur +# Can be left on or off +# default off + +#logconnectionhandlingerrors = on +# +# if on it logs some debug info regarding accept()ing and failed connections +# which +# can usually be ignored. These are logged by syslog. It is safe to leave +# it on or off +# default off + +#rqloglocation = '/var/log/e2guardian/request.log' +# +# Defines optional request log path +# This is for useful for debug purposes to log all requests before processing or setting filter group +# See notes/LogRequests for details +# Default is "" - no request log + +## Things that will only work if specifically compliled + +## 'NEW' debug system (generaly compliled in release systems) +## Note that this is only partialy implimented and only works for ICAP, CLAMAV +## and ICAPC +## and so 'ALL' = 'ICAP,CLAMAV,ICAPC' only. +## To debug other areas of code re-compiling in debug mode is required + +## It will be replaced by a new general logging system in v5.5 + +#debuglevel = 'ALL' +# +#Debug Level +#Enable debug e2guardian +#debug one value: +#Eg +# debuglevel = 'ICAP' +#Enable ICAP debug informations only +# +#Eg +# debuglevel = 'ALL' +#Enable ALL debug informations +# +#Additive mode: +#Eg +# debuglevel = 'ICAP,NET' +#Enable ICAP and NET debug informations +# +#Soustractive mode: +#Eg +# debuglevel = 'ALL,-ICAP' +#Enable all debug informations but without ICAP debug informations +# debuglevel = 'ALL,-ICAP,-NET,-FILTER' +#Enable all debug informations but without ICAP, NETWORK and FILTER debug informations +#by default disabled, if this option is required just uncomment the line below +#works also with e2guardian -N (-N Do not go into the background) +#Possible value : ICAP CLAMAV ICAPC (icap client) + +#debuglevelfile = '/var/log/e2guardian/debuge2' +#Directory for result of debug level (log) +#Works only if debuglevel is enabled +# + +### +### END of DEBUG section + + +### PROCESS section +### + +# Process options +# (Change these only if you really know what you are doing). +# These options allow you to run multiple instances of e2guardian on a single machine. +# Remember to edit the log file path also if that is your intention. + +pidfilename = /run/e2guardian/e2.pid +# +# PID filename +# +# Defines process id directory and filename. + +#nodaemon = off +# +# Disable daemoning +# If enabled the process will not fork into the background. +# It is not usually advantageous to do this. +# on|off (defaults to off) + +#mailer = '/usr/sbin/sendmail -t' +# +# Mail program +# Path (sendmail-compatible) email program, with options. +# Not used if usesmtp is disabled (filtergroup specific). +## Note that this is experimental in v5 - no support from maintainers +# +# Warning: This option uses 'fork()' which does not work well +# in a large multi-threaded program like e2g. It can cause unpredictable +# crashes. +# On a small scale system (home user) it may work ok, but not recommended for +# larger scale systems. The more active threads, the more likely a crash is. + + +### +### END of PROCESS section + + +### OBSOLETE section +### +### Directives here are depreciated and may already not work +### + +originalip = off +# NOTE: This option is removed in v5.4 - if left and enabled would give too many +# false positives. + +# contentscanexceptions = off +# Content scan exceptions // THIS MOVED to e2guardianf1.conf + +#mapportstoips = off +#mapauthtoports = off +# Map auth to ports/ports to ip - does not work work correctly +# - very confusing options +# default off - to be removed in v5.5. + +# logheadervalue = 'proxy-authorization:' +# Log a specific value from header +# low case only +# only used with logs: 1,5 and 6 + +#statlocation = "" +# url cache/stats no longer in use + +#blockedcontentstore = "" +# no longer in use + +#softrestart = off +# no longer in use + +#proxyfailureloginterval = 0 +# no longer in use + +#scancleancache = true +# no longer in use + +#urlcachenumber = 0 +# no longer in use + +#groupnamesfile = '' +# no longer supportied - will be removed in v5.5 + +#urlcacheage= 0 +# no longer in use + +#recheckreplacedurls = off - option does not work - may be removed in v5.5 +# +# Re-check replaced URLs +# As a matter of course, URLs undergo regular expression search/replace (urlregexplist) +# *after* checking the exception site/URL/regexpURL lists, but *before* checking against +# the banned site/URL lists, allowing certain requests that would be matched against the +# latter in their original state to effectively be converted into grey requests. +# With this option enabled, the exception site/URL/regexpURL lists are also re-checked +# after replacement, making it possible for URL replacement to trigger exceptions based +# on them. +# Defaults to off. + +#logchildprocesshandling - will be removed in v5.5 +# no longer in use + +# monitorhelper = '/usr/local/bin/mymonitor' - to remove in v5.5 +# monitor helper path +# Not recommended - likely to cause crashes as it uses fork() +# If defined this script/binary will be called with start or stop appended as follows:- +# At start after e2guardian has started listener and worker threads with +# ' start' appended +# When e2guardian is stopping with ' stop' appended +# default '' - monitor helper disabled + +### +### END of OBSOLETE section + + +### INFO section +### +### No settings just info on new features etc + +# New in v5.4.2:- relative paths +# Relative paths can used in .Include<> and list files. +# The directory of current file will be inserted where the file name +# does not start with '/' + + +# Also NEW in v5.4.2 - LISTDIR 'variable' definition +# LISTDIR can be defined in .conf files. +# This allows for more readable configuration and for templating. +# This works similarly to a shell environment variable +# The text between <> will replace occurances of __LISTDIR__ in .conf and +# list files. +# Note: Currently only LISTDIR may be defined. +# +# The mapping is actioned as the file is read and is valid until another LISTDIR +# is defined later in the file, or in an included .conf file. +# +# The scope of LISTDIR is in the rest of file it is defined in and all +# .Include<> files or list files in that portion of the file. + +# It should be noted that re-definitions of single-line directives will +# over write any earlier ones. + +# The same is true of list definitions. Later unique definitions will +# override earlier ones. A unique list definition is formed from the +# list type and the name. +# +# So, + +# sitelist = 'name=banned,path=x...' +# and +# urllist = 'name=banned,path=y...' +# are both unique + +# but + +# sitelist = 'name=banned,path=x...' +# and +# sitelist = 'name=banned,path=z...' +# are not and the later definition will override the first. + + +### +### END of INFO section diff --git a/docker-compose/e2guardian/e2guardianf1.conf b/docker-compose/e2guardian/e2guardianf1.conf new file mode 100644 index 0000000..88cf819 --- /dev/null +++ b/docker-compose/e2guardian/e2guardianf1.conf @@ -0,0 +1,882 @@ +# e2guardian filter group config file for version 5.4.4 + +# This file is re-read on gentle restart and any changes actioned + +### Filtergroup config is now split into sections as follows +### +### QUICK_START - Items to check to get you started +### MITM - SSL MITM settings +### URL_FILTERING - URL filtering settings +### URL_MAIN_LISTS - URL/SITE lists - for downloaded lists(?) +### URL_LOCAL_LISTS - URL/SITE lists - local +### FILE_TYPES - Lists that control download filetype access +### TIMES - Time based lists +### APPS - Lists to control apps/browsers +### REFERER - Lists to allow exceptions based on referer site/url +### URL_MOD - Lists to modify url and ssl site target +### REDIRECT - Redirection list +### LOG_ONLY - Categorise and log but do not filter lists +### POST - Post filtering - not implimented yet in v5 +### PHRASES - Content phrase settings and lists +### SEARCH - Search term filtering settings and lists +### AV_SCANNERS - AV scanner settings and lists +### HEADER - HTTP Header handling +### BLOCK_PAGE - Block Page formats and handling +### BYPASS - Bypass settings and lists +### EMAILER - Emailer settings (experimental) +### OBSOLETE - Obsolete settings +### INFO - Info on new features etc +### + + +### QUICK_START section +### +### e2guardian will work using examplef1.story +### and the example.group sub-directory of the lists directory +### without you making any changes to this file. +### +### The items you are likely to need to change in production are +### in this section. +### +### To set up for production:- +### +### In config directory:- +### Copy examplef1.story to group1.story +### In list directory:- +### Create a group1 directory +### Copy the lists in lists/example.group into this directory +### and edit them to your requirements +### Comment out .define.., and storyboard = lines below. +### +### To add group two:- +### +### Copy this file to e2guardianf2.conf +### and repeat above steps, but for group2.story, lists/group2 directory etc +### +### Repeat for any further groups +### +### Remember to adjust the 'filtergroups' setting in e2guardian.conf +### to the number of groups you now have. + +#groupname = 'my_name_for_group' +# +# Filter group name +# Used to fill in the -FILTERGROUP -placeholder in the HTML template file, and to +# name the group in the access logs +# Default 'group1' where 1 is the group number + +storyboard = '/etc/e2guardian/examplef1.story' # comment out for production +# +# Storyboard logic for this group +# +# defaults to '/etc/e2guardian/group1.story' where 1 is the group number + +.Define LISTDIR # comment out for production +# The directory path for list files for this group +# This path replaces __LISTDIR__ wherever it occurs below or in included files. +# See INFO section for full details +# defaults (initialized) as where 1 is the group number + +#naughtynesslimit = 60 +# +# Naughtiness limit +# This the limit over which the page will be blocked. Each weighted phrase is given +# a value either positive or negative and the values added up. Phrases to do with +# good subjects will have negative values, and bad subjects will have positive +# values. See the weightedphraselist file for examples. +# As a guide: +# 60 is for young children, 100 for old children, 160 for young adults. +# default 60 + +### +### END of QUICK_START section + + +### MITM section +### + +# NOTE to enable SSL MITM +# enablessl must be defined as 'on' in e2guardian.conf + +#sslmitm = on +# +#SSL man in the middle +# Forge ssl certificates for all non-exception sites, decrypt the data then re encrypt it +# using a different private key. Used to filter ssl sites +#default off + +# mitmcheckcert = on +# +# Enable MITM site certificate checking +# ignored if sslmitm is off +# default (recommended) is 'on' + +#Do not check ssl certificates for sites listed +# Can be used to allow sites with self-signed or invalid certificates +# or to reduced CPU load by not checking certs on heavily used sites (e.g. Google, Bing) +# Use with caution! +# Ignored if mitmcheckcert is 'off' +# +sitelist = 'name=nocheckcert,path=__LISTDIR__/nocheckcertsitelist' +ipsitelist = 'name=nocheckcert,path=__LISTDIR__/nocheckcertsiteiplist' +# + +# automitm = on +# +# Auto switch to MITM with upstream connection error or to deliver block page +# ignored if sslmitm is off +# To revert to v4 type behavour switch this off +# Default is 'on' + +# greyssl lists only used in onlymitmsslgrey mode to define sites that +# will be MITM + +sitelist = 'name=greyssl,path=__LISTDIR__/greysslsitelist' +ipsitelist = 'name=greyssl,path=__LISTDIR__/greysslsiteiplist' + +sitelist = 'name=localgreyssl,path=__LISTDIR__/localgreysslsitelist' +#ipsitelist = 'name=localgreyssl,path=__LISTDIR__/localgreysslsiteiplist' + +### +### END of MITM section + + +### URL_FILTERING section +### + +#deepurlanalysis = off +# Enable Deep URL Analysis +# When enabled, E2 looks for URLs within URLs, checking against the bannedsitelist and +# bannedurllist. This can be used, for example, to block images originating from banned +# sites from appearing in Google Images search results, as the original URLs are +# embedded in the thumbnail GET requests. +# (on|off) default = off + +### +### END of URL_FILTERING section + + +### URL_MAINLISTS section +### +### Most of the site/ipsite/url lists in this section are used for +### switching on/off standard list categories +### +### It is best to use the LOCAL lists for your own lists of sites/urls +### As these override the main ones. + +## For info on the format of list definitions see notes/V5_list_definition + +## Order of checking is broadly as follows:- +## +## 1. If in Local Exception lists - allow with no further checking +## 2. If in Local Grey lists - retrieve page and content-check +## 3. If in Local Banned lists - block with no further checking +## 4. If in Main Exception lists - allow with no further checking +## 5. If in Main Grey lists - retrieve page and content-check +## 6. If in Main Banned lists (or blanket blocked) - block with no further checking +## 7. If gets here - retrieve page and content-check +## 8. Check blocked/exception file/mime types. +## 9. Content-check page + +## Exception lists + +sitelist = 'name=exception,messageno=602,path=__LISTDIR__/exceptionsitelist' +ipsitelist = 'name=exception,messageno=602,path=__LISTDIR__/exceptionsiteiplist' +urllist = 'name=exception,messageno=603,path=__LISTDIR__/exceptionurllist' + +regexpboollist = 'name=exception,messageno=609,path=__LISTDIR__/exceptionregexpurllist' + +## Grey (i.e. content check) lists + +sitelist = 'name=grey,path=__LISTDIR__/greysitelist' +ipsitelist = 'name=grey,path=__LISTDIR__/greysiteiplist' +urllist = 'name=grey,path=__LISTDIR__/greyurllist' + +## Banned sites/urls + +sitelist = 'name=banned,messageno=500,path=__LISTDIR__/bannedsitelist' +ipsitelist = 'name=banned,messageno=510,path=__LISTDIR__/bannedsiteiplist' +urllist = 'name=banned,messageno=501,path=__LISTDIR__/bannedurllist' + +regexpboollist = 'name=banned,messageno=503,path=__LISTDIR__/bannedregexpurllist' + +# 'bannedssl' lists are not currently used +#sitelist = 'name=bannedssl,messageno=520,path=__LISTDIR__/bannedsslsitelist' +#ipsitelist = 'name=bannedssl,messageno=520,path=__LISTDIR__/bannedsslsiteiplist' + +### +### END of URL_MAINLISTS section + + +### URL_LOCAL_LISTS section +### +### if you do not want to use local lists +### then comment out (or remove) all the list entries in this section and +### make adjustments to site.story +### + + +## Local Exception lists + +sitelist = 'name=localexception,messageno=662,path=__LISTDIR__/localexceptionsitelist' +ipsitelist = 'name=localexception,messageno=662,path=__LISTDIR__/localexceptionsiteiplist' +urllist = 'name=localexception,messageno=663,path=__LISTDIR__/localexceptionurllist' + +## Local Grey lists + +sitelist = 'name=localgrey,path=__LISTDIR__/localgreysitelist' +ipsitelist = 'name=localgrey,path=__LISTDIR__/localgreysiteiplist' +urllist = 'name=localgrey,path=__LISTDIR__/localgreyurllist' + +## Local Banned lists + +sitelist = 'name=localbanned,messageno=560,path=__LISTDIR__/localbannedsitelist' +ipsitelist = 'name=localbanned,messageno=560,path=__LISTDIR__/localbannedsiteiplist' +urllist = 'name=localbanned,messageno=561,path=__LISTDIR__/localbannedurllist' + +## Bannedssl lists are not currently used +#sitelist = 'name=localbannedssl,messageno=580,path=__LISTDIR__/localbannedsslsitelist' +#ipsitelist = 'name=localbannedssl,messageno=580,path=__LISTDIR__/localbannedsslsiteiplist' + +### +### END of URL_LOCAL_LISTS section + +### FILE_TYPES section +### + +# Uncomment the two lines below if want to ONLY allow extentions/mime types in these lists +# You will also need to uncomment the checkfiletype function in site.story to enable this +#fileextlist = 'name=exceptionextension,path=__LISTDIR__/exceptionextensionlist' +#mimelist = 'name=exceptionmime,path=__LISTDIR__/exceptionmimetypelist' + + +# Use the following lists to block specific kinds of file downloads. +# +fileextlist = 'name=bannedextension,messageno=900,path=__LISTDIR__/bannedextensionlist' +mimelist = 'name=bannedmime,messageno=800,path=__LISTDIR__/bannedmimetypelist' + +# +# In either file filtering mode, the following lists can be used to override +# MIME type & extension blocks for particular domains & URLs (trusted download sites). +# +sitelist = 'name=exceptionfile,path=__LISTDIR__/exceptionfilesitelist' +ipsitelist = 'name=exceptionfile,path=__LISTDIR__/exceptionfilesiteiplist' +urllist = 'name=exceptionfile,path=__LISTDIR__/exceptionfileurllist' + +### +### END of FILE_TYPES section + +### TIMES section +### + +# NEW in v5.4 bannedtimelist - times when no access is allowed +# To activate a storyboard change is required - see examplef1.story +#timelist = 'name=bannedtimes,messageno=122,path=__LISTDIR__/bannedtimelist' + +# NEW in v5.4 blankettimelist - times when blanket block is applied +# To activate a storyboard change is required - see examplef1.story +#timelist = 'name=blankettimes,messageno=122,path=__LISTDIR__/blankettimelist' + +### +### END of TIMES section + +### APPS section +### +### These lists are useful for allowing/blocking apps or browsers based +### on the user-agent + +regexpboollist = 'name=banneduseragent,messageno=522,path=__LISTDIR__/bannedregexpuseragentlist' + +regexpboollist = 'name=exceptionuseragent,messageno=610,path=__LISTDIR__/exceptionregexpuseragentlist' + +### +### END of APPS section + +### REFERER section +### + +# refererexception lists are used to make a request an exception based on the +# Referer header. + +sitelist = 'name=refererexception,messageno=620,path=__LISTDIR__/refererexceptionsitelist' +ipsitelist = 'name=refererexception,messageno=620,path=__LISTDIR__/refererexceptionsiteiplist' +urllist = 'name=refererexception,messageno=620,path=__LISTDIR__/refererexceptionurllist' + +# Some sites have the referering url in their url. Put these url in these +# lists and e2g will extract the embeded url and then check this againist +# the refererexception lists. +# For best results be as specific as possible + +sitelist = 'name=embededreferer,path=__LISTDIR__/../common/embededreferersitelist' +ipsitelist = 'name=embededreferer,path=__LISTDIR__/../common/embededreferersiteiplist' +urllist = 'name=embededreferer,path=__LISTDIR__/../common/embededrefererurllist' + + +### +### END of REFERER section + +### URL_MOD section +### + +# change list is used to modify url on the fly +# use to enforce safe search etc. +# Do not try and change target site - use redirect for this. +regexpreplacelist = 'name=change,path=__LISTDIR__/urlregexplist' + +# Replace target connection site for a ssl connection request +# Note: this does not change the url in any way. It just changes +# where the request is sent upstream and the new target must accept +# the original url. +regexpreplacelist = 'name=sslreplace,path=__LISTDIR__/sslsiteregexplist' + +### +### END of URL_MOD section + + +### REDIRECT section +### + +# Used to redirect browser to different site and or url +regexpreplacelist = 'name=redirect,path=__LISTDIR__/urlredirectregexplist' + +### +### END of REDIRECT section + + +### LOG_ONLY section +### + +# Categorise without blocking: + +# Supply categorised lists here and the category string shall be logged against +# matching requests, but matching these lists does not perform any filtering +# action. +#sitelist = 'name=log,path=__LISTDIR__/logsitelist' +#ipsitelist = 'name=log,path=__LISTDIR__/logsiteiplist' +#urllist = 'name=log,path=__LISTDIR__/logurllist' +#regexpboollist = 'name=log,path=__LISTDIR__/logregexpurllist' + +### +### END of LOG_ONLY section + + +### POST section +### + +#maxuploadsize = -1 +# +# POST protection (web upload and forms) +# does not block forms without any file upload, i.e. this is just for +# blocking or limiting uploads +# measured in kibibytes after MIME encoding and header bumph +# use 0 for a complete block +# use higher (e.g. 512 = 512Kbytes) for limiting +# use -1 for no blocking +# NOTE: POST PROTECTION IS NOT YET IMPLIMENTED IN V5 +#maxuploadsize = 512 +#maxuploadsize = 0 +# default -1 + +### +### END of POST section + + +### ACCESS_LOG section +### + +# Do not log sites/urls/ext +# Useful to prevent requests not made by user directly being logged +# Makes logs more readable +sitelist = 'name=nolog,path=__LISTDIR__//../common/nologsitelist' +ipsitelist = 'name=nolog,path=__LISTDIR__//../common/nologsiteiplist' +urllist = 'name=nolog,path=__LISTDIR__//../common/nologurllist' +regexpboollist = 'name=nolog,path=__LISTDIR__//../common/nologregexpurllist' +fileextlist = 'name=nolog,path=__LISTDIR__//../common/nologextensionlist' + +### +### END of ACCESS_LOG section + + +### PHRASES section +### + +#weightedphrasemode = 0 +# Weighted phrase mode +# Optional; overrides the weightedphrasemode option in e2guardian.conf +# for this particular group. See documentation for supported values in +# that file. + +# textmimetypes = 'application/xhtml+xml,application/xml,application/json,application/javascript,application/x-javascript' +# +# Phrase filter additional mime types (by default just text/*) + +categorydisplaythreshold = 0 +# +# Category display threshold +# This option only applies to pages blocked by weighted phrase filtering. +# Defines the minimum score that must be accumulated within a particular +# category in order for it to show up on the block pages' category list. +# All categories under which the page scores positively will be logged; those +# that were not displayed to the user appear in brackets. +# +# -1 = display only the highest scoring category +# 0 = display all categories (default) +# > 0 = minimum score for a category to be displayed + + +bannedphraselist = '__LISTDIR__/bannedphraselist' +weightedphraselist = '__LISTDIR__/weightedphraselist' +exceptionphraselist = '__LISTDIR__/exceptionphraselist' +## To use oldphraselists comment out last 3 lines and +## uncomment the follwing 3 lines +#bannedphraselist = '__LISTDIR__/oldbannedphraselist' +#weightedphraselist = '__LISTDIR__/oldweightedphraselist' +#exceptionphraselist = '__LISTDIR__/oldexceptionphraselist' + +### +### END of PHRASES section + + +### SEARCH section +### + +# Search term blocking +# Search terms can be extracted from search URLs and filtered using one or +# both of two different methods. + +# Method 1 is that developed by Protex where specific +# search terms are contained in a bannedsearchlist. +# (localbannedsearchlist and bannedsearchoveridelist can be used to suppliment +# and overide this list as required.) +# These lists contain banned search words combinations on each line. +# Words are separated by '+' and must be in sorted order within a line. +# so to block 'sexy girl' then the list must contain the line +# girl+sexy +# and this will block both 'sexy girl' and 'girl sexy' +# To use this method, the searchregexplist must be enabled and the bannedsearchlist(s) defined + +# Method 2 is uses the +# bannedphraselist, weightedphraselist and exceptionphraselist, with a separate +# threshold for blocking than that used for normal page content. +# To do this, the searchregexplist must be enabled and searchtermlimit +# must be greater than 0. + +# Search engine regular expression list (need for both options) +# List of regular expressions for matching search engine URLs. It is assumed +# that the search terms themselves will be contained in the +# of output of each expression. +regexpreplacelist = 'name=searchterms,path=__LISTDIR__/../common/searchregexplist' +# search engine regexp exception (overide) list +# Used to prevent urls such os completetion suggestion requests from being detected +# as search requests +regexpboollist = 'name=searchtermexceptions, path=__LISTDIR__/../common/searchexceptionregexplist' + +# Search Term list(s) for option 1 +searchlist = 'name=banned,path=__LISTDIR__/bannedsearchlist' +searchlist = 'name=override,path=__LISTDIR__/bannedsearchoveridelist' + +searchlist = 'name=localbanned,messageno=581,path=__LISTDIR__/localbannedsearchlist' + +#searchtermlimit = 0 +# +# Search term limit (for Option 2) +# The limit over which requests will be blocked for containing search terms +# which match the weightedphraselist. This should usually be lower than the +# 'naughtynesslimit' value above, because the amount of text being filtered +# is only a few words, rather than a whole page. +# This option must be uncommented if searchregexplist is uncommented. +# A value of 0 here indicates that search terms should be extracted, +# but no phrase filtering should be performed on the resulting text. + +# Search term phrase lists (for Option 2) +# If the three lines below are uncommented, search term blocking will use +# the banned, weighted & exception phrases from these lists, instead of using +# the same phrase lists as for page content. This is optional but recommended, +# as weights for individual phrases in the "normal" lists may not be +# appropriate for blocking when those phrases appear in a much smaller block +# of text. +# Please note that all or none of the below should be uncommented, not a +# mixture. +# NOTE: these are phrase lists and still use the old style defines +#bannedsearchtermlist = '__LISTDIR__/bannedsearchtermlist' +#weightedsearchtermlist = '__LISTDIR__/weightedsearchtermlist' +#exceptionsearchtermlist = '__LISTDIR__/exceptionsearchtermlist' + +### +### END of SEARCH section + + +### AV_SCANNERS section +### + +#disablecontentscan = off +# +# Disable content scanning +# If you enable this option you will disable content scanning for this group. +# Content scanning primarily is AV scanning (if enabled) but could include +# other types. +# (on|off) default = off. + +#disablecontentscanerror = off +# +# Disable content scanning with error (timeout, AV crash, etc) +# If you enable this option you will allow object with an unexpected result +# Content scanning primarily is AV scanning (if enabled) but could include +# other types. +# With "on" you can allow INFECTED objects +# (on|off) default = off. (default and highly recommended) + +#contentscanexceptions = off +# +# If 'on' exception sites, urls, users etc will be scanned +# This is probably not desirable behavour as exceptions are +# supposed to be trusted and will increase load. +# Correct use of grey lists are a better idea. +# (on|off) default = off + +#Virus checking exceptions - matched urls will not be virus checked +#Note that you also need to amend site.story in order for this to work. +#mimelist = 'name=exceptionvirus,path=__LISTDIR__/../contentscanners/exceptionvirusmimetypelist' +#fileextlist = 'name=exceptionvirus,path=__LISTDIR__/../contentscanners/exceptionvirusextensionlist' +#sitelist = 'name=exceptionvirus,path=__LISTDIR__/../contentscanners/exceptionvirussitelist' +#ipsitelist = 'name=exceptionvirus,path=__LISTDIR__/../contentscanners/exceptionvirussiteiplist' +#urllist = 'name=exceptionvirus,path=__LISTDIR__/../contentscanners/exceptionvirusurllist' + +### +### END of AV_SCANNERS section + + +### HEADER section +### + +# Outgoing HTTP request header rules: +# Lists for blocking based on, and modification of, outgoing HTTP +# request headers. Format for headerregexplist is one modification rule per +# line, similar to content/URL modifications. Format for +# bannedregexpheaderlist is one regular expression per line, with matching +# headers causing a request to be blocked. +# Headers are matched/replaced on a line-by-line basis, not as a contiguous +# block. +# Use for example, to remove cookies or prevent certain user-agents. +regexpreplacelist = 'name=headermods,path=__LISTDIR__/headerregexplist' +regexpboollist = 'name=bannedheader,path=__LISTDIR__/bannedregexpheaderlist' +regexpboollist = 'name=exceptionheader,path=__LISTDIR__/exceptionregexpheaderlist' +# add cookies etc +regexpreplacelist = 'name=addheader,path=__LISTDIR__/addheaderregexplist' + +# Response HTTP header rules: +# Lists for modification or removal of HTTP response headers. +# Format for reponseheaderregexplist is one rule per line, similar to +# content/URL modifications. +# Headers are matched/replaced on a line-by-line basis, not as a contiguous +# block. +# Use for example, to remove protocol upgrade requests. +regexpreplacelist = 'name=reponseheadermods,path=__LISTDIR__/responseheaderregexplist' + +### +### END of HEADER section + + +### BLOCK_PAGE section +### + +#reportinglevel = 3 +# +# +# -1 = log, but do not block - Stealth mode +# 0 = just say 'Access Denied' +# 1 = report why but not what denied phrase +# 2 = report fully +# 3 = use HTML template file (accessdeniedaddress ignored) - recommended +# +# If defined, this overrides the global setting in e2guardian.conf for +# members of this filter group. + +#accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/e2guardian.pl' +# +# accessdeniedaddress is the address of your web server to which the cgi +# e2guardian reporting script was copied. Only used in reporting levels +# 1 and 2. +# +# This webserver must be either: +# 1. Non-proxied. Either a machine on the local network, or listed as an +# exception in your browser's proxy configuration. +# 2. Added to the exceptionsitelist. Option 1 is preferable; this option is +# only for users using both transparent proxying and a non-local server +# to host this script. +# + +#nonstandarddelimiter = off +# +# Non standard delimiter (only used with accessdeniedaddress) +# To help preserve the full banned URL, including parameters, the variables +# passed into the access denied CGI are separated using non-standard +# delimiters. This can be useful to ensure correct operation of the filter +# bypass modes. Parameters are split using "::" in place of "&", and "==" in +# place of "=". +# Default is enabled, but to go back to the standard mode, disable it. + +#htmltemplate = 'custom.html' +# +# HTML Template override +# If defined, this specifies a custom HTML template file for members of this +# filter group, overriding the global setting in e2guardian.conf. This is +# only used in reporting level 3. +# +# The default template file path is //template.html +# e.g. /usr/share/e2guardian/languages/ukenglish/template.html when using 'ukenglish' +# language. +# +# This option generates a file path of the form: +# // +# e.g. /usr/share/e2guardian/languages/ukenglish/custom.html + +#neterrtemplate = 'custom_neterr_template.html' +# +#Template for use to report network issues and sites which are not responding +# The default template file path is //neterr_template.html +# e.g. /usr/share/e2guardian/languages/ukenglish/neterr_template.html when using +# 'ukenglish' language. + + + +### +### END of BLOCK_PAGE section + + +### BYPASS section +### + +#bypass = 0 +# +# Temporary Denied Page Bypass +# This provides a link on the denied page to bypass the ban for a few minutes. To be +# secure it uses a random hashed secret generated at daemon startup. You define the +# number of seconds the bypass will function for before the deny will appear again. +# To allow the link on the denied page to appear you will need to edit the template.html +# or e2guardian.pl file for your language. +# 300 = enable for 5 minutes +# 0 = disable ( defaults to 0 ) +# -1 - depreciated - for backward compatability enables cgibypass with bypassversion 1 + +bypassversion = 2 +# +# Byapss version 2 provides a secure cgi communication (see notes/cgi_bypass documentation) +# +# Bypass version +# can be 1 or 2 +# Always use v2 unless you have old style cgi hash generation in use +# Default is 1 + +# cgibypass = 'off' +# +# cgibypass - Use a separate program/CGI to (in v1 generate) or (in v2 validate) link +# 'on' or 'off' (default) + +#bypasskey = '' +# +# Temporary Denied Page Bypass Secret Key +# Rather than generating a random key you can specify one. It must be more than 8 chars. +# '' = generate a random one (recommended and default) +# 'Mary had a little lamb.' = an example +# '76b42abc1cd0fdcaf6e943dcbc93b826' = an example + +cgikey = 'you must change this text in order to be secure' +# magic key for cgi bypass v2 - used to sign communications between e2g and cgi +# default is blank + + +# Users will not be able to bypass sites/urls in these lists +sitelist = 'name=bannedbypass,messageno=500,path=__LISTDIR__/domainsnobypass' +#ipsitelist = 'name=bannedbypass,messageno=500,path=__LISTDIR__/ipnobypass' +#urllist = 'name=bannedbypass,messageno=501,path=__LISTDIR__/urlnobypass' + +#infectionbypass = 0 +# +# Infection/Scan Error Bypass +# Similar to the 'bypass' setting, but specifically for bypassing files scanned and found +# to be infected, or files that trigger scanner errors - for example, archive types with +# recognised but unsupported compression schemes, or corrupt archives. +# The option specifies the number of seconds for which the bypass link will be valid. +# 300 = enable for 5 minutes +# 0 = disable (default) +# -1 - depreciated - for backward compatability enables cgiinfectionbypass with bypassversion 1 + +# cgiinfectionbypass = 'off' +# +# cgiinfectionbypass - Use a separate program/CGI to (v1 generate) or (v2 validate) link +# 'on' or 'off' (default) + +#infectionbypasskey = '' +# +# Infection/Scan Error Bypass Secret Key +# Same as the 'bypasskey' option, but used for infection bypass mode. + +#infectionbypasserrorsonly = on +# +# Infection/Scan Error Bypass on Scan Errors Only +# Enable this option to allow infectionbypass links only when virus scanning fails, +# not when a file is found to contain a virus. +# on = enable (default and highly recommended) +# off = disable + + +### +### END of BYPASS section + + +### EMAILER section +### +### Note this is experimental in v5 - not supported by maintainers + +# Email reporting - original patch by J. Gauthier + +#usesmtp = off #NOT YET TESTED +# +# If on, will enable system wide events to be reported by email. +# need to configure mail program (see 'mailer' in global config) +# and email recipients +# default usesmtp = off + +#mailfrom = '' +# +# who the email would come from +# example: mailfrom = 'e2guardian@mycompany.com' + +#avadmin = '' +# +# who the virus emails go to (if notify av is on) +# example: avadmin = 'admin@mycompany.com' + +#contentadmin = '' +# +# who the content emails go to (when thresholds are exceeded) +# and contentnotify is on +# example: contentadmin = 'admin@mycompany.com' + +#avsubject = 'e2guardian virus block' +# +# Subject of the email sent when a virus is caught. +# only applicable if notifyav is on +# default avsubject = 'e2guardian virus block' + +#contentsubject = 'e2guardian violation' +# +# Subject of the email sent when violation thresholds are exceeded +# default contentsubject = 'e2guardian violation' + +#notifyav = off +# +# This will send a notification, if usesmtp/notifyav is on, any time an +# infection is found. +# Important: If this option is off, viruses will still be recorded like a +# content infraction. + +#notifycontent = off +# +# This will send a notification, if usesmtp is on, based on thresholds +# below + +#thresholdbyuser = off +# +# results are only predictable with user authenticated configs +# if enabled the violation/threshold count is kept track of by the user + +#violations = 0 +# +# number of violations before notification +# setting to 0 will never trigger a notification + +#threshold = 0 +# +# this is in seconds. If 'violations' occur in 'threshold' seconds, then +# a notification is made. +# if this is set to 0, then whenever the set number of violations are made a +# notifaction will be sent. + +### +### END of EMAILER section + + +### OBSOLETE section +### + +# groupmode = 1 #DISABLED +# Filter group mode IS NOT LONGER SUPPORTED +# Unauthenticated users are treated as being in the default filter group. + +# ssllegacylogic = off +# Enable legacy (E2) ssl logic +# The option is replaced by storyboard logic + +#sslcertcheck = off - NOT implimented in V5 yet +#SSL certificate checking +# Check that ssl certificates for servers on https connections are valid +# and signed by a ca in the configured path +# ONLY for connections that are NOT MITM + +# bannedregexwithblanketblock = off +# option is replaced by storyboard logic + +#blockdownloads = off +# option is replaced by storyboard logic + +#embeddedurlweight = 0 +# - NOT implimented in v5 +# Embedded URL weighting +# When set to something greater than zero, this option causes URLs embedded within a +# page's HTML (from links, image tags, etc.) to be extracted and checked against the +# bannedsitelist and bannedurllist. Each link to a banned page causes the amount set +# here to be added to the page's weighting. +# The behaviour of this option with regards to multiple occurrences of a site/URL is +# affected by the weightedphrasemode setting. +# +# NB: Currently, this feature uses regular expressions that require the PCRE library. +# As such, it is only available if you compiled e2guardian with '--enable-pcre=yes'. +# You can check compile-time options by running 'e2guardian -v'. +# +# Set to 0 to disable. +# Defaults to 0. +# WARNING: This option is highly CPU intensive! + +#onlymitmsslgrey = off - ignored in V5 +#Limit SSL MITM to sites in greysslsitelist(s) +# ignored if sslmitm is off +# SSL sites not matching greysslsitelist will be treat as if sslmitm is off. +# The option is replaced by storyboard logic + +#contentregexplist = '__LISTDIR__/contentregexplist' +# +# not yet implemented in v5 + +### +### END of OBSOLETE section + + + +### INFO section +### +### No settings just info on new features etc + +# New in v5.4.2:- relative paths +# Relative paths can used in .Include<> and list files. +# The directory of current file will be insert where the file name +# does not start with '/' + + +# Also NEW in v5.4.2 - LISTDIR 'variable' definition +# LISTDIR can be defined in .conf files. +# This allows for more readable configuration and for templating. +# This works similarly to a shell environment variable +# The text between <> will replace occurances of __LISTDIR__ in .conf and +# list files. +# Note: Currently only LISTDIR may be defined. +# +# The mapping is actioned as the file is read and is valid until another LISTDIR +# is defined later in the file, or in an included .conf file. +# +# The scope of LISTDIR is in the rest of file it is defined in and all +# .Include<> files or list files in that portion of the file. + +### +### END of INFO section diff --git a/docker-compose/e2guardian/examplef1.story b/docker-compose/e2guardian/examplef1.story new file mode 100644 index 0000000..a8d6eb3 --- /dev/null +++ b/docker-compose/e2guardian/examplef1.story @@ -0,0 +1,66 @@ +.Include +.Include + +# Add any altered functions for this filtergroup here +# They will overwrite library or site level definitions + +# To allow unfiltered access to this group +# uncomment next 4 lines +#function(checkrequest) +#if(true) return setexception +#function(thttps-checkrequest) +#if(true) return setexception + +# To block all access to this group +# uncomment next 4 lines +#function(checkrequest) +#if(true,,105) return setblock +#function(sslexceptioncheck) +#function(localsslcheckrequest) + +# To block all access to this group at certain times +# define times in bannedtimelist, +# uncomment the list definition for 'bannedtimes' in e2guardianfn.conf, +# and uncomment the next 2 lines +#function(checktimesblocked) +#if(timein,bannedtimes) return true + +# Note: Blanket blocks are checked after exceptions +# and can be used to make a 'walled garden' filtergroup + +# To create blanket block for http (and MITM https) +# uncomment next line and one condition line. +#function(checkblanketblock) +#if(true,,502) return setblock # = ** total blanket +#if(siteisip,,505) return setblock # = *ip ip blanket + +# To use timed blanket block +# define times in blankettimelist, +# uncomment the list definition for 'blankettimes' in e2guardianfn.conf, +# and uncomment the next line +#if(timein,blankettimes) return setblock + +# To create blanket block for SSL +# uncomment next line and one condition line. +#function(sslcheckblanketblock) +#if(true,,506) return setblock # = **s total blanket +#if(siteisip,,507) return setblock # = **ips ip blanket + +# To limit MITM to sslgreylist +# replaces onlymitmsslgrey e2guardianf1.conf option +# uncomment the next 2 lines +#function(sslcheckmitm) +#if(true) return sslcheckmitmgreyonly + +# SNI checking - overrides default action when no SNI or TSL is present on a +# THTTPS connection +# To allow (tunnell) non-tls and/or non-sni connections uncomment the next 3 lines +#function(checksni) +#ifnot(tls,,511) return setexception # change to setblock to block only non-tls +#ifnot(hassniset,,512) return setexception + +# automitm - overrides default action when thttps +# To disable automitm for trans https uncomment the next 2 lines +# function(thttps_automitm) +# if(true) unsetautomitm + diff --git a/docker-compose/e2guardian/lists/README b/docker-compose/e2guardian/lists/README new file mode 100644 index 0000000..f683b27 --- /dev/null +++ b/docker-compose/e2guardian/lists/README @@ -0,0 +1,24 @@ +README for lists directory + +All lists have now been moved into sub-directories + +As before plugins have their own directories for lists and mappings +used by plugins + +Sub-directories: + +authplugins - lists/maps used by authplugins +blacklists - placeholder for 3rd party url lists +common - lists used by e2guardian.conf and common lists for groups +contentscanners - lists used by content/AV scanners +downloadmanagers - lists used by downloadmanagers +example.group - example lists for group use used by e2guardianf1.conf +group1 - lists for group 1 +group2 - lists for group 2 +... +groupn - lists for group n +oldphraselists - old style format phraselists +phraselists - lists of phrases +rooms - location (ip) based block/allow + + diff --git a/docker-compose/e2guardian/lists/authplugins/filtergroupslist b/docker-compose/e2guardian/lists/authplugins/filtergroupslist new file mode 100755 index 0000000..c414982 --- /dev/null +++ b/docker-compose/e2guardian/lists/authplugins/filtergroupslist @@ -0,0 +1,10 @@ +# Filter Groups List file for e2guardian +# +# Format is =<1-99> where 1-99 are the groups +# Legacy format is also recognised: =filter<1-99> where 1-99 are the groups +# +# Eg: +# daniel=2 +# +# This file is only of use if you have more than 1 filter group +# diff --git a/docker-compose/e2guardian/lists/authplugins/ipgroups b/docker-compose/e2guardian/lists/authplugins/ipgroups new file mode 100755 index 0000000..5ec6b58 --- /dev/null +++ b/docker-compose/e2guardian/lists/authplugins/ipgroups @@ -0,0 +1,11 @@ +# IP-Group list +# Used by the IP-based auth plugin to assign IP addresses to filter groups. +# +# Examples: +# Straight IP matching: +#192.168.0.1 = filter1 +# Subnet matching: +#192.168.1.0/255.255.255.0 = filter1 +# Range matching: +#192.168.1.0-192.168.1.255 = filter1 + diff --git a/docker-compose/e2guardian/lists/authplugins/portgroups b/docker-compose/e2guardian/lists/authplugins/portgroups new file mode 100755 index 0000000..27f063c --- /dev/null +++ b/docker-compose/e2guardian/lists/authplugins/portgroups @@ -0,0 +1,8 @@ +# Port-Group list +# Used by the Port-based auth plugin to assign Ports to filter groups. +# +# Note that ports MUST be entered in ascending order +# +# Examples: +#8080 = filter1 +#8081 = filter2 diff --git a/docker-compose/e2guardian/lists/common/README b/docker-compose/e2guardian/lists/common/README new file mode 100644 index 0000000..85cf279 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/README @@ -0,0 +1,73 @@ +README for lists/common directory + +### Lists held in this directory:- + +## Lists defined in e2guardian.conf + +# Sites that are impossible or undesirable to MITM +# +nomitmsitelist +nomitmsiteiplist + + +# Banned clients +# +bannediplist +# ONLY for banned client IP +# +exceptioniplist +# ONLY for exception client IP +# +bannedclientlist +# Put client dns names in bannedclientlist if required +exceptionclientlist +# Put client dns names in exceptionclientlist if required + +# Auth exceptions +# Target Sites/Urls allowed before authentication +# to allow for machines to update without user authentication +# +authexceptioniplist +authexceptionsitelist +authexceptionurllist + +browserregexpboollist +# +# List of regexp that match match User-agent of browsers +# Used to determine if client is a browser +# and decide whether to send a block page or go MITM + + +## Lists common to all groups (defined in e2guardianfn.conf) + + +# Embeded referer +# Some sites have the referering url in their url. Put these url in these +# lists and e2g will extract the embeded url and then check this againist +# the refererexception lists. +# For best results be as specific as possible +embededreferersitelist +embededreferersiteiplist +embededrefererurllist + +# Nolog lists +# Do not log sites/urls/ext +# Useful to prevent requests not made by user directly being logged +# Makes logs more readable +nologsitelist +nologsiteiplist +nologurllist +nologregexpurllist +nologextensionlist + +# Search engine regular expression list +# List of regular expressions for matching search engine URLs. It is assumed +# that the search terms themselves will be contained in the +# of output of each expression. +searchregexplist +# +# search engine regexp exception (overide) list +# Used to prevent urls such os completetion suggestion requests from being detected +# as search requests +searchexceptionregexplist + diff --git a/docker-compose/e2guardian/lists/common/authexceptioniplist b/docker-compose/e2guardian/lists/common/authexceptioniplist new file mode 100644 index 0000000..f6b8ec5 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/authexceptioniplist @@ -0,0 +1,9 @@ +#Access allowed prior to authentication +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/common/authexceptionsitelist b/docker-compose/e2guardian/lists/common/authexceptionsitelist new file mode 100644 index 0000000..570abd3 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/authexceptionsitelist @@ -0,0 +1 @@ +#Access allowed prior to authentication diff --git a/docker-compose/e2guardian/lists/common/authexceptionurllist b/docker-compose/e2guardian/lists/common/authexceptionurllist new file mode 100644 index 0000000..570abd3 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/authexceptionurllist @@ -0,0 +1 @@ +#Access allowed prior to authentication diff --git a/docker-compose/e2guardian/lists/common/bannedclientlist b/docker-compose/e2guardian/lists/common/bannedclientlist new file mode 100755 index 0000000..bd7eff1 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/bannedclientlist @@ -0,0 +1,6 @@ +# Domain names of client machines to +# disallow web access to. +# +# This is not the the domains of web servers +# you want to filter. + diff --git a/docker-compose/e2guardian/lists/common/bannediplist b/docker-compose/e2guardian/lists/common/bannediplist new file mode 100755 index 0000000..9ddddaa --- /dev/null +++ b/docker-compose/e2guardian/lists/common/bannediplist @@ -0,0 +1,12 @@ +# IP addresses of client machines to +# disallow web access to. +# +# This is not the IP of web servers +# you want to filter. + +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/common/browserregexplist b/docker-compose/e2guardian/lists/common/browserregexplist new file mode 100644 index 0000000..293bba0 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/browserregexplist @@ -0,0 +1,15 @@ +# Reg Exp to check user-agent shows request is from a browser +# +# The format is: "extended regular expression" + +(Firefox/) +(Chrome/) +(MSIE/) +(Opera/) +(Safari/) +(Edge/) + +# curl and wget are not browsers - but are often used for testing +# so are included below +(curl/) +(wget/) diff --git a/docker-compose/e2guardian/lists/common/embededreferersiteiplist b/docker-compose/e2guardian/lists/common/embededreferersiteiplist new file mode 100644 index 0000000..e081a53 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/embededreferersiteiplist @@ -0,0 +1,10 @@ +# Embeded referer IP sites +# sites which may contain embeded exception referer sites in the url +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/common/embededreferersitelist b/docker-compose/e2guardian/lists/common/embededreferersitelist new file mode 100644 index 0000000..0f782be --- /dev/null +++ b/docker-compose/e2guardian/lists/common/embededreferersitelist @@ -0,0 +1,2 @@ +# Embeded referer sites +# sites which may contain embeded exception referer sites in the url diff --git a/docker-compose/e2guardian/lists/common/embededrefererurllist b/docker-compose/e2guardian/lists/common/embededrefererurllist new file mode 100644 index 0000000..2c67d9d --- /dev/null +++ b/docker-compose/e2guardian/lists/common/embededrefererurllist @@ -0,0 +1,5 @@ +# Embeded referer urls +# urls which may contain embeded exception referer sites in the url + +# e.g. to allow youtube video when embeded in a trusted referer site/urls +# www.youtube.com/get_video_info diff --git a/docker-compose/e2guardian/lists/common/exceptionclientlist b/docker-compose/e2guardian/lists/common/exceptionclientlist new file mode 100755 index 0000000..e051e41 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/exceptionclientlist @@ -0,0 +1,16 @@ +# Doamin names of computers from which +# web access should not be filtered. +# +# These would be servers which +# need unfiltered access for +# updates. Also administrator +# workstations which need to +# download programs and check +# out blocked sites should be +# put here. +# +# To work you must +# cater for reverse DNS lookups +# on your LAN and enable the +# "reverseclientiplookups" option in +# e2guardian.conf diff --git a/docker-compose/e2guardian/lists/common/exceptioniplist b/docker-compose/e2guardian/lists/common/exceptioniplist new file mode 100755 index 0000000..134c0a9 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/exceptioniplist @@ -0,0 +1,27 @@ +# IP addresses of computers from which +# web access should not be filtered. +# +# These would be servers which +# need unfiltered access for +# updates. Also administrator +# workstations which need to +# download programs and check +# out blocked sites should be +# put here. +# +# Hostnames are NOT allowed here, +# put these in exceptionclientlist and +# enable the reverseclientlookups option. +# +# This is not the IP of web servers +# you don't want to filter. + +#192.168.0.1 +#192.168.0.2 +#192.168.42.2 + +# Ranges and subnets can also be used, +# e.g. +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/common/nologextensionlist b/docker-compose/e2guardian/lists/common/nologextensionlist new file mode 100755 index 0000000..059a069 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/nologextensionlist @@ -0,0 +1,31 @@ +# No Log file extension list + +# requests with extensions in this list will not be logged + +# Text/web document types + +.css + +# Image types + +#.bmp +#.cod +#.gif +#.ief +#.jpe +#.jpeg +#.jpg +#.jfif +#.tif +#.tiff +#.ras +#.cmx +#.ico +#.pnm +#.pbm +#.pgm +#.ppm +#.rgb +#.xbm +#.xpm +#.xwd diff --git a/docker-compose/e2guardian/lists/common/nologregexpurllist b/docker-compose/e2guardian/lists/common/nologregexpurllist new file mode 100755 index 0000000..af9384f --- /dev/null +++ b/docker-compose/e2guardian/lists/common/nologregexpurllist @@ -0,0 +1,4 @@ +# No Log regular expression URL list +# +# This acts as a list of URL regexes which, if matched, will +# not be logged diff --git a/docker-compose/e2guardian/lists/common/nologsiteiplist b/docker-compose/e2guardian/lists/common/nologsiteiplist new file mode 100755 index 0000000..d4b6ef2 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/nologsiteiplist @@ -0,0 +1,13 @@ +# No Log IP site list +# +# This acts as a list of IP sites which, when found, +# will not be logged + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/common/nologsitelist b/docker-compose/e2guardian/lists/common/nologsitelist new file mode 100755 index 0000000..c96fd45 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/nologsitelist @@ -0,0 +1,4 @@ +# No Log site list +# +# This acts as a list of domains which, when found, +# will not be logged. diff --git a/docker-compose/e2guardian/lists/common/nologurllist b/docker-compose/e2guardian/lists/common/nologurllist new file mode 100755 index 0000000..3ce3245 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/nologurllist @@ -0,0 +1,9 @@ +# No Log URL list +# +# This acts as a list of URLs which, when found, will +# not be logged + +www.google.com/complete +www.google.co.uk/complete + + diff --git a/docker-compose/e2guardian/lists/common/nomitmsiteiplist b/docker-compose/e2guardian/lists/common/nomitmsiteiplist new file mode 100644 index 0000000..7339adf --- /dev/null +++ b/docker-compose/e2guardian/lists/common/nomitmsiteiplist @@ -0,0 +1,9 @@ +#IP in nomitmsiteiplist + +#This list is to stop any attempt to mitm these sites, +# including trying to MITM to client to deliver an error message + +#Only put IP sites which cannot be MITM in this list +#This applies to sites which are only used by apps +#Sites not using http(s) but connecting via https or CONNECT + diff --git a/docker-compose/e2guardian/lists/common/nomitmsitelist b/docker-compose/e2guardian/lists/common/nomitmsitelist new file mode 100644 index 0000000..b79b5b3 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/nomitmsitelist @@ -0,0 +1,14 @@ +#domains in nomitmsitelist +#Don't bother with the www. or the http:// + +#This list is to stop any attempt to mitm these sites, +# including trying to MITM to client to deliver an error message + +#Only put sites which cannot be MITM in this list +#This applies to sites which are only used by apps +#Sites not using http(s) but connecting via https or CONNECT + +#NOTE: Sites using just IP should be put into nomitmsiteiplist + +reports.crashlytics.com # google app crash tool + diff --git a/docker-compose/e2guardian/lists/common/searchexceptionregexplist b/docker-compose/e2guardian/lists/common/searchexceptionregexplist new file mode 100644 index 0000000..bccf0b3 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/searchexceptionregexplist @@ -0,0 +1,11 @@ +# This defines urls which will be not search term checked +# Overrides searchregexplist +# +# The format is: "extended regular expression" +# + +#"^http://[0-9a-z]+\.google\.[a-z]+[-%.0-9a-z]*/complete" +"^http://www.google.com/complete" +"^http://www.google.co.uk/complete" + + diff --git a/docker-compose/e2guardian/lists/common/searchregexplist b/docker-compose/e2guardian/lists/common/searchregexplist new file mode 100644 index 0000000..6bcb5a0 --- /dev/null +++ b/docker-compose/e2guardian/lists/common/searchregexplist @@ -0,0 +1,37 @@ +# This defines sites which will be search term checked +# +# The format is: "extended regular expression"->"search words" +# +# left is the site matching pattern +# right is the search words + +"^http://[0-9a-z]+\.google\.[a-z]+[-/%.0-9a-z]*\?q=([^&]*)\&.*"->"\1" +"^http://[0-9a-z]+\.google\.[a-z]+[-/%.0-9a-z]*/.*\&q=([^&]*).*"->"\1" +"^http://[0-9a-z]+\.google\.[a-z]+[-/%.0-9a-z]*\?q=([^&]*)"->"\1" +"^http://[0-9a-z]+\.google\.[a-z]+[-/%.0-9a-z]*/.*\&q=([^&]*)"->"\1" + +"^http://www\.qwant\.com/.*\?q=([^&]*)\&.*"->"\1" +"^http://www\.qwant\.com/.*\&q=([^&]*).*"->"\1" +"^http://www\.qwant\.com/.*\?q=([^&]*)"->"\1" +"^http://www\.qwant\.com/.*\&q=([^&]*)"->"\1" +"^http://api\.qwant\.com/.*\?q=([^&]*)\&.*"->"\1" +"^http://api\.qwant\.com/.*\&q=([^&]*).*"->"\1" +"^http://api\.qwant\.com/.*\?q=([^&]*)"->"\1" +"^http://api\.qwant\.com/.*\&q=([^&]*)"->"\1" + +"^http://duckduckgo.com/\?q=([^&]*)\&.*"->"\1" +"^http://duckduckgo.com/.*\&q=([^&]*).*"->"\1" +"^http://duckduckgo.com/\?q=([^&]*)"->"\1" +"^http://duckduckgo.com/.*\&q=([^&]*)"->"\1" + +"^http://[0-9a-z]+\.youtube\.[a-z]+[-/%.0-9a-z]*\?search_query=([^&]*).*"->"\1" + +"^http://[0-9a-z]+\.yahoo\.[a-z]+[-/%.0-9a-z]*/search[^?]*\?p=([^&]*).*"->"\1" +"^http://[0-9a-z]+\.yahoo\.[a-z]+[-/%.0-9a-z]*/search[^?]*.*\&p=([^&]*).*"->"\1" + +"^http://[0-9a-z]+\.answers\.[a-z]+[-/%.0-9a-z]*\?s=([^&]*)\&.*"->"\1" +"^http://www\.answers\.[a-z]+[-%.0-9a-z]*/([^&]*).*"->"\1" + +"^http://[0-9a-z]+\.bing\.com[-/%.0-9a-z]*/search\?q=([^&]*).*"->"\1" +"^http://[0-9a-z]+\.bing\.com[-/%.0-9a-z]*\&q=([^&]*).*"->"\1" + diff --git a/docker-compose/e2guardian/lists/contentscanners/exceptionvirusextensionlist b/docker-compose/e2guardian/lists/contentscanners/exceptionvirusextensionlist new file mode 100755 index 0000000..e8554b8 --- /dev/null +++ b/docker-compose/e2guardian/lists/contentscanners/exceptionvirusextensionlist @@ -0,0 +1,35 @@ +#Exception Virus extension list + +#This file originally from: +#http://dgav.sourceforge.net + +# The Virus scanning code will ignore files with these extensions. + +# File extensions with executable code + + +# Files which one normally things as non-executable but +# can contain harmful macros and viruses + + +# Other files which may contain files with executable code + + +# Time/bandwidth wasting files + +.mp3 # Music file +.mpeg # Movie file +.mpg # Movie file +.avi # Movie file +.ra # Real Audio +.ram # " +.rm # " + +# Image files not to scan +.gif +.png +.tiff +.ico +# http://www.kb.cert.org/vuls/id/297462 +#.jpg +#.jpeg diff --git a/docker-compose/e2guardian/lists/contentscanners/exceptionvirusmimetypelist b/docker-compose/e2guardian/lists/contentscanners/exceptionvirusmimetypelist new file mode 100755 index 0000000..6eab11a --- /dev/null +++ b/docker-compose/e2guardian/lists/contentscanners/exceptionvirusmimetypelist @@ -0,0 +1,28 @@ +# MIME types the virus scanning code ignores. + +#This file originally from: +#http://dgav.sourceforge.net + +audio/mpeg +audio/x-mpeg +audio/x-pn-realaudio +audio/x-wav +audio/x-realaudio +audio/x-pn-realaudio +audio/vnd.rn-realaudio +application/ogg +video/mpeg +video/x-mpeg2 +video/acorn-replay +video/quicktime +video/x-msvideo +video/msvideo +video/vnd.rn-realvideo + +image/png +image/gif +image/tiff +# http://www.kb.cert.org/vuls/id/297462 +# image/jpeg + +# text/html diff --git a/docker-compose/e2guardian/lists/contentscanners/exceptionvirussitelist b/docker-compose/e2guardian/lists/contentscanners/exceptionvirussitelist new file mode 100755 index 0000000..731f118 --- /dev/null +++ b/docker-compose/e2guardian/lists/contentscanners/exceptionvirussitelist @@ -0,0 +1,12 @@ +#Sites in virus exception list will not be virus scanned +#Don't bother with the www. or +#the http:// +# +#These are specifically domains and are not URLs. +#For example 'foo.bar/porn/' is no good, you need +#to just have 'foo.bar'. +# +#You can also match IPs here too. +# + +example.com diff --git a/docker-compose/e2guardian/lists/contentscanners/exceptionvirusurllist b/docker-compose/e2guardian/lists/contentscanners/exceptionvirusurllist new file mode 100755 index 0000000..30c2c30 --- /dev/null +++ b/docker-compose/e2guardian/lists/contentscanners/exceptionvirusurllist @@ -0,0 +1,15 @@ +#URLs in exception virus list will not be virus scanned +#Don't bother with the www. or +#the http:// +# +#These are parts of sites that filtering should +#be switched off for. +# +#These should not be domains, i.e. entire sites, +#they should be a domain with a path. +# +#For example 'foo.bar' is no good, you need +#to just have 'foo.bar/porn'. +# +#Another example: +#generallybadsite.tld/partthatsok diff --git a/docker-compose/e2guardian/lists/downloadmanagers/managedextensionlist b/docker-compose/e2guardian/lists/downloadmanagers/managedextensionlist new file mode 100755 index 0000000..0754a78 --- /dev/null +++ b/docker-compose/e2guardian/lists/downloadmanagers/managedextensionlist @@ -0,0 +1,42 @@ +# Managed extension list +# For use as the 'managedextensionlist' option in the configuration of +# download managers supporting this feature. +# +# When enabled, only content matching the extensions given in this list will +# be handled by the download manager. +# If a managedmimetypelist is also enabled, then only content matching both +# a mimetype and an extension in the lists will be handled. + +.bat +.cab +.com +.crt +.exe +.hlp +.ini +.hta +.inf +.lnk +.mdb +.pcd +.sh +.vbs +.doc +.xls +.gz +.tar +.bz2 +.sit +.bin +.hqx +.zip +.sxw +.doc +.iso +.pdf +.rar +.ace +.arj +.dll +.mda +.mde diff --git a/docker-compose/e2guardian/lists/downloadmanagers/managedmimetypelist b/docker-compose/e2guardian/lists/downloadmanagers/managedmimetypelist new file mode 100755 index 0000000..e82433b --- /dev/null +++ b/docker-compose/e2guardian/lists/downloadmanagers/managedmimetypelist @@ -0,0 +1,174 @@ +# Managed mime type list +# For use as the 'managedmimetypelist' option in the configuration of +# download managers supporting this feature. +# +# When enabled, only content matching the mime types given in this list will +# be handled by the download manager. +# If a managedextensionlist is also enabled, then only content matching both +# a mimetype and an extension in the lists will be handled. + +# List originally by David Chewning + +# MIME Types Researched at http://filext.com/ +# bat +application/bat +application/x-bat +# cab +application/cab +zz-application/zz-winassoc-cab +# com +application/com +application/x-com +# crt +application/x-x509-ca-cert +application/pkix-cert +application/keychain_access +# exe +application/octet-stream +application/exe +application/x-exe +application/dos-exe +vms/exe +application/x-winexe +application/msdos-windows +# hlp +application/winhlp +application/x-helpfile +application/x-winhelp +zz-application/zz-winassoc-hlp +# ini +zz-application/zz-winassoc-ini +# hta +application/hta +# inf +text/inf +application/x-setupscript +# lnk +application/x-ms-shortcut +# mdb +application/x-msaccess +application/vnd.msaccess +application/mdb +application/x-mdb +zz-application/zz-winassoc-mdb +# pcd +image/pcd +image/x-photo-cd +# sh +application/x-sh +application/x-shar +# vbs +application/x-vbs +text/vbs +text/vbscript +# doc +application/msword +application/doc +application/vnd.msword +application/vnd.ms-word +application/winword +application/word +application/x-msw6 +application/x-msword +zz-application/zz-winassoc-doc +# xls +application/msexcel +application/x-msexcel +application/x-ms-excel +application/vnd.ms-excel +application/x-excel +application/x-dos_ms_excel +application/xls +application/x-xls +zz-application/zz-winassoc-xls +# gz +application/gzip +application/x-gunzip +application/gzipped +application/gzip-compressed +gzip/document +# tar +application/tar +applicaton/x-gtar +multipart/x-tar +# bz2 +application/bzip2 +application/x-bz2 +application/x-bzip +# sit +application/stuffit +application/x-sit +# bin +application/macbinary +application/x-macbinary +application/bin +application/binary +# hqx +application/binhex +application/mac-binhex +application/mac-binhex40 +application/x-winzip +# zip +application/zip +application/x-zip +multipart/x-zip + +# Audio/video types commented out to prevent breakage of streaming apps +# mp3 +#audio/mpeg +#audio/x-mpeg +#audio/mp3 +#audio/x-mp3 +#audio/mpeg3 +#audio/x-mpeg3 +#audio/mpg +#audio/x-mpg +#audio/x-mpegaudio +# mpeg +#video/mpeg +# avi +#video/avi +#video/msvideo +#video/x-msvideo +#image/avi +#video/xmpg2 +#application/x-troff-msvideo +#audio/aiff +#audio/avi +# asf +#audio/asf +#application/asx +#video/x-ms-asf-plugin +#application/x-mplayer2 +#video/x-ms-asf +#application/vnd.ms-asf +#video/x-ms-asf-plugin +#video/x-ms-wm +#video/x-ms-wmx +# ogg +#audio/x-ogg +#application/x-ogg + +# Multiple extensions +# bat, com, dll, exe +application/x-msdos-program +# cab, gz, tar, zip +application/x-compress +# cab, gz, tar, bz2, zip +application/x-compressed +# com, dll, exe, bin +application/x-msdownload +# mda, mdb, mde +application/msaccess +application/vnd.ms-access +# sct, wsc +text/scriptlet +# sit, bin, hqx +application/x-stuffit +# gz, hqx +application/x-gzip +# tar, hqx +application/x-tar +# hqx, zip +application/x-zip-compressed + diff --git a/docker-compose/e2guardian/lists/example.group/README b/docker-compose/e2guardian/lists/example.group/README new file mode 100755 index 0000000..df37b6d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/README @@ -0,0 +1,185 @@ + +### Lists in this directory relate to a single filter group +### each filter group has it's own directory + +### +### Many of the exception/grey/banned site/ipsite/url lists are used for +### switching on/off standard list categories +### +### Where available it is best to use the LOCAL lists for your own lists of +### sites/urls as these override the main ones. + +## Order of checking is broadly as follows:- +## +## 1. If in Local Exception lists - allow with no further checking +## 2. If in Local Grey lists - retrieve page and content-check +## 3. If in Local Banned lists - block with no further checking +## 4. If in Main Exception lists - allow with no further checking +## 5. If in Main Grey lists - retrieve page and content-check +## 6. If in Main Banned lists (or blanket blocked) - block with no further checking +## 7. If gets here - retrieve page and content-check +## 8. Check blocked/exception file/mime types. +## 9. Content-check page + +## Lists in this directory:- + +# Nocheckcert lists +# Do not check ssl certificates for sites listed +# Can be used to allow sites with self-signed or invalid certificates +# or to reduced CPU load by not checking certs on heavily used sites (e.g. Google, Bing) +# Use with caution! +# Ignored if mitmcheckcert is 'off' +# +nocheckcertsitelist +nocheckcertsiteiplist + +# greyssl lists only used in onlymitmsslgrey mode to define sites that +# will be MITM +greysslsitelist +greysslsiteiplist +localgreysslsitelist +localgreysslsiteiplist + +## Exception lists +## Put sites you trust in these lists +## they override Grey and Banned entries +exceptionsitelist +exceptionsiteiplist +exceptionurllist +exceptionregexpurllist + +## Grey (i.e. content check) lists +## Put sites you want content-checked in these lists +## they override Banned entries +greysitelist +greysiteiplist +greyurllist + +## Banned sites/urls +bannedsitelist +bannedsiteiplist +bannedurllist +bannedregexpurllist + +# 'bannedssl' lists are not currently used +bannedsslsitelist +bannedsslsiteiplist + +## Local Exception lists +localexceptionsitelist +localexceptionsiteiplist +localexceptionurllist + +## Local Grey lists +localgreysitelist +localgreysiteiplist +localgreyurllist + +## Local Banned lists +localbannedsitelist +localbannedsiteiplist +localbannedurllist + +## Bannedssl lists are not currently used +localbannedsslsitelist +localbannedsslsiteiplist + + +# File type/extensions +exceptionextensionlist +exceptionmimetypelist + + +# Use the following lists to block specific kinds of file downloads. +bannedextensionlist +bannedmimetypelist + +# In either file filtering mode, the following lists can be used to override +# MIME type & extension blocks for particular domains & URLs (trusted download sites). +# +exceptionfilesitelist +exceptionfilesiteiplist +exceptionfileurllist + +# NEW in v5.4 bannedtimelist - times when no access is allowed +# To activate a storyboard change is required - see examplef1.story +bannedtimelist + +# NEW in v5.4 blankettimelist - times when blanket block is applied +# To activate a storyboard change is required - see examplef1.story +blankettimelist + + +### These lists are useful for allowing/blocking apps or browsers based +### on the user-agent +bannedregexpuseragentlist +exceptionregexpuseragentlist + +# refererexception lists are used to make a request an exception based on the +# Referer header. +refererexceptionsitelist +refererexceptionsiteiplist +refererexceptionurllist + +# Used to modify url on the fly +# use to enforce safe search etc. +# Do not try and change target site - use redirect for this. +urlregexplist + +# Replace target connection site for a ssl connection request +# Note: this does not change the url in any way. It just changes +# where the request is sent upstream and the new target must accept +# the original url. +sslsiteregexplist + +# Used to redirect browser to different site and or url +urlredirectregexplist + +# Categorise without blocking: +# Supply categorised lists here and the category string shall be logged against +# matching requests, but matching these lists does not perform any filtering +# action. +logsitelist +logsiteiplist +logurllist +logregexpurllist + +# Phrase lists +bannedphraselist +weightedphraselist +exceptionphraselist + +oldbannedphraselist +oldweightedphraselist +oldexceptionphraselist + +# Search Term list(s) for option 1 +bannedsearchlist +bannedsearchoveridelist + +localbannedsearchlist + +# Outgoing HTTP request header rules: +# Lists for blocking based on, and modification of, outgoing HTTP +# request headers. Format for headerregexplist is one modification rule per +# line, similar to content/URL modifications. Format for +# bannedregexpheaderlist is one regular expression per line, with matching +# headers causing a request to be blocked. +# Headers are matched/replaced on a line-by-line basis, not as a contiguous +# block. +# Use for example, to remove cookies or prevent certain user-agents. +headerregexplist +bannedregexpheaderlist +exceptionregexpheaderlist + +# add cookies or other headers etc to matched urls +addheaderregexplist + +# Response HTTP header rules: +# Lists for modification or removal of HTTP response headers. +# Format for reponseheaderregexplist is one rule per line, similar to +# content/URL modifications. +# Headers are matched/replaced on a line-by-line basis, not as a contiguous +# block. +# Use for example, to remove protocol upgrade requests. +responseheaderregexplist diff --git a/docker-compose/e2guardian/lists/example.group/addheaderregexplist b/docker-compose/e2guardian/lists/example.group/addheaderregexplist new file mode 100644 index 0000000..8447024 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/addheaderregexplist @@ -0,0 +1,13 @@ +#Add header where url matches +# +## to enable restricted YouTube +#"(^http://www\.youtube\.com/.*$)"->"YouTube-Restrict: Strict" +#"(^http://m\.youtube\.com/.*$)"->"YouTube-Restrict: Strict" +#"(^http://youtubei\.googleapis\.com/.*$)"->"YouTube-Restrict: Strict" +#"(^http://youtube\.googleapis\.com/.*$)"->"YouTube-Restrict: Strict" +#"(^http://www\.youtube-nocookie\.com/.*$)"->"YouTube-Restrict: Strict" +#"(^http://www\.youtube\.com$)"->"YouTube-Restrict: Strict" +#"(^http://m\.youtube\.com$)"->"YouTube-Restrict: Strict" +#"(^http://youtubei\.googleapis\.com$)"->"YouTube-Restrict: Strict" +#"(^http://youtube\.googleapis\.com$)"->"YouTube-Restrict: Strict" +#"(^http://www\.youtube-nocookie\.com$)"->"YouTube-Restrict: Strict" diff --git a/docker-compose/e2guardian/lists/example.group/bannedextensionlist b/docker-compose/e2guardian/lists/example.group/bannedextensionlist new file mode 100755 index 0000000..ad42160 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedextensionlist @@ -0,0 +1,211 @@ +#Banned extension list + +# File extensions with executable code + +# The following file extensions can contain executable code. +# This means they can potentially carry a virus to infect your computer. + +.ade # Microsoft Access project extension +.adp # Microsoft Access project +.asx # Windows Media Audio / Video +.bas # Microsoft Visual Basic class module +.bat # Batch file +.cab # Windows setup file +.chm # Compiled HTML Help file +.cmd # Microsoft Windows NT Command script +.com # Microsoft MS-DOS program +.cpl # Control Panel extension +.crt # Security certificate +.dll # Windows system file +.exe # Program +.hlp # Help file +.ini # Windows system file +.hta # HTML program +.inf # Setup Information +.ins # Internet Naming Service +.isp # Internet Communication settings +# .js # JScript file - often needed in web pages +# .jse # Jscript Encoded Script file - often needed in web pages +.lnk # Windows Shortcut +.mda # Microsoft Access add-in program +.mdb # Microsoft Access program +.mde # Microsoft Access MDE database +.mdt # Microsoft Access workgroup information +.mdw # Microsoft Access workgroup information +.mdz # Microsoft Access wizard program +.msc # Microsoft Common Console document +.msi # Microsoft Windows Installer package +.msp # Microsoft Windows Installer patch +.mst # Microsoft Visual Test source files +.pcd # Photo CD image, Microsoft Visual compiled script +.pif # Shortcut to MS-DOS program +.prf # Microsoft Outlook profile settings +.reg # Windows registry entries +.scf # Windows Explorer command +.scr # Screen saver +.sct # Windows Script Component +.sh # Shell script +.shs # Shell Scrap object +.shb # Shell Scrap object +.sys # Windows system file +.url # Internet shortcut +.vb # VBScript file +.vbe # VBScript Encoded script file +.vbs # VBScript file +.vxd # Windows system file +.wsc # Windows Script Component +.wsf # Windows Script file +.wsh # Windows Script Host Settings file +.otf # Font file - can be used to instant reboot 2k and xp +.ops # Office XP settings + + + +# Files which one normally things as non-executable but +# can contain harmful macros and viruses + +.doc # Word document +.xls # Excel document +.pps + + +# Other files which may contain files with executable code + +.gz # Gziped file +.tar # Tape ARchive file +.zip # Windows compressed file +.tgz # Unix compressed file +.bz2 # Unix compressed file +.cdr # Mac disk image +.dmg # Mac disk image +.smi # Mac self mounting disk image +.sit # Mac compressed file +.sea # Mac compressed file, self extracting +.bin # Mac binary compressed file +.hqx # Mac binhex encoded file +.rar # Similar to zip + + +# Time/bandwidth wasting files + +.mp3 # Music file +.mpeg # Movie file +.mpg # Movie file +.avi # Movie file +.asf # this can also exploit a security hole allowing virus infection +.iso # CD ISO image +.ogg # Music file +.wmf # Movie file +.bin # CD ISO image +.cue # CD ISO image + +# Banned Media extension list (Audio , Video , Streaming) +# Arrange Alphabetically +# Some have no Description +#.3g2 # +#.3gp # Nokia Movie File +#.3gp2 +#.3gpp +#.3gpp2 +#.aac # AAC Audio +#.acp # AAC for SD Media +#.adts +#.aif +#.aifc +#.aiff # AIFF Audio +#.amc # AMC Media +#.amr # narrow-Band Content +#.asf # Media / this can also exploit a security hole allowing virus infection +#.asx # Windows Media Audio / Video +#.au # uLaw/AU Audio +#.avi # Movie file +#.awb # AMR Wide-Band Content +#.bwf +#.caf # CAF Audio +#.cda # Audio CD File +#.cdda # Audio CD File +#.cel +#.cue # CD ISO image +#.dif +#.divx # Compress Movie +#.dv # Video Format used in Portable Camera +#.flc # Autodesk Animator +#.fli +#.flv # Internet Movies +#.gsm +#.ivf +#.kar # Karaoke Media Files +#.m15 +#.m1a +#.m1s +#.m1v +#.m2v +#.m3u # MP3 Playlist +#.m4a # AAC Audio +#.m4b +#.m4e +#.m4p # AAC Audio (Protected) +#.m4v # Video (Protected) +#.m75 +#.mid # Midi Audio Files +#.midi # Midi Audio Files +#.mjpg +#.mov # Movie Files +#.mp1 +#.mp2 +#.mp3 # Music file +#.mp4 # Mpeg-4 Media +#.mpa +#.mpe +#.mpeg # Movie file +#.mpg # Movie file +#.mpga +#.mpm +#.mps +#.mpv +#.mpv2 +#.mqv # Quicktime Movies +#.mv +#.ogg # Music file +#.ogm # Ogg Based Movie Files +#.pls # Shoutcast type of radio +#.qcp # Qualcomm Purevoice Audio +#.qt # Quicktime File +#.qtc +#.qtl # Quicktime Movies +#.ra # Real Audio +#.ram # Real Audio Media +#.rm # Real Media Files +#.rmi +#.rmm +#.rmp +#.rmvb # Real Media Video +#.rnx +#.rp # Real Player Files +#.rt +#.rts +#.rtsp +#.rv +#.sd2 # Sound Designer II +#.sdp # Stream Descriptor +#.sdv # SD Video +#.sf +#.smf +#.smi # +#.smil # SMIL Multimedia Presentation (Video and Audio Presentation +#.snd +#.ssm # Streaming Media Metafile +#.swa # MP3 Audio +#.swf # Shockwave Streaming files +#.ulw +#.vfw # Video for Windows +#.wav +#.wax +#.wm +#.wma +#.wmf # Movie file +#.wmp +#.wmv # Windows Media Video +#.wmx +#.wvx +#.xpl diff --git a/docker-compose/e2guardian/lists/example.group/bannedmimetypelist b/docker-compose/e2guardian/lists/example.group/bannedmimetypelist new file mode 100755 index 0000000..791ffea --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedmimetypelist @@ -0,0 +1,18 @@ +# banned MIME types + +audio/mpeg +audio/x-mpeg +audio/x-pn-realaudio +audio/x-wav +video/mpeg +video/x-mpeg2 +video/acorn-replay +video/quicktime +video/x-msvideo +video/msvideo +application/gzip +application/x-gzip +application/zip +application/compress +application/x-compress +application/java-vm diff --git a/docker-compose/e2guardian/lists/example.group/bannedphraselist b/docker-compose/e2guardian/lists/example.group/bannedphraselist new file mode 100644 index 0000000..62bf62d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedphraselist @@ -0,0 +1,47 @@ +# BANNEDPHRASELIST - INSTRUCTIONS FOR USE +# +# To block any page with the word "sex". +# < sex > +# +# To block any page with words that contain the string "sex". (ie. sexual) +# +# +# To block any page with the string "sex magazine". +# +# +# To block any page containing the words/strings "sex" and "fetish". +# , +# +# < test> will match any word with the string 'test' at the beginning +# will match any word with the string 'test' at the end +# will match any word with the string 'test' at any point in the word +# < test > will match only the word 'test' +# will match that exact phrase +# , will match if both words are found in the page +# A combination of the above can also be used eg < test>, +# +# All phrases need to be within < and > to work, othewise they will be +# ignored. + +# Note: Use these sparingly - banned phrases tend to overblock + + +#listcategory: "Banned Phrases" + + +# The following banned phraselists are included in the default e2g distribution. + +.Include + +#.Include +#.Include + +#.Include +#.Include +#.Include + +#.Include +#.Include + + + diff --git a/docker-compose/e2guardian/lists/example.group/bannedregexpheaderlist b/docker-compose/e2guardian/lists/example.group/bannedregexpheaderlist new file mode 100755 index 0000000..ac2a8eb --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedregexpheaderlist @@ -0,0 +1,9 @@ +#Banned outgoing HTTP headers based on regular expressions +# +# E.g. 'User-Agent: .*MSIE' would block several versions of Internet Explorer +# (assuming the user-agent is not being spoofed by the client) +# +# Headers are matched line-by-line, not as a single block. + +#listcategory: "Banned Regular Expression HTTP Headers" + diff --git a/docker-compose/e2guardian/lists/example.group/bannedregexpurllist b/docker-compose/e2guardian/lists/example.group/bannedregexpurllist new file mode 100755 index 0000000..6201a7b --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedregexpurllist @@ -0,0 +1,122 @@ +#Banned URLs based on Regular Expressions +# +# E.g. 'sex' would block sex.com and middlesex.com etc + +#listcategory: "Banned Regular Expression URLs" + +#Banned URLs based on Regular Expressions + +#These examples should be used with extreme caution +# as most regexp url patterns tend to overblock +# Be as specific as possible as this helps avoid this + +###################################################### +# Pornography, Modelling and Adult Sites +###################################################### + +#\b(big|cyber|hard|huge|mega|small|soft|super|tiny|bare|naked|nude|anal|oral|topp?les|sex|phone)+\b.*\b(anal|babe|bharath|boob|breast|busen|busty|clit|cum|cunt|dick|fetish|fuck|girl|hooter|lez|lust|naked|nude|oral|orgy|penis|porn|porno|pupper|pussy|rotten|sex|shit|smutpump|teen|tit|topp?les|xxx)s\b? +#\b(anal|babe|bharath|boob|breast|busen|busty|clit|cum|cunt|dick|fetish|fuck|girl|hooter|lez|lust|naked|nude|oral|orgy|penis|porn|porno|pupper|pussy|rotten|sex|shit|smutpump|teen|tit|topp?les|xxx)+\b.*\b(big|cyber|hard|huge|mega|small|soft|super|tiny|bare|naked|nude|anal|oral|topp?les|sex)\b+ + +#HardCore phrases +#(adultsight|adultsite|adultsonly|adultweb|blowjob|bondage|centerfold|cumshot|cyberlust|cybercore|hardcore|masturbat) +#(bangbros|pussylip|playmate|pornstar|sexdream|showgirl|softcore|striptease) + +#SoftCore phrases - more likely to overblock - possibly on news sites +#(incest|obscene|pedophil|pedofil) + +#Photo Modeling - supplied by David Burkholder +#(male|m[ae]n|boy|girl|beaut|agen[ct]|glam)+.*(model|talent) + +# The following will help to block explicit media files (images and video) +#(sex|fuck|boob|cunt|fetish|tits|anal|hooter|asses|shemale|submission|porn|xxx|busty|knockers|slut|nude|naked|pussy)+.*(\.jpg|\.wmv|\.mpg|\.mpeg|\.gif|\.mov) +#(girls|babes|bikini|model)+.*(\.jpg|\.wmv|\.mpg|\.mpeg|\.gif|\.mov) + +#Block Naturism and Nudist sites +#(naturism|naturist|nude|nudist|nudism|nekkid|nakt|naakt) + + +###################################################### +# Search Engine and Related +###################################################### + +#Block unfiltered options on various search engines +#(^|[\?+=&/])(.*\.google\..*/.*\?.*safe=off)([\?+=&/]|$) +#(^|[\?+=&/])(.*\.alltheweb.com/customize\?.*copt_offensive=off)([\?+=&/]|$) + +#Block images and video on altavista, alltheweb, yahoo etc - as they are anonomised +#(yahoo.com\/image\/) +#(yimg.com\/image\/) +#(altavista.com\/image\/) +#(altavista.com\/video\/) +#(picsearch.com\/is) + +#Block images and video on google +#(images.google)+.*(\.jpg|\.wmv|\.mpg|\.mpeg|\.gif|\.mov) +#(google.com\/video) #block all video +#(google.com\/ThumbnailServer) #block video thumbnails +#(google.com\/videoplay) #block only playing the video + + +###################################################### +# Proxy Sites +###################################################### + +#Block Cgiproxy, Poxy, PHProxy and other Web-based proxies +#(cecid.php|nph-webpr|nph-pro|/dmirror|cgiproxy|phpwebproxy|__proxy_url|proxy.php) + +#Block websites containing proxy lists +#(anonymizer|proxify|megaproxy) + +#AGRESSIVE blocking of all URLs containing proxy - WARNING - this WILL overblock!! +#(proxy) + + +###################################################### +# Gambling - supplied by David Burkholder +###################################################### +#(casino|bet(ting|s)|lott(ery|o)|gam(e[rs]|ing|bl(e|ing))|sweepstake|poker) + + +###################################################### +# Sport - supplied by David Burkholder +###################################################### +#(bowling|badminton|box(e[dr]|ing)|skat(e[rs]|ing)|hockey|soccer|nascar|wrest|rugby|tennis|sports|cheerlead|rodeo|cricket|badminton|stadium|derby) +#((paint|volley|bas(e|ket)|foot|quet)ball|/players[/\.]?|(carn|fest)ival) + +#Racing - supplied by David Burkholder +#(speed(st|wa|y)|corvette|rac[eiy]|wrest|harley|motorcycle|nascar) + + +###################################################### +# News sites - supplied by David Burkholder +###################################################### +#(news(watch|pap|cast)|herald|sentinel|courier|gazet|tribune|chronicle|daily|ning)news) + + +###################################################### +# Dating Sites - supplied by David Burkholder +###################################################### +#(meet|hook|mailord|latin|(asi|mexic|dominic|russi|kore|colombi|balk)an|brazil|filip|french|chinese|ukrain|thai|tour|foreign|date)+.*(dar?[lt]ing|(sing|coup)le|m[ae]n|girl|boy|guy|mat(e|ing)|l[ou]ve?|partner|meet) +#(marr(y|i[ae])|roman(ce|tic)|fiance|bachelo|dating|affair|personals) + + +###################################################### +# Miscellaneous - Productivity etc. +###################################################### + +#Use this to block web counters: +#(adlog.php|cnt.cgi|count.cgi|count.dat|count.jsp|count.pl|count.php|counter.cgi|counter.js|counter.pl|countlink.cgi|fpcount.exe|logitpro.cgi|rcounter.dll|track.pl|w_counter.js) +#Contributed by proxy@barendse.to + +#Free stuff - supplied by David Burkholder +#(free|phone|mobile)+.*(love|music|movie|dvd|video|stuff|site|arcade|wallpaper|mp3) +#((ring|real)tone) + +#Music - supplied by David Burkholder +#(rock|pop|jazz|rap|punk)+.*(cult|roll|geek|drum|music|history|band) + +# WARNING: This is part of the URL for the e2guardian.org sample virus archive. +# You probably don't want to go there unintentionally. +(Variants/AVTest) + + diff --git a/docker-compose/e2guardian/lists/example.group/bannedregexpuseragentlist b/docker-compose/e2guardian/lists/example.group/bannedregexpuseragentlist new file mode 100755 index 0000000..c794794 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedregexpuseragentlist @@ -0,0 +1,12 @@ +#Banned User-Agents based on regular expressions +# +# E.g. ' .*MSIE' would block several versions of Internet Explorer +# (assuming the user-agent is not being spoofed by the client) +# +#listcategory: "user-agent" +# +# This is useful for blocking apps +# e.g. to block Kindle app +#kindle +#Kindle + diff --git a/docker-compose/e2guardian/lists/example.group/bannedsearchlist b/docker-compose/e2guardian/lists/example.group/bannedsearchlist new file mode 100644 index 0000000..18c50cb --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedsearchlist @@ -0,0 +1,9 @@ +#Banned Search Words +# +#Words must be in alphabetic order within a single line +# and separated by a '+' sign. +#All combinations of the words will be blocked +# e.g. girl+naughty +# will block naughty+girl as well as girl+naughty + + diff --git a/docker-compose/e2guardian/lists/example.group/bannedsearchoveridelist b/docker-compose/e2guardian/lists/example.group/bannedsearchoveridelist new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose/e2guardian/lists/example.group/bannedsiteiplist b/docker-compose/e2guardian/lists/example.group/bannedsiteiplist new file mode 100755 index 0000000..097078b --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedsiteiplist @@ -0,0 +1,12 @@ +# IP sites in banned list + +#The bannedsiteiplist is for blocking ALL of an IP site + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/bannedsitelist b/docker-compose/e2guardian/lists/example.group/bannedsitelist new file mode 100644 index 0000000..8ecec1d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedsitelist @@ -0,0 +1,97 @@ +#domains in banned list +#Don't bother with the www. or the http:// + +#The bannedurllist is for blocking PART of a site +#The bannedsitelist is for blocking ALL of a site + +#NOTE: Sites using just IP should be put into bannedsiteiplist + +#You can include +#.tld so for example you can match .gov for example + +#The 'grey' lists override the 'banned' lists. +#The 'exception' lists override the 'banned' lists also. +#The difference is that the 'exception' lists completely switch +#off *all* other filtering for the match. 'grey' lists only +#stop the URL filtering and allow the normal filtering to work. + +#An example of grey list use is when in Blanket Block (whitelist) +#mode and you want to allow some sites but still filter as normal +#on their content + +#Another example of grey list use is when you ban a site but want +#to allow part of it. + +#To include additional files in this list use this example: +#.Include + +#You can have multiple .Includes. + +# Time limiting syntax: +# #time: +# Example: +##time: 9 0 17 0 01234 +# Remove the first # from the line above to enable this list only from +# 9am to 5pm, Monday to Friday. + +# List categorisation +#listcategory: "Banned Sites" + +#List other sites to block: + +# badboys.com + +# NOTE: From v5 Blanket blocks are now implimented using Storyboarding +# WARNING: Old style Blanket blocks in this file will be silently ignored + + +# The squidGuard advert domain/URL lists are now included by default. +# To work with advanced ad blocking & the logadblocks option, advert +# phrase/site/URL lists should have the string "ADs" in their listcategory. +# .Include + +#Remove the # from the following and edit as needed to use a stock +#squidGuard/urlblacklists collection. +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include + +# You will need to edit to add and remove categories you want diff --git a/docker-compose/e2guardian/lists/example.group/bannedsslsiteiplist b/docker-compose/e2guardian/lists/example.group/bannedsslsiteiplist new file mode 100644 index 0000000..bba2c2d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedsslsiteiplist @@ -0,0 +1,15 @@ +#IP sites in banned ssl list +#This list is only used for SSL (or CONNECT) requests +#Unlike the bannedsitelist it overides all other lists +# so can be used ban an https site white the http is allowed or made an exception +# +#Only list sites where you only want the https site blocked +#Use bannedsiteiplist for sites where you want both http & https blocked +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/bannedsslsitelist b/docker-compose/e2guardian/lists/example.group/bannedsslsitelist new file mode 100644 index 0000000..66baaed --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedsslsitelist @@ -0,0 +1,9 @@ +#domains in banned ssl list +#Don't bother with the www. or the https:// +#This list is only used for SSL (or CONNECT) requests +# and will not have any effect when MITM is enabled. +#Unlike the bannedsitelist it overides all other lists +# so can be used ban an https site white the http is allowed or made an exception +# +#Only list sites where you only want the https site blocked +#Use bannedsitelist for sites where you want both http & https blocked diff --git a/docker-compose/e2guardian/lists/example.group/bannedtimelist b/docker-compose/e2guardian/lists/example.group/bannedtimelist new file mode 100644 index 0000000..5abae2f --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedtimelist @@ -0,0 +1,13 @@ +#timebands when internet blocked + +#You can have multiple .Includes. + +# Tiime banding syntax: +# +# Note figures are 0 based - hours (0-23) mins (0-59) days (0-6) +# Example: +# 22 0 23 59 01234 +# 0 0 07 0 01234 + +# Uncomment the lines above to block access from +# 0am to 5am and 10pm to 11:59pm, Monday to Friday. diff --git a/docker-compose/e2guardian/lists/example.group/bannedurllist b/docker-compose/e2guardian/lists/example.group/bannedurllist new file mode 100644 index 0000000..6d6b563 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/bannedurllist @@ -0,0 +1,59 @@ +#URLs in banned list +#Don't bother with the http:// or the www + +#The bannedurllist is for blocking PART of a site +#The bannedsitelist is for blocking ALL of a site + +#The 'grey' lists override the 'banned' lists. +#The 'exception' lists override the 'banned' lists also. +#The difference is that the 'exception' lists completely switch +#off *all* other filtering for the match. 'grey' lists only +#stop the URL filtering and allow the normal filtering to work. + +#An example of grey list use is when in Blanket Block (whitelist) +#mode and you want to allow some sites but still filter as normal +#on their content + +#Another example of grey list use is when you ban a site but want +#to allow part of it. + +#To include additional files in this list use this example: +#.Include + +#You can have multiple .Includes. + +#listcategory: "Banned URLs" + +#List other URLs to block: + +# members.home.net/uporn + +# The squidGuard advert domain/URL lists are now included by default. +# To work with advanced ad blocking & the logadblocks option, advert +# phrase/site/URL lists should have the string "ADs" in their listcategory. +#.Include + +#Remove the # from the following and edit as needed to use a stock +#squidGuard/urlblacklist blacklists collection. +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +# You will need to edit to add and remove categories you want diff --git a/docker-compose/e2guardian/lists/example.group/blankettimelist b/docker-compose/e2guardian/lists/example.group/blankettimelist new file mode 100644 index 0000000..57ace83 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/blankettimelist @@ -0,0 +1,16 @@ +#timebands when blanket block is applied +# (only exception sites will be allowed) +# To enable this list edit e2guardianfn.conf and filter group i +# storyboard fn.story - see examplef1.story + +#You can have multiple .Includes. + +# Tiime banding syntax: +# +# Note figures are 0 based - hours (0-23) mins (0-59) days (0-6) +# Example: +# 22 0 23 59 01234 +# 0 0 07 0 01234 + +# Uncomment the lines above to blanket block from +# 0am to 5am and 10pm to 11:59pm, Monday to Friday. diff --git a/docker-compose/e2guardian/lists/example.group/contentregexplist b/docker-compose/e2guardian/lists/example.group/contentregexplist new file mode 100755 index 0000000..e0b55f0 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/contentregexplist @@ -0,0 +1,93 @@ +#Content modifying Regular Expressions +# +# The format is: "extended regular expression"->"replacement straight string" +# E.g. "shit"->"censored" would replace all occurances of shit in any case. +# Far more complicated matches are possible. See other sources for examples +# of extended regular expressions. + +# These are just some examples. If you write any, for example, to +# remove popups etc, please send them to author at e2guardian.org. +# +#"" +#"=[ ]*?window\.open[ ]*?\("->"=fwo(" +#""->"" + +# Fix Firefox <= 1.0.7 DoS +# http://www.whitedust.net/speaks/1432/ +#"(("->"$1dosremovedtext" + +# Disable ActiveX objects. +#"]*application\/x-oleobject[^>]*>.*?<\/object>"->"" +#"]*(application/x-oleobject).*?>(.*?)?"->"" + +# Warn about address bar spoofing. +#"(]*href[^>]*)(\x01|\x02|\x03|%0[012])"->"$1MALICIOUS-LINK" + +# Disable all popups in JavaScript and HTML. It may cause unavoidable +# Javascript warnings or errors. Do not enable at the same time as other +# popup removing lines. +#"((\W\s*)(window|this|parent)\.)open\s*\\?\("->"$1concat(" +#"\starget\s*=\s*(['"]?)_?(blank|new)\1?"->" notarget" + +# Removes the APPLET tag which is generally used Java applets. +#"]*>.*?<\/applet>"->"" + +# Disable the BLINK and MARQUEE tags. +#"]*>"->"" + +# Warn about potential cross-site-scripting vulnerability described here: +# http://online.securityfocus.com/archive/1/298748/2002-11-02/2002-11-08/2 +#"f\("javascript:location.replace\('mk:@MSITStore:C:'\)"\);"->"alert\("This page looks like it tries to use a vulnerability described here:\n http://online.securityfocus.com/archive/1/298748/2002-11-02/2002-11-08/2"\);" + +# Removes the SCRIPT tag with JavaScript. This will likely break sites that are +# badly written and thus rely on JavaScript. This should not be used at the same +# time as the 'script' category. +#""->"
WARNING: This Server is infected with Nimda!" + +# Disable onunload (page close) popups. +#"(]*)onunload"->"$1never" +#"()"->"$1never" + +# Removes the SCRIPT tag which could include JavaScript, perlscript and vbscript. +# This will likely break sites that are badly written and thus rely on client +# side scripts. This should not be used at the same time as the 'javascript' line. +#"]*>.*?<\/script>"->"" + +# Disable Sockwave Flash objects. +#"]*macromedia[^>]*>.*?<\/object>"->"" +#"]*(application/x-shockwave-flash\|\.swf).*?>(.*?)?"->"" + +# Disable unsolicited popups. +#"([^'"]\s*)(?=\s*[^'"])"->"$1" +#"([^\w\s.]\s*)((window|this|parent)\.)?open\s*\("->"$1SWGuardianWindowOpen(" +#"([^'"]\s*)(?!\s*(\\n|'|"))"->"$1" + +# Remove 1x1 GIFs used for user tracking. +#"]*(?:(width)|(height))\s*=\s*['"]?[01](?=\D)[^>]*(?:(width)|(height))\s*=\s*['"]?[01](?=\D)[^>]*?>"->"" + +# Prevent windows from resizing and moving themselves. +#"(?:window|this|self|top)\.(?:move|resize)(?:to|by)\("->"''.concat(" diff --git a/docker-compose/e2guardian/lists/example.group/domainsnobypass b/docker-compose/e2guardian/lists/example.group/domainsnobypass new file mode 100644 index 0000000..0818403 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/domainsnobypass @@ -0,0 +1,63 @@ +# User are not allowed to bypass domains in this list + +#Don't bother with the www. or the http:// + +#NOTE: Sites using just IP should be put into bannedsiteiplistwithbypass + +#You can include +#.tld so for example you can match .gov for example + +#.Include + +#You can have multiple .Includes. + +# WARNING: Old style Blanket blocks in this file will be silently ignored + + +# .Include + +#Remove the # from the following and edit as needed to use a stock +#squidGuard/urlblacklists collection. +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include + +# You will need to edit to add and remove categories you want diff --git a/docker-compose/e2guardian/lists/example.group/exceptionextensionlist b/docker-compose/e2guardian/lists/example.group/exceptionextensionlist new file mode 100755 index 0000000..fff466d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionextensionlist @@ -0,0 +1,49 @@ +# Exception file extension list +# Use as a filter group's "exceptionextensionlist", +# to override a blanket download block. +# (blockdownloads = on) +# +# DOES NOT override content/virus scanning or site/URL bans. +# +# Default list: +# Unblock web pages & graphics + +# Text/web document types + +.css +.html +.shtml +.htm +.stm +.asp +.php +.txt +.rtx +.xml +.xsl +.cgi +.pl + +# Image types + +.bmp +.cod +.gif +.ief +.jpe +.jpeg +.jpg +.jfif +.tif +.tiff +.ras +.cmx +.ico +.pnm +.pbm +.pgm +.ppm +.rgb +.xbm +.xpm +.xwd diff --git a/docker-compose/e2guardian/lists/example.group/exceptionfilesiteiplist b/docker-compose/e2guardian/lists/example.group/exceptionfilesiteiplist new file mode 100755 index 0000000..8307b4d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionfilesiteiplist @@ -0,0 +1,15 @@ +# Exception file site ip list +# Use this list to define ip sites from which files can be downloaded, +# overriding a blanket download block (blockdownloads = on) or the +# banned MIME type and extension lists (blockdownloads = off). +# +# DOES NOT override content/virus scanning or site/URL bans. + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/exceptionfilesitelist b/docker-compose/e2guardian/lists/example.group/exceptionfilesitelist new file mode 100755 index 0000000..a95ba1d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionfilesitelist @@ -0,0 +1,30 @@ +# Exception file site list +# Use this list to define sites from which files can be downloaded, +# overriding a blanket download block (blockdownloads = on) or the +# banned MIME type and extension lists (blockdownloads = off). +# +# DOES NOT override content/virus scanning or site/URL bans. + +# Don't bother with the www. or +# the http:// +# +# These are specifically domains and are not URLs. +# For example 'foo.bar/porn/' is no good, you need +# to just have 'foo.bar'. +# +# You can also match IPs here too. +# +# As of DansGuardian 2.7.3 you can now include +# .tld so for example you can match .gov for example + + +# Time limiting syntax: +# #time: +# Example: +##time: 9 0 17 0 01234 +# Remove the first # from the line above to enable this list only from +# 9am to 5pm, Monday to Friday. + +windowsupdate.microsoft.com +update.microsoft.com +download.windowsupdate.com diff --git a/docker-compose/e2guardian/lists/example.group/exceptionfileurllist b/docker-compose/e2guardian/lists/example.group/exceptionfileurllist new file mode 100755 index 0000000..9b80e9e --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionfileurllist @@ -0,0 +1,27 @@ +# Exception file URL list +# Use this list to define URLs from which files can be downloaded, +# overriding a blanket download block (blockdownloads = on) or the +# banned MIME type and extension lists (blockdownloads = off). +# +# DOES NOT override content/virus scanning or site/URL bans. + +# Don't bother with the www. or +# the http:// +# +# These are specifically domains and are not URLs. +# For example 'foo.bar/porn/' is no good, you need +# to just have 'foo.bar'. +# +# You can also match IPs here too. +# +# As of DansGuardian 2.7.3 you can now include +# .tld so for example you can match .gov for example + + +# Time limiting syntax: +# #time: +# Example: +##time: 9 0 17 0 01234 +# Remove the first # from the line above to enable this list only from +# 9am to 5pm, Monday to Friday. + diff --git a/docker-compose/e2guardian/lists/example.group/exceptionmimetypelist b/docker-compose/e2guardian/lists/example.group/exceptionmimetypelist new file mode 100755 index 0000000..86f2a79 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionmimetypelist @@ -0,0 +1,40 @@ +# Exception MIME type list +# Use as a filter group's "exceptionmimetypelist", +# to override a blanket download block. +# (blockdownloads = on) +# +# DOES NOT override content/virus scanning or site/URL bans. +# +# Default list: +# Unblock web pages & graphics + +# Text/web document types + +text/plain +text/html +text/css +text/xml +text/xsl +text/richtext + +# Image types + +image/bmp +image/cis-cod +image/gif +image/ief +image/jpeg +image/pipeg +image/png +image/tiff +image/x-cmu-raster +image/x-cmx +image/x-icon +image/x-portable-anymap +image/x-portable-bitmap +image/x-portable-graymap +image/x-portable-pixmap +image/x-rgb +image/x-xbitmap +image/x-xpixmap +image/x-xwindowdump diff --git a/docker-compose/e2guardian/lists/example.group/exceptionphraselist b/docker-compose/e2guardian/lists/example.group/exceptionphraselist new file mode 100644 index 0000000..2f4cfc5 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionphraselist @@ -0,0 +1,19 @@ +# EXCEPTIONPHRASELIST - INSTRUCTIONS FOR USE +# +# If any of the phrases listed below appear in a web page +# then it will bypass the filtering and be allowed through +# eg +# < medical > +# +# +# Combinations +# Unblock the page if the following phrases are found on the same page. +# Each line is a new combination. +# eg +#,, +# +# See the bannedphraselist for more examples. + +# Use this sparingly as can easily make exceptions of unsuitable urls + +#.Include diff --git a/docker-compose/e2guardian/lists/example.group/exceptionregexpheaderlist b/docker-compose/e2guardian/lists/example.group/exceptionregexpheaderlist new file mode 100755 index 0000000..0a1e863 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionregexpheaderlist @@ -0,0 +1,8 @@ +#Allowed outgoing HTTP headers based on regular expressions +# +# E.g. 'User-Agent: .*MSIE' would allow several versions of Internet Explorer +# (assuming the user-agent is not being spoofed by the client) +# +# Headers are matched line-by-line, not as a single block. + +#listcategory: "Allowed Regular Expression HTTP Headers" diff --git a/docker-compose/e2guardian/lists/example.group/exceptionregexpurllist b/docker-compose/e2guardian/lists/example.group/exceptionregexpurllist new file mode 100755 index 0000000..440cacb --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionregexpurllist @@ -0,0 +1,15 @@ +#Exception URLs based on Regular Expressions +# +# E.g. 'news' would unblock news.bbc.com etc + +# Example +#news + +# Prevent content scanning of CSS and/or JavaScript files +#^[^?]*\.css($|\?) +#^[^?]*\.jsp?($|\?) + +# Allow Facebook plugin applications like +# http://apps.facebook.com/neighborhoods/Setup.aspx and others. +mock_ajax_proxy.php + diff --git a/docker-compose/e2guardian/lists/example.group/exceptionregexpuseragentlist b/docker-compose/e2guardian/lists/example.group/exceptionregexpuseragentlist new file mode 100755 index 0000000..79a250b --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionregexpuseragentlist @@ -0,0 +1,10 @@ +#Exception User-Agent based on regular expressions +# +# E.g. ' .*MSIE' would allow several versions of Internet Explorer +# (assuming the user-agent is not being spoofed by the client) +# +# Usefull for allowing 'apps' to work +# E.g. 'Kindle' would make kindle app an exception + +#listcategory: "user-agent" + diff --git a/docker-compose/e2guardian/lists/example.group/exceptionsiteiplist b/docker-compose/e2guardian/lists/example.group/exceptionsiteiplist new file mode 100755 index 0000000..00b1a22 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionsiteiplist @@ -0,0 +1,9 @@ +#IP Sites in exception list +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/exceptionsitelist b/docker-compose/e2guardian/lists/example.group/exceptionsitelist new file mode 100755 index 0000000..776b501 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionsitelist @@ -0,0 +1,24 @@ +#Sites in exception list +#Don't bother with the www. or +#the http:// +# +#These are specifically domains and are not URLs. +#For example 'foo.bar/porn/' is no good, you need +#to just have 'foo.bar'. +# +# IP must be put in exceptionsiteiplist +# +#.tld so for example you can match .gov for example + + +# Time limiting syntax: +# #time: +# Example: +##time: 9 0 17 0 01234 +# Remove the first # from the line above to enable this list only from +# 9am to 5pm, Monday to Friday. + +# NOTE: From v5 Blanket exceptions are now implimented using Storyboarding +# WARNING: Old style Blanket blocks in this file will be silently ignored + +windowsupdate.microsoft.com diff --git a/docker-compose/e2guardian/lists/example.group/exceptionurllist b/docker-compose/e2guardian/lists/example.group/exceptionurllist new file mode 100755 index 0000000..a90150d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionurllist @@ -0,0 +1,15 @@ +#URLs in exception list +#Don't bother with the www. or +#the http:// +# +#These are parts of sites that filtering should +#be switched off for. +# +#These should not be domains, i.e. entire sites, +#they should be a domain with a path. +# +#For example 'foo.bar' is no good, you need +#to just have 'foo.bar/porn/'. +# +#Another example: +#generallybadsite.tld/partthatsok/ diff --git a/docker-compose/e2guardian/lists/example.group/exceptionvirusextensionlist b/docker-compose/e2guardian/lists/example.group/exceptionvirusextensionlist new file mode 100755 index 0000000..d55c4b2 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionvirusextensionlist @@ -0,0 +1,45 @@ +# Exception file extension list +# Use as a filter group's "exceptionvirusextensionlist", +# +# Default list: +# Unblock web pages & graphics + +# Text/web document types + +.css +.html +.shtml +.htm +.stm +.asp +.php +.txt +.rtx +.xml +.xsl +.cgi +.pl + +# Image types + +.bmp +.cod +.gif +.ief +.jpe +.jpeg +.jpg +.jfif +.tif +.tiff +.ras +.cmx +.ico +.pnm +.pbm +.pgm +.ppm +.rgb +.xbm +.xpm +.xwd diff --git a/docker-compose/e2guardian/lists/example.group/exceptionvirussiteiplist b/docker-compose/e2guardian/lists/example.group/exceptionvirussiteiplist new file mode 100755 index 0000000..018d541 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/exceptionvirussiteiplist @@ -0,0 +1,12 @@ +# IP sites in exceptionvirussiteiplist + +#The exceptionvirussiteiplist is for allowing ALL of an IP site + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/greysiteiplist b/docker-compose/e2guardian/lists/example.group/greysiteiplist new file mode 100755 index 0000000..8bcf54f --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/greysiteiplist @@ -0,0 +1,16 @@ +# IP site in grey list + +#The 'grey' lists override the 'banned' lists. +#The 'exception' lists override the 'banned' lists also. +#The difference is that the 'exception' lists completely switch +#off *all* other filtering for the match. 'grey' lists only +#stop the URL filtering and allow the normal filtering to work. + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/greysitelist b/docker-compose/e2guardian/lists/example.group/greysitelist new file mode 100755 index 0000000..5e7e465 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/greysitelist @@ -0,0 +1,59 @@ +#domains in grey list +#Don't bother with the www. or the http:// + +#The 'grey' lists override the 'banned' lists. +#The 'exception' lists override the 'banned' lists also. +#The difference is that the 'exception' lists completely switch +#off *all* other filtering for the match. 'grey' lists only +#stop the URL filtering and allow the normal filtering to work. + +#An example of grey list use is when in Blanket Block (whitelist) +#mode and you want to allow some sites but still filter as normal +#on their content + +#Another example of grey list use is when you ban a site but want +#to allow part of it. + +#The greyurllist is for partly unblocking PART of a site +#The greysitelist is for partly unblocking ALL of a site + +#As of DansGuardian 2.7.3 you can now include +#.tld so for example you can match .gov for example + +#To include additional files in this list use this example: +#.Include + +#You can have multiple .Includes. + +# Time limiting syntax: +# #time: +# Example: +##time: 9 0 17 0 01234 +# Remove the first # from the line above to enable this list only from +# 9am to 5pm, Monday to Friday. + + +# Blanket match. To greylist all sites except those in the +# exceptionsitelist and greysitelist files, remove +# the # from the next line to leave only a '**': +#** + +# Blanket SSL/CONNECT match. To greylist all SSL +# and CONNECT tunnels except to addresses in the +# exceptionsitelist and greysitelist files, remove +# the # from the next line to leave only a '**s': +#**s + +# Blanket IP match. To greylist all sites specified only as an IP, +# remove the # from the next line to leave only a '*ip': +#*ip + +# Blanket SSL/CONNECT IP match. To greylist all SSL and CONNECT +# tunnels to sites specified only as an IP, +# remove the # from the next line to leave only a '*ips': +#*ips + + +#List other sites to greylist: + +#www.bbc.co.uk diff --git a/docker-compose/e2guardian/lists/example.group/greysslsiteiplist b/docker-compose/e2guardian/lists/example.group/greysslsiteiplist new file mode 100644 index 0000000..c6934d6 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/greysslsiteiplist @@ -0,0 +1,10 @@ +# IP sites in SSL grey list + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/greysslsitelist b/docker-compose/e2guardian/lists/example.group/greysslsitelist new file mode 100644 index 0000000..b0726b8 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/greysslsitelist @@ -0,0 +1,4 @@ +#domains in SSL grey list +#Don't bother with the www. or the https:// + +#This 'grey' lists override the 'banned' lists for SSL only. diff --git a/docker-compose/e2guardian/lists/example.group/greyurllist b/docker-compose/e2guardian/lists/example.group/greyurllist new file mode 100755 index 0000000..99fee88 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/greyurllist @@ -0,0 +1,27 @@ +#URLs in grey list +#Don't bother with the http:// or the www + +#The greyurllist is for partly unblocking PART of a site +#The greysitelist is for partly unblocking ALL of a site + +#The 'grey' lists override the 'banned' lists. +#The 'exception' lists override the 'banned' lists also. +#The difference is that the 'exception' lists completely switch +#off *all* other filtering for the match. 'grey' lists only +#stop the URL filtering and allow the normal filtering to work. + +#An example of grey list use is when in Blanket Block (whitelist) +#mode and you want to allow some sites but still filter as normal +#on their content + +#Another example of grey list use is when you ban a site but want +#to allow part of it. + +#To include additional files in this list use this example: +#.Include + +#You can have multiple .Includes. + +#List other URLs to block: + +#members.home.net/nice diff --git a/docker-compose/e2guardian/lists/example.group/headerregexplist b/docker-compose/e2guardian/lists/example.group/headerregexplist new file mode 100755 index 0000000..f0e6df9 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/headerregexplist @@ -0,0 +1,15 @@ +# Outgoing HTTP request header modifying Regular Expressions +# +# The format is: "extended regular expression"->"replacement straight string" +# E.g. "shit"->"censored" would replace all occurances of shit in any case. +# Far more complicated matches are possible. See other sources for examples +# of extended regular expressions. +# +# Headers are run through replacements line-by-line, not as a single block. +# +# To remove a header put "X-E2G-IgnoreMe:" as the replacement +# e.g. to remove 'upgrade:' headers +#"upgrade:.*$"->"X-E2G-IgnoreMe:" + +# Windows Live Search cookie replacement - force filtering on +#"cookie:(.*)&ADLT=(OFF|DEMOTE)"->"Cookie:$1&ADLT=STRICT" diff --git a/docker-compose/e2guardian/lists/example.group/ipnobypass b/docker-compose/e2guardian/lists/example.group/ipnobypass new file mode 100644 index 0000000..bf1f10d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/ipnobypass @@ -0,0 +1,13 @@ +# User are not allowed to bypass IP sites in this list + +# +# This is not the IP of web servers +# you want to filter. + +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# + diff --git a/docker-compose/e2guardian/lists/example.group/localbannedsearchlist b/docker-compose/e2guardian/lists/example.group/localbannedsearchlist new file mode 100644 index 0000000..51f25e3 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localbannedsearchlist @@ -0,0 +1,14 @@ +#Local Banned Search Words +# +#Words must be in alphabetic order within a single line +# and separated by a '+' sign. +#All combinations of the words will be blocked +# e.g. girl+naughty +# will block naughty+girl as well as girl+naughty + + +#.Include +#.Include +#.Include +#.Include +#.Include diff --git a/docker-compose/e2guardian/lists/example.group/localbannedsiteiplist b/docker-compose/e2guardian/lists/example.group/localbannedsiteiplist new file mode 100644 index 0000000..e462d29 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localbannedsiteiplist @@ -0,0 +1,10 @@ +# IP sites in local banned list + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/localbannedsitelist b/docker-compose/e2guardian/lists/example.group/localbannedsitelist new file mode 100644 index 0000000..fb6c766 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localbannedsitelist @@ -0,0 +1,6 @@ +#domains in local banned list +#.Include +#.Include +#.Include +#.Include +#.Include diff --git a/docker-compose/e2guardian/lists/example.group/localbannedsslsiteiplist b/docker-compose/e2guardian/lists/example.group/localbannedsslsiteiplist new file mode 100644 index 0000000..050c4f4 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localbannedsslsiteiplist @@ -0,0 +1,12 @@ +# IP sites in local banned ssl list +#This list is only used for SSL (or CONNECT) requests +#Unlike the bannedsitelist it overides all other lists + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/localbannedsslsitelist b/docker-compose/e2guardian/lists/example.group/localbannedsslsitelist new file mode 100644 index 0000000..f26c70c --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localbannedsslsitelist @@ -0,0 +1,5 @@ +#domains in banned ssl list +#Don't bother with the www. or the https:// +#This list is only used for SSL (or CONNECT) requests +# and has no effect when MITM is enabled +#Unlike the bannedsitelist it overides all other lists diff --git a/docker-compose/e2guardian/lists/example.group/localbannedurllist b/docker-compose/e2guardian/lists/example.group/localbannedurllist new file mode 100644 index 0000000..8ec7619 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localbannedurllist @@ -0,0 +1 @@ +#URLs in local banned list diff --git a/docker-compose/e2guardian/lists/example.group/localexceptionsiteiplist b/docker-compose/e2guardian/lists/example.group/localexceptionsiteiplist new file mode 100644 index 0000000..0c717be --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localexceptionsiteiplist @@ -0,0 +1,10 @@ +#IP Sites in local exception list + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/localexceptionsitelist b/docker-compose/e2guardian/lists/example.group/localexceptionsitelist new file mode 100644 index 0000000..8d0067d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localexceptionsitelist @@ -0,0 +1 @@ +#Sites in local exception list diff --git a/docker-compose/e2guardian/lists/example.group/localexceptionurllist b/docker-compose/e2guardian/lists/example.group/localexceptionurllist new file mode 100644 index 0000000..a031365 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localexceptionurllist @@ -0,0 +1 @@ +#URLs in local exception list diff --git a/docker-compose/e2guardian/lists/example.group/localgreysiteiplist b/docker-compose/e2guardian/lists/example.group/localgreysiteiplist new file mode 100644 index 0000000..6ba4dac --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localgreysiteiplist @@ -0,0 +1,10 @@ +# IP sites in local grey list + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/localgreysitelist b/docker-compose/e2guardian/lists/example.group/localgreysitelist new file mode 100644 index 0000000..af02151 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localgreysitelist @@ -0,0 +1 @@ +#domains in local grey list diff --git a/docker-compose/e2guardian/lists/example.group/localgreysslsiteiplist b/docker-compose/e2guardian/lists/example.group/localgreysslsiteiplist new file mode 100644 index 0000000..3495c9f --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localgreysslsiteiplist @@ -0,0 +1,10 @@ +# IP sites in local SSL grey list + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/localgreysslsitelist b/docker-compose/e2guardian/lists/example.group/localgreysslsitelist new file mode 100644 index 0000000..da2e9e0 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localgreysslsitelist @@ -0,0 +1,6 @@ +#domains in SSL grey list +#Don't bother with the www. or the https:// + +#This 'grey' lists overrides the main site 'exception' lists for SSL allowing MITM to be enabled in order to check https full url. + +# Use to overcome issue where ssl url is in local blocked url list but is overriden by main site exception list forcing tunnel mode and so url never checked. diff --git a/docker-compose/e2guardian/lists/example.group/localgreyurllist b/docker-compose/e2guardian/lists/example.group/localgreyurllist new file mode 100644 index 0000000..1eb8ccc --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/localgreyurllist @@ -0,0 +1 @@ +#URLs in local grey list diff --git a/docker-compose/e2guardian/lists/example.group/logregexpurllist b/docker-compose/e2guardian/lists/example.group/logregexpurllist new file mode 100755 index 0000000..2698766 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/logregexpurllist @@ -0,0 +1,12 @@ +# Log regular expression URL list +# +# This acts as a list of URL regexes which, if matched, will have their category +# recorded but no specific filtering action taken. It is only really useful +# in conjunction with log analysers, to perform meaningful categorisation and +# analysis upon non-blocked/exception requests, and so is disabled and empty +# by default. +# +# If you would like to enable this feature, uncomment "logregexpurllist" in your +# e2guardianf*.conf file(s), and place .Include<> statements here for the +# categories you would like to log. Included list files must contain a +# "#listcategory" directive. diff --git a/docker-compose/e2guardian/lists/example.group/logsiteiplist b/docker-compose/e2guardian/lists/example.group/logsiteiplist new file mode 100755 index 0000000..2877709 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/logsiteiplist @@ -0,0 +1,21 @@ +# Log IP site list +# +# This acts as a list of IP sites which, when found, will have their category +# recorded but no specific filtering action taken. It is only really useful +# in conjunction with log analysers, to perform meaningful categorisation and +# analysis upon non-blocked/exception requests, and so is disabled and empty +# by default. +# +# If you would like to enable this feature, uncomment "logsitelist" in your +# e2guardianf*.conf file(s), and place .Include<> statements here for the +# categories you would like to log. Included list files must contain a +# "#listcategory" directive. + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/logsitelist b/docker-compose/e2guardian/lists/example.group/logsitelist new file mode 100755 index 0000000..d2a6cf8 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/logsitelist @@ -0,0 +1,12 @@ +# Log site list +# +# This acts as a list of domains which, when found, will have their category +# recorded but no specific filtering action taken. It is only really useful +# in conjunction with log analysers, to perform meaningful categorisation and +# analysis upon non-blocked/exception requests, and so is disabled and empty +# by default. +# +# If you would like to enable this feature, uncomment "logsitelist" in your +# e2guardianf*.conf file(s), and place .Include<> statements here for the +# categories you would like to log. Included list files must contain a +# "#listcategory" directive. diff --git a/docker-compose/e2guardian/lists/example.group/logurllist b/docker-compose/e2guardian/lists/example.group/logurllist new file mode 100755 index 0000000..cd5a0e2 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/logurllist @@ -0,0 +1,12 @@ +# Log URL list +# +# This acts as a list of URLs which, when found, will have their category +# recorded but no specific filtering action taken. It is only really useful +# in conjunction with log analysers, to perform meaningful categorisation and +# analysis upon non-blocked/exception requests, and so is disabled and empty +# by default. +# +# If you would like to enable this feature, uncomment "logurllist" in your +# e2guardianf*.conf file(s), and place .Include<> statements here for the +# categories you would like to log. Included list files must contain a +# "#listcategory" directive. diff --git a/docker-compose/e2guardian/lists/example.group/nocheckcertsiteiplist b/docker-compose/e2guardian/lists/example.group/nocheckcertsiteiplist new file mode 100644 index 0000000..158c3f6 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/nocheckcertsiteiplist @@ -0,0 +1,17 @@ +# IP sites which are NOT to have their certificates checked (when in MITM mode) +# +# Do not check ssl certificates for IP sites listed +# +# Can be used to allow sites with self-signed or invalid certificates +# or to reduced CPU load by not checking certs on heavily used sites (e.g. Google, Bing) +# Use with caution! +# Ignored if mitmcheckcert is 'off' + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/nocheckcertsitelist b/docker-compose/e2guardian/lists/example.group/nocheckcertsitelist new file mode 100644 index 0000000..b54735f --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/nocheckcertsitelist @@ -0,0 +1,9 @@ +# domains which are NOT to have their certificates checked (when in MITM mode) +# +# Do not check ssl certificates for sites/domains listed +# +# Can be used to allow sites with self-signed or invalid certificates +# or to reduced CPU load by not checking certs on heavily used sites (e.g. Google, Bing) +# Use with caution! +# Ignored if mitmcheckcert is 'off' +#Don't bother with the https:// diff --git a/docker-compose/e2guardian/lists/example.group/oldbannedphraselist b/docker-compose/e2guardian/lists/example.group/oldbannedphraselist new file mode 100644 index 0000000..1ae5999 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/oldbannedphraselist @@ -0,0 +1,57 @@ +# BANNEDPHRASELIST - INSTRUCTIONS FOR USE +# +# To block any page with the word "sex". +# < sex > +# +# To block any page with words that contain the string "sex". (ie. sexual) +# +# +# To block any page with the string "sex magazine". +# +# +# To block any page containing the words/strings "sex" and "fetish". +# , +# +# < test> will match any word with the string 'test' at the beginning +# will match any word with the string 'test' at the end +# will match any word with the string 'test' at any point in the word +# < test > will match only the word 'test' +# will match that exact phrase +# , will match if both words are found in the page +# A combination of the above can also be used eg < test>, +# +# +# Extra phrase-list files to include +# .Include +# +# +# All phrases need to be within < and > to work, othewise they will be +# ignored. + +# MORE EXAMPLE LISTS CAN BE DOWNLOADED FROM DANSGUARDIAN.ORG + +# Phrase Exceptions are no longer listed in this file, they are now +# listed in the exceptionphraselist file. +# + +#listcategory: "Banned Phrases" + +# The following banned phraselists enable Website Content Labeling systems. These are enabled by default, but may also be activated using phraselists. + +.Include +#.Include + +# The following banned oldphraselists are included in the default DG distribution. + +.Include +##.Include + +#.Include + +#.Include +##.Include + +#.Include + + + diff --git a/docker-compose/e2guardian/lists/example.group/oldexceptionphraselist b/docker-compose/e2guardian/lists/example.group/oldexceptionphraselist new file mode 100644 index 0000000..9b359a5 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/oldexceptionphraselist @@ -0,0 +1,18 @@ +# EXCEPTIONPHRASELIST - INSTRUCTIONS FOR USE +# +# If any of the phrases listed below appear in a web page +# then it will bypass the filtering and be allowed through +# eg +# < medical > +# +# +# Combinations +# Unblock the page if the following phrases are found on the same page. +# Each line is a new combination. +# eg +#,, +# +# See the bannedphraselist for more examples. + +.Include +#.Include diff --git a/docker-compose/e2guardian/lists/example.group/oldweightedphraselist b/docker-compose/e2guardian/lists/example.group/oldweightedphraselist new file mode 100644 index 0000000..f5173bd --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/oldweightedphraselist @@ -0,0 +1,142 @@ +# E2GUARDIAN weightedphraselist INSTRUCTIONS FOR USE + +# New in v5.2 - per cent feature + +# If weighting is a % then that % of the naughtynesslimit is used as the weight +# e.g. +# < slut ><10%> +# - If naughtynesslimit is 200 will add 20 to the count against the word 'slut' +# +# This allows phrases to be used which will have the same effect in all +# filtergroups + +# +# Examples: +# +# <10> +# - Adds 10 to the count against the string 'slut'. ie. sluts, slut!, abslutxyz. +# +# < slut ><10> +# - Adds 10 to the count against the word 'slut'. ie. Sally is a slut that smells. +# +# ,<50> +# - Adds 50 to the count when the strings 'slut' and 'horny' are found on the same page. +# +# ,<-30> +# - Subtracts 30 from the count when 'breast' and 'medical' are on the one page. +# +# <-25> +# - Subtracts 25 from the count when 'education' is on the page. +# +# See the bannedphraselist for more examples. +# +# Extra weighted-list files to include +# .Include +# +# Help by contributing customised lists and/or new keyword lists. +# Email: pornmastergeneral@e2guardian.org or phrasemaster@e2guardian.org +# +# NOTE: New lists are commented out as ALPHA or BETA depending on how much the +# lists have been tested. +# ALPHA - Brand new and/or incomplete - little testing has been done +# BETA - Relatively new - tested in several locations +# + +#listcategory: "Weighted Phrases" + +#To enable several non-PICS self-labelling and self-rating systems. +#Enabled as a bannedsitelist by default. Disable there before enabling as a phraselist. +##.Include + +#Good Phrases (to allow medical, education, news and other good sites) +.Include +.Include +.Include +.Include +.Include +.Include +.Include +.Include + +#Pornography +.Include +.Include #ALPHA# +.Include #ALPHA# +.Include #BETA# +.Include +.Include +.Include +#.Include #ALPHA# #Disabled due to overblocking# +.Include #BETA# +.Include #BETA# +.Include +.Include +.Include #BETA# +.Include #BETA# +.Include #ALPHA# +.Include +.Include + +#Bad Words - swearing +.Include +.Include +.Include #ALPHA# +.Include #ALPHA# +.Include #ALPHA# + +#Drugs +#.Include +#.Include +#.Include +#.Include + +#Violence and intolerance +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include + +#Chat +#.Include +#.Include + +#Webmail +#.Include +#Note that if you enable the webmail weighted list you should also disable +#the "exception_email" list in the exceptionphraselist file. + +#Forums +#.Include #BETA# + +#Gambling +#.Include +#.Include + +#Productivity +#.Include #ALPHA# +#.Include #ALPHA# +#.Include +#.Include +#.Include #ALPHA# +#.Include +#.Include + +#System Management and Security +#.Include +#.Include +.Include #BETA# +.Include +#.Include +#.Include +.Include +#.Include + +#Miscellaneous +#.Include +#.Include + + diff --git a/docker-compose/e2guardian/lists/example.group/refererexceptionsiteiplist b/docker-compose/e2guardian/lists/example.group/refererexceptionsiteiplist new file mode 100644 index 0000000..9fe0e47 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/refererexceptionsiteiplist @@ -0,0 +1,11 @@ +# Exception referer IP sites +# sites which are refered to by these sites will be made exceptions + +# IP site addresses +# +# Single IPs, ranges and subnets can be used, +# e.g. +# 192.168.0.1 +# 10.0.0.1-10.0.0.3 +# 10.0.0.0/24 +# diff --git a/docker-compose/e2guardian/lists/example.group/refererexceptionsitelist b/docker-compose/e2guardian/lists/example.group/refererexceptionsitelist new file mode 100644 index 0000000..84c088b --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/refererexceptionsitelist @@ -0,0 +1,2 @@ +# Exception referer sites +# sites which are refered to by these sites will be made exceptions diff --git a/docker-compose/e2guardian/lists/example.group/refererexceptionurllist b/docker-compose/e2guardian/lists/example.group/refererexceptionurllist new file mode 100644 index 0000000..f362ddd --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/refererexceptionurllist @@ -0,0 +1 @@ +# Referer URLs - Sites refered to by these URLs will be made exception diff --git a/docker-compose/e2guardian/lists/example.group/responseheaderregexplist b/docker-compose/e2guardian/lists/example.group/responseheaderregexplist new file mode 100755 index 0000000..6c6abff --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/responseheaderregexplist @@ -0,0 +1,13 @@ +# HTTP response header modifying Regular Expressions +# +# The format is: "extended regular expression"->"replacement straight string" +# E.g. "shit"->"censored" would replace all occurances of shit in any case. +# Far more complicated matches are possible. See other sources for examples +# of extended regular expressions. +# +# Headers are run through replacements line-by-line, not as a single block. +# +# To remove a header put "X-E2G-IgnoreMe:" as the replacement +# e.g. to remove 'upgrade:' headers +#"upgrade:.*$"->"X-E2G-IgnoreMe:" + diff --git a/docker-compose/e2guardian/lists/example.group/sslsiteregexplist b/docker-compose/e2guardian/lists/example.group/sslsiteregexplist new file mode 100644 index 0000000..8f8ead8 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/sslsiteregexplist @@ -0,0 +1,29 @@ +#SSL site modifying Regular Expressions +# +# The format is: "extended regular expression"->"replacement straight string" +# E.g. "shit"->"censored" would replace all occurances of shit in any case. +# Far more complicated matches are possible. See other sources for examples +# of extended regular expressions. +# +# Users are pointed at the replaced site transparently. +# This is used to 'cname' ssl sites and avoids having to adjust DNS +# and allows option of switching off/on depending on filter group. + +# This list applies to the site only (not full URL) for +# HTTPS sites (regardless of SSL MITM configuration). + +# Do not use patterns with full urls in this list as they can never +# match the site name. + +# Enforce restricted mode in YouTube +# +#"(^https://www.youtube.com)"->"https://restrict.youtube.com" +#"(^https://m.youtube.com)"->"https://restrict.youtube.com" +#"(^https://youtubei.googleapis.com)"->"https://restrict.youtube.com" +#"(^https://youtube.googleapis.com)"->"https://restrict.youtube.com" +#"(^https://www.youtube-nocookie.com)"->"https://restrict.youtube.com" +# +# Enforce restricted mode in Google +# +#"(^https://www\.google\.[a-zA-Z0-9_.]*$)"->"https://forcesafesearch.google.com" +#"(^https://.*\.gstatic\.com$)"->"https://forcesafesearch.google.com" diff --git a/docker-compose/e2guardian/lists/example.group/urlnobypass b/docker-compose/e2guardian/lists/example.group/urlnobypass new file mode 100644 index 0000000..e94873f --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/urlnobypass @@ -0,0 +1,51 @@ +# User are not allowed to bypass url sites in this list + +#Don't bother with the www. or the http:// + +#NOTE: Sites using just IP should be put into bannedsiteiplistwithbypass + +#You can have multiple .Includes. + +# WARNING: Old style Blanket blocks in this file will be silently ignored + +#To include additional files in this list use this example: +#.Include + +#You can have multiple .Includes. + +#listcategory: "Banned URLs" + +#List other URLs to block: + +# members.home.net/uporn + +# The squidGuard advert domain/URL lists are now included by default. +# To work with advanced ad blocking & the logadblocks option, advert +# phrase/site/URL lists should have the string "ADs" in their listcategory. +#.Include + +#Remove the # from the following and edit as needed to use a stock +#squidGuard/urlblacklist blacklists collection. +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include +# You will need to edit to add and remove categories you want + diff --git a/docker-compose/e2guardian/lists/example.group/urlredirectregexplist b/docker-compose/e2guardian/lists/example.group/urlredirectregexplist new file mode 100644 index 0000000..1534ffa --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/urlredirectregexplist @@ -0,0 +1,4 @@ +# +# redirect browser to different url +# +# 'regexp_pattern'->'url_to_redirect_to' diff --git a/docker-compose/e2guardian/lists/example.group/urlregexplist b/docker-compose/e2guardian/lists/example.group/urlregexplist new file mode 100755 index 0000000..a3f924d --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/urlregexplist @@ -0,0 +1,58 @@ +#URL modifying Regular Expressions +# +#This list applies to the full URL for HTTP sites, and if configured +#for SSL MITM, also HTTPS urls. +# +# The format is: "extended regular expression"->"replacement straight string" +# E.g. "shit"->"censored" would replace all occurances of shit in any case. +# Far more complicated matches are possible. See other sources for examples +# of extended regular expressions. +# +# Users are pointed at the replaced URL transparently. +# Manipulates the URL to automatically switch on safe searching in Google, +# Singingfish, Ilse, KEL, Lycos, Alltheweb, Yahoo, Hotbot, Wisenut, +# Metacrawler. +# Google, Go etc. - remove 'safe=...' +#"(^http://[0-9a-z]+\.google\.[a-z]+[-/%.0-9a-z]*/images\?)(.*)(&?)(safe=[^&]*)"->"\1\2\3" +# ... and add 'safe=vss' +#"(^http://[0-9a-z]+\.google\.[a-z]+[-/%.0-9a-z]*/images\?)"->"\1safe=vss&" + +# Singingfish - remove 'ff=...' and add 'ff=1' +#"(^http://search\.singingfish\.com/[-/%.0-9a-z]*\?)(.*)(&?)(ff=[^&]*)"->"\1\2\3" + +#"(^http://search\.singingfish\.com/[-/%.0-9a-z]*\?)"->"\1ff=1&" + +# Ilse - remove 'family=...' and add 'family=yes' +#"(^http://www\.ilse\.nl/searchresults\.dbl\?)(.*)(&?)(family=[^&]*)"->"\1\2\3" +#"(^http://www\.ilse\.nl/searchresults\.dbl\?)"->"\1family=yes&" + +# KEL - remove 'Realm%3AErotiek=...' +#"(^http://www\.kel\.nl/search/search.cgi\?)(.*)(&?)(Realm%3AErotiek=[^&]*)"->"\1\2\3" + +# Lycos.com - family filter only available in advanced mode. +# Remove 'adv=...' and 'adf=...' and add 'adv=1&adf=on' +#"(^http://[^/]*search[^/]*\.lycos\.com/[-/%.0-9a-z]*\?)(.*)(&?)(adv=[^&]*)"->"\1\2\3" +#"(^http://[^/]*search[^/]*\.lycos\.com/[-/%.0-9a-z]*\?)(.*)(&?)(xadult\.)(.*)(xadult\.)"->"\1\2\3\5" +#"(^http://[^/]*search[^/]*\.lycos\.com/[-/%.0-9a-z]*\?)"->"\1adv=1&adf=on&" + +# Lycos.nl - remove 'family=...' and add 'family=on' +#"(^http://zoek\.lycos\.nl/[-/%.0-9a-z]*\?)(.*)(&?)(family=[^&]*)"->"\1\2\3" +#"(^http://zoek\.lycos\.nl/[-/%.0-9a-z]*\?)"->"\1family=on&" + +# Alltheweb - change the customize url so that 'offensive' cannot be turned off +#"(^http://www\.alltheweb\.com/customize\?)(.*)(&?)(copt_offensive=[^&]*)"->"\1\2\3copt_offensive=on" + +# Yahoo - remove 'vm=...' and add 'vm=r' +#"(^http://[.0-9a-z]+\.yahoo\.[a-z]+[-/%.0-9a-z]*/search)(.*)(&?)(vm=[^&]*)"->"\1\2\3" +#"(^http://[.0-9a-z]+\.yahoo\.[a-z]+[-/%.0-9a-z]*/search+.*\?)"->"\1vm=r&" + +# Hotbot - remove 'adf=...' and add 'adf=on' +#"(^http://[0-9a-z]+\.hotbot\.[a-z]+/default\.asp\?)(.*)(&?)(adf=[^&]*)"->"\1\2\3" +#"(^http://[0-9a-z]+\.hotbot\.[a-z]+/default\.asp\?)"->"\1adf=on&" + +# Wisenut - change the customize url so that 'wisepatrol' cannot be turned off +#"(^http://www\.wisenut\.com/preferences/savePreferences\.[^?]*\?)(.*)(&?)(wisepatrol=[^&]*)"->"\1\2\3wisepatrol=1" + +# Metacrawler - remove 'familyfilter=...' and add 'familyfilter=1' +#"(^http://www\.metacrawler\.com/info\.metac/search/[-/%.0-9a-z]*\?)(.*)(&?)(familyfilter=[^&]*)"->"\1\2\3" +#"(^http://www\.metacrawler\.com/info\.metac/search/[-/%.0-9a-z]*\?)"->"\1familyfilter=1&" diff --git a/docker-compose/e2guardian/lists/example.group/weightedphraselist b/docker-compose/e2guardian/lists/example.group/weightedphraselist new file mode 100644 index 0000000..68339e7 --- /dev/null +++ b/docker-compose/e2guardian/lists/example.group/weightedphraselist @@ -0,0 +1,117 @@ +# E2GUARDIAN weightedphraselist INSTRUCTIONS FOR USE + +# New in v5.2 - per cent feature + +# If weighting is a % then that % of the naughtynesslimit is used as the weight +# e.g. +# < slut ><10%> +# - If naughtynesslimit is 200 will add 20 to the count against the word 'slut' +# +# This allows phrases to be used which will have the same effect in all +# filtergroups + +# +# Examples: +# +# <10> +# - Adds 10 to the count against the string 'slut'. ie. sluts, slut!, abslutxyz. +# +# < slut ><10> +# - Adds 10 to the count against the word 'slut'. ie. Sally is a slut that smells. +# +# ,<50> +# - Adds 50 to the count when the strings 'slut' and 'horny' are found on the same page. +# +# ,<-30> +# - Subtracts 30 from the count when 'breast' and 'medical' are on the one page. +# +# <-25> +# - Subtracts 25 from the count when 'education' is on the page. +# +# See the bannedphraselist for more examples. +# +# Help by contributing customised lists and/or new keyword lists. +# Email: maintianer@e2guardian.org +# + +#listcategory: "Weighted Phrases" + +#To enable several non-PICS self-labelling and self-rating systems. +#Enabled as a bannedsitelist by default. Disable there before enabling as a phraselist. +##.Include + +#Good Phrases (to allow medical, education, news and other good sites) +.Include +.Include +#.Include +#.Include +#.Include +#.Include +#.Include +#.Include + +#Pornography +.Include +#.Include #ALPHA# +#.Include #ALPHA# +#.Include #ALPHA# +#.Include #BETA# +#.Include +#.Include +#.Include +##.Include #ALPHA# #Disabled due to overblocking# +#.Include #BETA# +#.Include #BETA# +#.Include +#.Include +##.Include #BETA# +#.Include #BETA# +#.Include #ALPHA# +#.Include + +#Nudism +#.Include + +#Bad Words - swearing +.Include +#.Include +#.Include +#.Include #ALPHA# +#.Include #ALPHA# +#.Include #ALPHA# + +#Drugs +#.Include +#.Include +#.Include + +#Violence and intolerance +.Include +#.Include +.Include +#.Include +.Include +#.Include +.Include +#.Include + +#Chat +#.Include +#.Include + + +#Gambling +#.Include +#.Include + +#Productivity +#.Include +#.Include +#.Include + +#System Management and Security +.Include +.Include + + + diff --git a/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_dutch b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_dutch new file mode 100755 index 0000000..d92f3dd --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_dutch @@ -0,0 +1,36 @@ +# +# Dutch Swear Words Weighted Phrases +# Taken from swif.zip from dansguardian website +# + +#listcategory: "Bad words (Dutch)" + +< apenaaier ><75> #monkey-fucker +< bruinweker ><50> #literally: brown-creeper = fagget +< droogkloot ><25> #literally: dry-nut (as in: testicle) +< flikker ><50> #fagget/sissy +< hoer ><25> #hooker +< hoerenjong ><65> #son-of-bitch +< hondelul ><50> #cock-of-a-dog (commonly used, also by kids) +< kak ><10> #shit +< klootzak ><50> #ass-hole +< kut ><5> #cunt/pussy +< kutwijf ><90> #fucking bitch +< lul ><50> #dick/cock +< moederneuker ><75> #motherfucker +< nauwe gaatje ><50> #literally: ass-hole +< paardenlul ><50> #horse-cock +< pik omhoog ><80> #boner +< reetneuker ><70> #literally: ass-fucker +< rukker ><50> #jerk-off +< schijt ><50> #shit +< schijtlul ><50> #literally: shit-cock; commonly used for a chicken-shit +< slet ><50> #slut +< smerige kankerhoer ><75> #fucking whore (bad..) +< spast ><50> #spastic +< stront ><25> #shit +< sufkut ><75> #literally; sleepy-cunt +< sukkel ><20> #dumbo +< vuile kankerlijer ><75> #fucking ass-hole (bad one) +< zakkewasser ><42> #ass-hole + diff --git a/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_french b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_french new file mode 100755 index 0000000..8ab0b79 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_french @@ -0,0 +1,43 @@ +# +# French Swear Words Weighted Phrases +# + +#listcategory: "Bad words (French)" + +< merde ><50> +< tu m'emmerdes ><80> +< tu me fais chier ><50> # you are pissing me off +< retourne enculer ><80> # go and fuck yourself +< enculé ><70> +< salope ><60> +< conasse ><40> +< poufiasse ><40> +< ordure ><20> # mess / rubbish +< chier ><50> # to shit +< faire foutre ><80> +< fils de pute ><90> # son of a whore +< branler ><50> +< bique ><50> # cock +< trou du cul ><80> # literally hole of arse +< le con ><60> +< la chatte ><90> # pussy +< baiser ><60> +< conneries ><30> +< fait moi jouir ><80> # make me cum +< tête moi le dard ><80> +< tête moi le noeud ><80> +< pédé ><40> +< tantouze ><50> +< couilles ><60> # balls +< putain ><60> # whore +< pute ><60> +< cul ><40> +< pauvre con ><60> # poor bastard +< pisser dans ><50> +< fils de pute ><90> +< salope ><60> +< Va te branler ><70> +< Va te tripoter ><80> +< Va te faire enculer ><90> +< choleque de merde ><60> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_german b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_german new file mode 100755 index 0000000..89d0af7 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_german @@ -0,0 +1,34 @@ +# +# German Swear Words Weighted Phrases +# Taken from swif.zip from dansguardian website +# + +#listcategory: "Bad words (German)" + +< arschloch ><20> +< scheiss ><20> +< scheisse ><20> +< fotze ><20> +< schwuchtl ><20> +< lesbe ><20> +< mutterficker ><20> +< hurensohn ><20> +< hure ><20> +< arschgesicht ><20> +< fick ><20> +< scheissdreck ><20> +< arschficker ><20> +< arsch ><20> +< scheisskopf ><20> +< schnoodle noodle ><20> +< verpiss dich ><20> +< wichser ><20> +< arschgeige ><20> +< hosenscheisser ><20> +< schwanz ><20> +< affenschwanz ><20> +< schlampe><20> # - tramp or slut +< schweinebacke><20> # - double crossing so and so +< dumpfbacke><20> # - idiot (mainly for female) +< arschkriecher><20> # - person who kisses bosses arse + diff --git a/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_portuguese b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_portuguese new file mode 100755 index 0000000..261c5a2 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_portuguese @@ -0,0 +1,16 @@ +# +# Brazilian Portuguese Swear Words Weighted Phrases +# + +#listcategory: "Bad words (Portuguese)" + +<80> +<10> +<10> +<10> +<10> +<5> +<10> +<10> +< viad><15> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_spanish b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_spanish new file mode 100755 index 0000000..c91a45c --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/badwords/weighted_spanish @@ -0,0 +1,67 @@ +# +# Spanish Swear Words Weighted Phrases +# Taken from swif.zip from dansguardian website +# + +#listcategory: "Bad words (Spanish)" + +< marica ><20> +< maricón ><20> +< mariconazo ><20> +< mariquita ><20> +< chapero ><20> +< bastardo ><20> +< cabron ><20> +< polla ><20> +< nabo ><20> +< rabo ><20> +< verga ><20> +< cipote ><20> +< gilipollas ><20> +< tontopollas ><20> +< pichacorta ><20> +< cojones ><20> +< pelotas ><20> +< huevos ><20> +< cojonazos ><20> +< coño ><20> +< chocho ><20> +< raja ><20> +< chichi ><20> +< pelos de los huevos ><20> +< pelos de los coño ><20> +< mierda ><20> +< cagar ><20> +< jiñar ><20> +< chupame la polla ><20> +< chupamela ><20> +< chupar ><20> +< puta ><20> +< zorra ><20> +< guarra ><20> +< follar ><20> +< jode ><20> +< chingar ><20> +< me cago en ti ><20> +< que te jodan ><20> +< culo ><20> +< cabron ><20> +< calientapollas ><20> + +#South American spanish: +< mariposa ><20> +< joto ><20> +< pinga ><20> +< chilito ><20> +< panocha ><20> +< chimba ><20> +< chichis ><20> +< Chinga ><20> +< pendejo ><20> +< pendeja ><20> +< cago en tu leche ><20> +< hazte cojer ><20> +< pinche cabron ><20> +< concha ><20> +< coger ><20> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/chat/weighted b/docker-compose/e2guardian/lists/oldphraselists/chat/weighted new file mode 100755 index 0000000..11dec57 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/chat/weighted @@ -0,0 +1,33 @@ +#listcategory: "Chat" + +< javachat ><50> +< webbchat ><50> +< webbtjatt ><50> +< webchat ><50> +< chatkamer ><50> +< chatroom ><50> +< irc ><50> +< ircd ><50> +< javachat ><50> +< javatjatt ><50> + +#Web-based Instant Messaging +< gaim ><30> +< icq ><30> +<30> +<30> +< wbmsn ><30> +<30> +< kiwibox ><30> +< webmessenger ><30> +< e-messenger ><30> +< web2messenger ><30> +< onlinemessenger ><30> +< msnger><30> +< jpager><30> +< easymessage ><30> +<30> +< instant messenger ><10> +,,< msn ><50> +,<30> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/chat/weighted_italian b/docker-compose/e2guardian/lists/oldphraselists/chat/weighted_italian new file mode 100755 index 0000000..e590314 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/chat/weighted_italian @@ -0,0 +1,26 @@ +#listcategory: "Chat (Italian)" + +< scegliere la ragazza><30> +< scegliere le ragazze><30> +<30> +<30> +,< ragazza >,< preferita><30> +,< ragazza >,< che preferisci><30> +< scegliere >,< ragazza >,< che preferisci><30> +< scegliere >,< ragazza >,< preferita><30> +< conoscere >,< ragazz><10> +< incontrare>,< ragazz><10> +< dal vivo><30> +< incontri eccitanti><30> +< incontrare persone><10> +< interagire con><10> +< chat><10> +<10> +<10> +< spregiudicat><10> +< eros ><10> +< video-chat><20> +< scambio coppie><30> +< videocamer>,< nascost><10> +< telecamer>,< nascost><10> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/conspiracy/weighted b/docker-compose/e2guardian/lists/oldphraselists/conspiracy/weighted new file mode 100755 index 0000000..7ccebc5 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/conspiracy/weighted @@ -0,0 +1,61 @@ +# Originally created by David Burkholder +# +# +# listcategory: "conspiracy" +# + + +<30> +<40> +<40> +<40> +<40> +<25> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<20> +<40> +<40> +<40> +<40> +<40> +<55> + + +#New world order +<40> +<40> +<40> +<40> +<40> +<75> +<75> + +#Ufo +< ufo><40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> +<40> \ No newline at end of file diff --git a/docker-compose/e2guardian/lists/oldphraselists/domainsforsale/weighted b/docker-compose/e2guardian/lists/oldphraselists/domainsforsale/weighted new file mode 100755 index 0000000..471230e --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/domainsforsale/weighted @@ -0,0 +1,31 @@ +# +# Phraselists to block parked domains - domains that are for sale +# Originally created by Fernand Jonker +# +# If you use this list please send feedback to phrasemaster@dansguardian.org +# Waiting for feedback and input +# + +#listcategory: "Domain for Sale" + +,<150> +<50> +<50> +<50> +<50> +<50> +<50> +<50> +<50> +<50> +< sedo><50> +<50> +<150> +,<150> + +#Companies + +<100> +<50> +<50> +<50> \ No newline at end of file diff --git a/docker-compose/e2guardian/lists/oldphraselists/drugadvocacy/weighted b/docker-compose/e2guardian/lists/oldphraselists/drugadvocacy/weighted new file mode 100755 index 0000000..b5b169a --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/drugadvocacy/weighted @@ -0,0 +1,12 @@ +#listcategory: "Drug Advocacy" + +< american cannabis society ><40> +< drogenpolitik ><60> +< ganga ><50> +< ganja ><50> +< marihuanabeleid ><60> +< marijuanalagstiftning ><60> +< marijuanalovgivning ><60> +< medicinal marijuana ><40> +< spliff ><60> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/forums/weighted b/docker-compose/e2guardian/lists/oldphraselists/forums/weighted new file mode 100755 index 0000000..7682a29 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/forums/weighted @@ -0,0 +1,66 @@ +# +# Phraselists to block forum sites +# Originally Created by Fernand Jonker +# +#listcategory: "Forums" + +#General +< Member>,< register><20> +< Search>,< faq><20> +< Login>,< home><20> +< Moderator><20> +<20> +<20> +<20> +<20> +<20> +<20> +,,<20> +<20> +<20> +<20> +<20> +<20> +<20> +<20> +<20> +<20> + +#PHPBB +<100> + +#UBB +<100> + +#Web Wiz Forums +<100> + +#vBulletin +<100> +<100> + +#Simple Machines +<100> +< SMF >,<100> + +#PostNuke +<100> + +#Snitz +<100> + +#Invision Power Board +<100> +<20> + +#FUDForum +<100> + +#Groupee Community +<100> + +#Mailgust +<100> + +#php Bulletin Board +<40> diff --git a/docker-compose/e2guardian/lists/oldphraselists/gambling/banned b/docker-compose/e2guardian/lists/oldphraselists/gambling/banned new file mode 100755 index 0000000..03bab10 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/gambling/banned @@ -0,0 +1,13 @@ +#listcategory: "Gambling" + + + + +< loto > +< lotto > +< video poker > + + + + + diff --git a/docker-compose/e2guardian/lists/oldphraselists/gambling/banned_portuguese b/docker-compose/e2guardian/lists/oldphraselists/gambling/banned_portuguese new file mode 100755 index 0000000..88a31d5 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/gambling/banned_portuguese @@ -0,0 +1,10 @@ +#listcategory: "Gambling (Portuguese)" + +< cassino virtual > +< cassinos virtuais > +< loteria virtual > +< loterias virtuais > +< lotomania virtual > +< megasena virtual > +< vegas virtual > + diff --git a/docker-compose/e2guardian/lists/oldphraselists/gambling/weighted b/docker-compose/e2guardian/lists/oldphraselists/gambling/weighted new file mode 100755 index 0000000..6ede17b --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/gambling/weighted @@ -0,0 +1,45 @@ +# +# Phraselists to block gambling sites +# + +#listcategory: "Gambling" + +< bet >,<40> +< betting ><30> +< blackjack ><30> +< casino ><30> +< casinon ><30> +< casinos ><30> +< gamblers ><30> +< gambling ><30> +< jackpot ><20> +< jackpott ><20> +< kasino><30> +< kasinon ><30> +< loto ><30> +< lotteri ><30> +< lotterier ><30> +< lotteries ><20> +< lottery ><30> +< lotto ><30> +< prispott ><20> +< roulette ><30> +< snake eyes ><20> +< snakeeyes ><20> +< sports book ><10> +< sportsbook ><10> +< totalisator ><30> +< video poker ><30> +< wagering ><50> +< wager ><30> +<10> +<30> +<30> +,<50> +,<50> +,<50> +<30> +<30> +<30> +<30> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/gambling/weighted_portuguese b/docker-compose/e2guardian/lists/oldphraselists/gambling/weighted_portuguese new file mode 100755 index 0000000..87772fd --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/gambling/weighted_portuguese @@ -0,0 +1,12 @@ +#listcategory: "Gambling (Portuguese)" + +< aposta ><10> +< apostadores ><10> +< apostando ><10> +< casino><20> +< cassino><20> +< jogo de vinte e um ><10> +< jogos de vinte e um ><10> +< jogo de azar><10> +< jogos de azar><10> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/games/weighted b/docker-compose/e2guardian/lists/oldphraselists/games/weighted new file mode 100755 index 0000000..2f24d88 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/games/weighted @@ -0,0 +1,64 @@ +# +# Phraselists to block gaming websites +# Originally created by Fernand Jonker +# +# This list is seriously ALPHA - it blocks many pages, but may overblock. +# This list has NOT been tested in a production environment! +# If you use this list please send feedback to phrasemaster@dansguardian.org +# Waiting for input :-) +# + +#listcategory: "Games" + +< games><10> +< puzzles><10> +<40> +<30> +<30> +<20> + +#game names +<30> +<30> +<30> +<30> +<30> +<30> +<30> +<30> +<10> +<30> +<30> +<30> +<30> +<30> + +<30> +<30> +<30> +<30> +<30> + +#game companies +<30> +<10> +<10> +<10> +<20> +,< psp ><20> +<20> +<20> +<20> +<20> +<20> + +#general gaming +,<30> +#,<30> +,< simulation><30> +,< strategy><30> +,< adventure><30> +#,< action><30> +,< rpg><30> +,< sport><30> + diff --git a/docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception b/docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception new file mode 100755 index 0000000..c517fa6 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception @@ -0,0 +1,6 @@ + +#< ringtone > +# + + + diff --git a/docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception_email b/docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception_email new file mode 100755 index 0000000..a8763c1 --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/goodphrases/exception_email @@ -0,0 +1,11 @@ + + + + + +, + + + + + diff --git a/docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general b/docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general new file mode 100755 index 0000000..12d98bb --- /dev/null +++ b/docker-compose/e2guardian/lists/oldphraselists/goodphrases/weighted_general @@ -0,0 +1,425 @@ +# +#Generally Good Phrases to balance out bad phrases tagged on a page. +# + +#Following Added to exempt DansGuardian blocking sites +,<-200> +<-20> +<-20> +<-20> +<-20> +< logrotat>,<-200> +< weightedphraselist><-50> +< weightedphrasemode>,<-200> +< configuring>,<-200> +< building><-20> +< apache>,<-20> +< binary><-20> +< naughtynesslimit><-50> +# + +< smoothwall ><-20> +<-20> +<-50> +< dns ><-20> +< wikipedia ><-30> +<-50> +<-50> +< vpn ><-20> +<-50> +<-50> +<-10> +<-10> +<-10> +<-50> +<-10> +<-10> +<-10> +<-10> +<-20> +<-20> +<-20> +<-30> +<-10> +<-50> +<-20> +,,<-50> +,,<-50> +,,<-50> +,,<-50> +,<-50> +,,<-50> +<-50> +,<-30> +,<-30> +,<-30> +<-20> +,,<-50> +< amd ><-20> +<-50> +<-50> +<-100> +<-20> +<-50> +<-50> +<-20> +<-10> +<-50> +
,<-30> +
,<-30> +
,<-30> +
,<-30> +
,<-30> +
,<-30> +
,<-30> +
,<-30> +
,<-30> +<-20> +<-30> +<-50> +,<-30> +,<-30> +,<-30> +<-10> +<-10> +<-10> +<-50> +<-20> +,,<-20> +<-20> +<-20> +<-20> +<-10> +<-20> +<-10> +<-30> +<-10> +<-50> +<-20> +<-40> +<-10> +<-20> +<-20> +<-50> +<-50> +,,<-50> +,<-30> +<-50> +<-10> +<-30> +,<-30> +,<-30> +,<-30> +,<-30> +,<-30> +,<-30> +,<-30> +<-20> +<-10> +<-10> +<-20> +<-10> +<-20> +<-50> +<-40> +<-10> +<-40> +<-40> +<-20> +<-30> +<-40> +<-60> +<-10> +<-10> +<-30> +<-20> +<-20> +<-20> +<-20> +<-10> +<-10> +<-1000> +<-10> +<-10> +<-30> +<-20> +<-30> +<-50> +<-50> +<-10> +<-10> +<-10> +<-10> +<-30> +<-30> +,<-50> +<-50> +,< vinyl><-50> +<-50> +<-20> +<-30> +<-20> +<-50> +<-20> +<-20> +<-40> +<-40> +< e-card><-10> +< ecard><-10> +<-20> +,<-20> +,<-20> +<-10> +<-20> +<-20> +<-10> +<-20> +<-30> +<-50> +< ex-><-20> +<-10> +<-5> +<-40> +<-40> +,<-20> +,<-20> +,<-60> +,<-10> +<-20> +<-5> +<-5> +<-5> +<-30> +<-20> +<-30> +<-40> +<-40> +<-10> +<-20> +<-30> +<-30> +<-50> +<-20> +<-30> +<-30> +<-20> +<-50> +<-20> +<-30> +<-50> +<-40> +<-30> +<-40> +<-40> +<-40> +<-30> +<-20> +< health ><-10> +<-30> +<-30> +,<-10> +,<-20> +,<-20> +,<-20> +,<-20> +,<-20> +<-20> +<-20> +< h.i.v ><-50> +< hiv ><-50> +<-20> +,<-30> +<-50> +,<-30> +,<-30> +<-10> +<-10> +<-30> +<-40> +< intel ><-20> +<-20> +<-80> +<-20> +<-10> +<-50> +<-500> +<-40> +<-20> +,<-30> +,<-30> +<-10> +<-30> +,<-50> +,<-50> +<-10> +,<-50> +,<-50> +<-30> +<-40> +<-20> +<-30> +<-60> +<-20> +<-100> +<-100> +<-20> +<-50> +<-30> +<-20> +,<-20> +<-50> +<-50> +<-50> +<-10> +<-10> +<-50> +<-20> +<-40> +<-20> +<-10> +<-50> +<-20> +<-30> +<-50> +<-5> +<-20> +<-50> +<-20> +<-10> +<-80> +<-40> +<-10> +<-5> +<-20> +<-40> +<-50> +<-30> +<-30> +<-50> +<-30> +<-30> +<-30> +<-30> +<-30> +<-30> +<-50> +<-50> +<-20> +<-20> +<-50> +<-10> +<-20> +<-20> +<-20> +<-20> +<-20> +<-50> +,<-30> +<-20> +<-50> +<-40> +<-40> +<-40> +<-40> +<-50> +<-50> +<-50> +<-40> +<-30> +,,<-30> +<-15> +<-50> +< research ><-20> +<-20> +<-10> +<-30> +<-20> +<-50> +<-50> +<-20> +<-30> +<-30> +