From 8d6fb20c2c7affeae5e1474db94f6c2a9b698586 Mon Sep 17 00:00:00 2001 From: NebulaOnion Date: Mon, 23 Jan 2023 15:23:38 +0000 Subject: [PATCH] Add njalla nginx files and organize into folders (#5) Co-authored-by: NebulaOnion Reviewed-on: https://git.anonymousland.org/anonymousland/infrastructure/pulls/5 --- {nginx => 1984vps/nginx}/Synapse/proxy.conf | 0 .../nginx}/Synapse/site-confs/default.conf | 0 .../nginx}/Synapse/site-confs/dimension.conf | 0 .../site-confs/matrix.anonymousland.org.conf | 0 .../nginx}/Synapse/site-confs/maubot.conf | 0 .../nginx}/Synapse/site-confs/tor.conf | 0 {nginx => 1984vps/nginx}/Synapse/ssl.conf | 0 .../scripts}/synapse/blockstatus.sh | 0 .../scripts}/synapse/delete_empty_rooms.py | 0 .../scripts}/synapse/getrooms.sh | 0 .../scripts}/synapse/populate.sh | 0 .../scripts}/synapse/removemedia.sh | 0 njallavps/swag/.donoteditthisfile.conf | 1 + njallavps/swag/.migrations | 1 + njallavps/swag/crontabs/root | 9 + .../swag/dns-conf/acmedns-registration.json | 9 + njallavps/swag/dns-conf/acmedns.ini | 5 + njallavps/swag/dns-conf/aliyun.ini | 6 + njallavps/swag/dns-conf/azure.ini | 26 ++ njallavps/swag/dns-conf/cloudflare.ini | 9 + njallavps/swag/dns-conf/cloudxns.ini | 4 + njallavps/swag/dns-conf/cpanel.ini | 6 + njallavps/swag/dns-conf/desec.ini | 4 + njallavps/swag/dns-conf/digitalocean.ini | 3 + njallavps/swag/dns-conf/directadmin.ini | 21 + njallavps/swag/dns-conf/dnsimple.ini | 3 + njallavps/swag/dns-conf/dnsmadeeasy.ini | 4 + njallavps/swag/dns-conf/dnspod.ini | 5 + njallavps/swag/dns-conf/do.ini | 3 + njallavps/swag/dns-conf/domeneshop.ini | 4 + njallavps/swag/dns-conf/duckdns.ini | 3 + njallavps/swag/dns-conf/dynu.ini | 3 + njallavps/swag/dns-conf/gandi.ini | 3 + njallavps/swag/dns-conf/gehirn.ini | 4 + njallavps/swag/dns-conf/godaddy.ini | 4 + njallavps/swag/dns-conf/google.json | 6 + njallavps/swag/dns-conf/he.ini | 4 + njallavps/swag/dns-conf/hetzner.ini | 3 + njallavps/swag/dns-conf/infomaniak.ini | 3 + njallavps/swag/dns-conf/inwx.ini | 6 + njallavps/swag/dns-conf/ionos.ini | 5 + njallavps/swag/dns-conf/linode.ini | 3 + njallavps/swag/dns-conf/loopia.ini | 3 + njallavps/swag/dns-conf/luadns.ini | 4 + njallavps/swag/dns-conf/netcup.ini | 3 + njallavps/swag/dns-conf/njalla.ini | 2 + njallavps/swag/dns-conf/nsone.ini | 3 + njallavps/swag/dns-conf/ovh.ini | 6 + njallavps/swag/dns-conf/porkbun.ini | 4 + njallavps/swag/dns-conf/rfc2136.ini | 11 + njallavps/swag/dns-conf/route53.ini | 5 + njallavps/swag/dns-conf/sakuracloud.ini | 4 + njallavps/swag/dns-conf/standalone.ini | 8 + njallavps/swag/dns-conf/transip.ini | 30 ++ njallavps/swag/dns-conf/vultr.ini | 3 + njallavps/swag/etc/letsencrypt/note.txt | 1 + .../swag/fail2ban/action.d/abuseipdb.conf | 104 +++++ njallavps/swag/fail2ban/action.d/apf.conf | 25 ++ njallavps/swag/fail2ban/action.d/apprise.conf | 49 +++ njallavps/swag/fail2ban/action.d/badips.conf | 19 + njallavps/swag/fail2ban/action.d/badips.py | 391 ++++++++++++++++++ .../swag/fail2ban/action.d/blocklist_de.conf | 84 ++++ .../swag/fail2ban/action.d/bsd-ipfw.conf | 94 +++++ .../fail2ban/action.d/cloudflare-token.conf | 92 +++++ .../swag/fail2ban/action.d/cloudflare.conf | 88 ++++ .../swag/fail2ban/action.d/complain.conf | 121 ++++++ njallavps/swag/fail2ban/action.d/dshield.conf | 207 ++++++++++ njallavps/swag/fail2ban/action.d/dummy.conf | 63 +++ .../action.d/firewallcmd-allports.conf | 45 ++ .../fail2ban/action.d/firewallcmd-common.conf | 76 ++++ .../fail2ban/action.d/firewallcmd-ipset.conf | 121 ++++++ .../action.d/firewallcmd-multiport.conf | 26 ++ .../fail2ban/action.d/firewallcmd-new.conf | 47 +++ .../action.d/firewallcmd-rich-logging.conf | 29 ++ .../action.d/firewallcmd-rich-rules.conf | 44 ++ .../fail2ban/action.d/helpers-common.conf | 17 + .../swag/fail2ban/action.d/hostsdeny.conf | 62 +++ .../swag/fail2ban/action.d/ipfilter.conf | 58 +++ njallavps/swag/fail2ban/action.d/ipfw.conf | 68 +++ .../fail2ban/action.d/iptables-allports.conf | 15 + .../fail2ban/action.d/iptables-common.conf | 92 +++++ .../action.d/iptables-ipset-proto4.conf | 66 +++ .../iptables-ipset-proto6-allports.conf | 27 ++ .../action.d/iptables-ipset-proto6.conf | 27 ++ .../fail2ban/action.d/iptables-ipset.conf | 90 ++++ .../action.d/iptables-multiport-log.conf | 68 +++ .../fail2ban/action.d/iptables-multiport.conf | 14 + .../swag/fail2ban/action.d/iptables-new.conf | 15 + .../action.d/iptables-xt_recent-echo.conf | 87 ++++ .../swag/fail2ban/action.d/iptables.conf | 162 ++++++++ .../swag/fail2ban/action.d/ipthreat.conf | 107 +++++ .../swag/fail2ban/action.d/mail-buffered.conf | 86 ++++ .../fail2ban/action.d/mail-whois-common.conf | 28 ++ .../fail2ban/action.d/mail-whois-lines.conf | 92 +++++ .../swag/fail2ban/action.d/mail-whois.conf | 71 ++++ njallavps/swag/fail2ban/action.d/mail.conf | 65 +++ .../swag/fail2ban/action.d/mynetwatchman.conf | 143 +++++++ .../swag/fail2ban/action.d/netscaler.conf | 33 ++ .../fail2ban/action.d/nftables-allports.conf | 17 + .../fail2ban/action.d/nftables-multiport.conf | 17 + .../swag/fail2ban/action.d/nftables.conf | 203 +++++++++ .../fail2ban/action.d/nginx-block-map.conf | 117 ++++++ njallavps/swag/fail2ban/action.d/npf.conf | 61 +++ .../swag/fail2ban/action.d/nsupdate.conf | 114 +++++ .../swag/fail2ban/action.d/osx-afctl.conf | 16 + .../swag/fail2ban/action.d/osx-ipfw.conf | 87 ++++ njallavps/swag/fail2ban/action.d/pf.conf | 124 ++++++ njallavps/swag/fail2ban/action.d/route.conf | 29 ++ .../fail2ban/action.d/sendmail-buffered.conf | 99 +++++ .../fail2ban/action.d/sendmail-common.conf | 77 ++++ .../action.d/sendmail-geoip-lines.conf | 59 +++ .../sendmail-whois-ipjailmatches.conf | 41 ++ .../action.d/sendmail-whois-ipmatches.conf | 41 ++ .../action.d/sendmail-whois-lines.conf | 52 +++ .../action.d/sendmail-whois-matches.conf | 41 ++ .../fail2ban/action.d/sendmail-whois.conf | 40 ++ .../swag/fail2ban/action.d/sendmail.conf | 37 ++ .../action.d/shorewall-ipset-proto6.conf | 93 +++++ .../swag/fail2ban/action.d/shorewall.conf | 73 ++++ njallavps/swag/fail2ban/action.d/smtp.py | 230 +++++++++++ .../symbiosis-blacklist-allports.conf | 60 +++ njallavps/swag/fail2ban/action.d/ufw.conf | 75 ++++ .../fail2ban/action.d/xarf-login-attack.conf | 143 +++++++ njallavps/swag/fail2ban/filter.d/3proxy.conf | 20 + .../fail2ban/filter.d/alpine-sshd-ddos.conf | 26 ++ .../swag/fail2ban/filter.d/alpine-sshd.conf | 30 ++ .../swag/fail2ban/filter.d/apache-auth.conf | 71 ++++ .../fail2ban/filter.d/apache-badbots.conf | 24 ++ .../fail2ban/filter.d/apache-botsearch.conf | 39 ++ .../swag/fail2ban/filter.d/apache-common.conf | 44 ++ .../filter.d/apache-fakegooglebot.conf | 16 + .../fail2ban/filter.d/apache-modsecurity.conf | 19 + .../swag/fail2ban/filter.d/apache-nohome.conf | 20 + .../fail2ban/filter.d/apache-noscript.conf | 37 ++ .../fail2ban/filter.d/apache-overflows.conf | 40 ++ .../swag/fail2ban/filter.d/apache-pass.conf | 19 + .../fail2ban/filter.d/apache-shellshock.conf | 28 ++ njallavps/swag/fail2ban/filter.d/assp.conf | 46 +++ .../swag/fail2ban/filter.d/asterisk.conf | 55 +++ .../swag/fail2ban/filter.d/bitwarden.conf | 13 + .../fail2ban/filter.d/botsearch-common.conf | 19 + .../swag/fail2ban/filter.d/centreon.conf | 9 + njallavps/swag/fail2ban/filter.d/common.conf | 89 ++++ .../fail2ban/filter.d/counter-strike.conf | 15 + .../swag/fail2ban/filter.d/courier-auth.conf | 21 + .../swag/fail2ban/filter.d/courier-smtp.conf | 22 + .../swag/fail2ban/filter.d/cyrus-imap.conf | 20 + .../swag/fail2ban/filter.d/directadmin.conf | 22 + .../swag/fail2ban/filter.d/domino-smtp.conf | 50 +++ njallavps/swag/fail2ban/filter.d/dovecot.conf | 50 +++ .../swag/fail2ban/filter.d/dropbear.conf | 50 +++ .../swag/fail2ban/filter.d/drupal-auth.conf | 26 ++ .../swag/fail2ban/filter.d/ejabberd-auth.conf | 40 ++ .../swag/fail2ban/filter.d/exim-common.conf | 20 + .../swag/fail2ban/filter.d/exim-spam.conf | 50 +++ njallavps/swag/fail2ban/filter.d/exim.conf | 54 +++ .../swag/fail2ban/filter.d/freeswitch.conf | 58 +++ .../swag/fail2ban/filter.d/froxlor-auth.conf | 40 ++ njallavps/swag/fail2ban/filter.d/gitea.conf | 4 + njallavps/swag/fail2ban/filter.d/gitlab.conf | 6 + njallavps/swag/fail2ban/filter.d/grafana.conf | 9 + .../swag/fail2ban/filter.d/groupoffice.conf | 14 + njallavps/swag/fail2ban/filter.d/gssftpd.conf | 18 + .../swag/fail2ban/filter.d/guacamole.conf | 51 +++ .../fail2ban/filter.d/haproxy-http-auth.conf | 37 ++ njallavps/swag/fail2ban/filter.d/horde.conf | 16 + .../ignorecommands/apache-fakegooglebot | 49 +++ njallavps/swag/fail2ban/filter.d/kerio.conf | 24 ++ .../swag/fail2ban/filter.d/lighttpd-auth.conf | 10 + .../swag/fail2ban/filter.d/mongodb-auth.conf | 49 +++ njallavps/swag/fail2ban/filter.d/monit.conf | 25 ++ .../swag/fail2ban/filter.d/monitorix.conf | 25 ++ .../swag/fail2ban/filter.d/mssql-auth.conf | 15 + njallavps/swag/fail2ban/filter.d/murmur.conf | 34 ++ .../swag/fail2ban/filter.d/mysqld-auth.conf | 32 ++ njallavps/swag/fail2ban/filter.d/nagios.conf | 17 + .../swag/fail2ban/filter.d/named-refused.conf | 53 +++ .../fail2ban/filter.d/nginx-bad-request.conf | 16 + .../swag/fail2ban/filter.d/nginx-badbots.conf | 21 + .../fail2ban/filter.d/nginx-botsearch.conf | 25 ++ .../swag/fail2ban/filter.d/nginx-deny.conf | 15 + .../fail2ban/filter.d/nginx-http-auth.conf | 34 ++ .../fail2ban/filter.d/nginx-limit-req.conf | 49 +++ .../fail2ban/filter.d/nginx-unauthorized.conf | 7 + njallavps/swag/fail2ban/filter.d/nsd.conf | 31 ++ njallavps/swag/fail2ban/filter.d/openhab.conf | 15 + .../swag/fail2ban/filter.d/openwebmail.conf | 15 + .../swag/fail2ban/filter.d/oracleims.conf | 63 +++ .../swag/fail2ban/filter.d/pam-generic.conf | 33 ++ .../swag/fail2ban/filter.d/perdition.conf | 18 + .../swag/fail2ban/filter.d/php-url-fopen.conf | 23 ++ .../fail2ban/filter.d/phpmyadmin-syslog.conf | 18 + .../swag/fail2ban/filter.d/portsentry.conf | 15 + njallavps/swag/fail2ban/filter.d/postfix.conf | 81 ++++ njallavps/swag/fail2ban/filter.d/proftpd.conf | 33 ++ .../swag/fail2ban/filter.d/pure-ftpd.conf | 40 ++ njallavps/swag/fail2ban/filter.d/qmail.conf | 31 ++ .../swag/fail2ban/filter.d/recidive.conf | 38 ++ .../fail2ban/filter.d/roundcube-auth.conf | 39 ++ .../swag/fail2ban/filter.d/scanlogd.conf | 17 + .../fail2ban/filter.d/screensharingd.conf | 31 ++ .../fail2ban/filter.d/selinux-common.conf | 23 ++ .../swag/fail2ban/filter.d/selinux-ssh.conf | 25 ++ .../swag/fail2ban/filter.d/sendmail-auth.conf | 25 ++ .../fail2ban/filter.d/sendmail-reject.conf | 68 +++ njallavps/swag/fail2ban/filter.d/sieve.conf | 18 + njallavps/swag/fail2ban/filter.d/slapd.conf | 25 ++ .../swag/fail2ban/filter.d/softethervpn.conf | 9 + .../swag/fail2ban/filter.d/sogo-auth.conf | 22 + .../swag/fail2ban/filter.d/solid-pop3d.conf | 32 ++ njallavps/swag/fail2ban/filter.d/squid.conf | 16 + .../swag/fail2ban/filter.d/squirrelmail.conf | 12 + njallavps/swag/fail2ban/filter.d/sshd.conf | 138 +++++++ njallavps/swag/fail2ban/filter.d/stunnel.conf | 13 + njallavps/swag/fail2ban/filter.d/suhosin.conf | 28 ++ njallavps/swag/fail2ban/filter.d/tine20.conf | 24 ++ .../swag/fail2ban/filter.d/traefik-auth.conf | 76 ++++ .../swag/fail2ban/filter.d/uwimap-auth.conf | 17 + njallavps/swag/fail2ban/filter.d/vsftpd.conf | 22 + .../swag/fail2ban/filter.d/webmin-auth.conf | 22 + njallavps/swag/fail2ban/filter.d/wuftpd.conf | 22 + .../swag/fail2ban/filter.d/xinetd-fail.conf | 29 ++ .../swag/fail2ban/filter.d/znc-adminlog.conf | 34 ++ .../swag/fail2ban/filter.d/zoneminder.conf | 27 ++ njallavps/swag/fail2ban/jail.local | 78 ++++ njallavps/swag/nginx/authelia-location.conf | 15 + .../swag/nginx/authelia-location.conf.sample | 15 + njallavps/swag/nginx/authelia-server.conf | 52 +++ .../swag/nginx/authelia-server.conf.sample | 50 +++ njallavps/swag/nginx/default | 0 njallavps/swag/nginx/dhparams.pem | 13 + njallavps/swag/nginx/elementssl.conf | 47 +++ njallavps/swag/nginx/gitssl.conf | 48 +++ njallavps/swag/nginx/ldap-location.conf | 4 + .../swag/nginx/ldap-location.conf.sample | 4 + njallavps/swag/nginx/ldap-server.conf | 92 +++++ njallavps/swag/nginx/ldap-server.conf.sample | 90 ++++ njallavps/swag/nginx/ldap.conf | 92 +++++ njallavps/swag/nginx/nginx.conf | 78 ++++ njallavps/swag/nginx/nginx.conf.sample | 81 ++++ .../swag/nginx/proxy-confs/.editorconfig | 13 + njallavps/swag/nginx/proxy-confs/README.md | 50 +++ .../_template.subdomain.conf.sample | 56 +++ .../_template.subfolder.conf.sample | 43 ++ .../proxy-confs/adguard.subdomain.conf.sample | 61 +++ .../proxy-confs/adminer.subfolder.conf.sample | 26 ++ .../adminmongo.subdomain.conf.sample | 38 ++ .../airsonic.subdomain.conf.sample | 40 ++ .../airsonic.subfolder.conf.sample | 22 + .../apprise-api.subdomain.conf.sample | 41 ++ .../archisteamfarm.subdomain.conf.sample | 39 ++ .../aria2-with-webui.subdomain.conf.sample | 63 +++ .../audiobookshelf.subdomain.conf.sample | 39 ++ .../audiobookshelf.subfolder.conf.sample | 22 + .../authelia.subdomain.conf.sample | 28 ++ .../babybuddy.subdomain.conf.sample | 39 ++ .../proxy-confs/bazarr.subdomain.conf.sample | 49 +++ .../proxy-confs/bazarr.subfolder.conf.sample | 36 ++ .../proxy-confs/beets.subdomain.conf.sample | 40 ++ .../proxy-confs/beets.subfolder.conf.sample | 24 ++ .../bitwarden.subdomain.conf.sample | 81 ++++ .../bitwarden.subfolder.conf.sample | 67 +++ .../proxy-confs/boinc.subdomain.conf.sample | 40 ++ .../proxy-confs/boinc.subfolder.conf.sample | 27 ++ .../booksonic.subdomain.conf.sample | 39 ++ .../booksonic.subfolder.conf.sample | 22 + .../bookstack.subdomain.conf.sample | 41 ++ .../proxy-confs/budge.subdomain.conf.sample | 41 ++ .../calibre-web.subdomain.conf.sample | 57 +++ .../calibre-web.subfolder.conf.sample | 46 +++ .../proxy-confs/calibre.subdomain.conf.sample | 66 +++ .../proxy-confs/calibre.subfolder.conf.sample | 53 +++ .../castopod.subdomain.conf.sample | 38 ++ .../changedetection.subdomain.conf.sample | 39 ++ .../chevereto.subdomain.conf.sample | 38 ++ .../chronograf.subdomain.conf.sample | 39 ++ .../chronograf.subfolder.conf.sample | 27 ++ .../cloudbeaver.subdomain.conf.sample | 42 ++ .../code-server.subdomain.conf.sample | 39 ++ .../proxy-confs/codimd.subdomain.conf.sample | 41 ++ .../collabora.subdomain.conf.sample | 39 ++ .../commento.subdomain.conf.sample | 39 ++ .../couchpotato.subdomain.conf.sample | 39 ++ .../couchpotato.subfolder.conf.sample | 22 + .../crontabui.subfolder.conf.sample | 27 ++ .../crowdsec-dashboard.subdomain.conf.sample | 43 ++ .../crowdsec.subdomain.conf.sample | 40 ++ .../proxy-confs/dashy.subdomain.conf.sample | 38 ++ .../proxy-confs/deluge.subdomain.conf.sample | 39 ++ .../proxy-confs/deluge.subfolder.conf.sample | 28 ++ .../dillinger.subdomain.conf.sample | 39 ++ .../documentserver.subdomain.conf.sample | 40 ++ .../dokuwiki.subdomain.conf.sample | 40 ++ .../dokuwiki.subfolder.conf.sample | 27 ++ .../domoticz.subdomain.conf.sample | 39 ++ .../domoticz.subfolder.conf.sample | 22 + .../proxy-confs/dozzle.subdomain.conf.sample | 39 ++ .../proxy-confs/dozzle.subfolder.conf.sample | 29 ++ .../proxy-confs/drone.subdomain.conf.sample | 36 ++ .../duplicati.subdomain.conf.sample | 39 ++ .../duplicati.subfolder.conf.sample | 27 ++ .../element.anonymousland.org.conf | 30 ++ .../proxy-confs/emby.subdomain.conf.sample | 30 ++ .../proxy-confs/emby.subfolder.conf.sample | 33 ++ .../embystat.subdomain.conf.sample | 39 ++ .../emulatorjs.subdomain.conf.sample | 64 +++ .../proxy-confs/filebot.subdomain.conf.sample | 47 +++ .../proxy-confs/filebot.subfolder.conf.sample | 27 ++ .../filebrowser.subdomain.conf.sample | 65 +++ .../filebrowser.subfolder.conf.sample | 56 +++ .../proxy-confs/firefly.subdomain.conf.sample | 38 ++ .../proxy-confs/firefox.subdomain.conf.sample | 39 ++ .../proxy-confs/flexget.subdomain.conf.sample | 39 ++ .../proxy-confs/flexget.subfolder.conf.sample | 34 ++ .../proxy-confs/flood.subdomain.conf.sample | 39 ++ .../proxy-confs/flood.subfolder.conf.sample | 27 ++ .../foldingathome.subdomain.conf.sample | 40 ++ .../foundryvtt.subdomain.conf.sample | 48 +++ .../freshrss.subdomain.conf.sample | 44 ++ .../freshrss.subfolder.conf.sample | 32 ++ .../proxy-confs/gaps.subdomain.conf.sample | 40 ++ .../proxy-confs/gaps.subfolder.conf.sample | 28 ++ .../get_iplayer.subdomain.conf.sample | 39 ++ .../proxy-confs/ghost.subdomain.conf.sample | 39 ++ .../proxy-confs/ghost.subfolder.conf.sample | 23 ++ .../proxy-confs/gitea.subdomain.conf.sample | 43 ++ .../proxy-confs/gitea.subfolder.conf.sample | 21 + .../proxy-confs/glances.subdomain.conf.sample | 39 ++ .../proxy-confs/glances.subfolder.conf.sample | 27 ++ .../proxy-confs/gotify.subdomain.conf.sample | 39 ++ .../proxy-confs/gotify.subfolder.conf.sample | 26 ++ .../proxy-confs/grafana.subdomain.conf.sample | 42 ++ .../proxy-confs/grafana.subfolder.conf.sample | 30 ++ .../proxy-confs/graylog.subdomain.conf.sample | 42 ++ .../proxy-confs/grocy.subdomain.conf.sample | 48 +++ .../guacamole.subdomain.conf.sample | 40 ++ .../guacamole.subfolder.conf.sample | 28 ++ .../hass-configurator.subdomain.conf.sample | 40 ++ .../headphones.subdomain.conf.sample | 39 ++ .../headphones.subfolder.conf.sample | 22 + .../healthchecks.subdomain.conf.sample | 39 ++ .../hedgedoc.subdomain.conf.sample | 42 ++ .../heimdall.subdomain.conf.sample | 39 ++ .../heimdall.subfolder.conf.sample | 22 + .../homeassistant.subdomain.conf.sample | 57 +++ .../homebridge.subdomain.conf.sample | 39 ++ .../proxy-confs/homer.subdomain.conf.sample | 38 ++ .../proxy-confs/huginn.subdomain.conf.sample | 39 ++ .../influxdb.subdomain.conf.sample | 39 ++ .../proxy-confs/jackett.subdomain.conf.sample | 59 +++ .../proxy-confs/jackett.subfolder.conf.sample | 42 ++ .../jdownloader.subdomain.conf.sample | 47 +++ .../jellyfin.subdomain.conf.sample | 40 ++ .../jellyfin.subfolder.conf.sample | 23 ++ .../jellyseerr.subdomain.conf.sample | 39 ++ .../proxy-confs/jenkins.subfolder.conf.sample | 34 ++ .../proxy-confs/kanzi.subdomain.conf.sample | 39 ++ .../proxy-confs/kanzi.subfolder.conf.sample | 27 ++ .../proxy-confs/kavita.subdomain.conf.sample | 40 ++ .../proxy-confs/komga.subdomain.conf.sample | 49 +++ .../proxy-confs/komga.subfolder.conf.sample | 35 ++ .../lazylibrarian.subdomain.conf.sample | 39 ++ .../lazylibrarian.subfolder.conf.sample | 22 + .../librespeed.subdomain.conf.sample | 39 ++ .../proxy-confs/lidarr.subdomain.conf.sample | 49 +++ .../proxy-confs/lidarr.subfolder.conf.sample | 32 ++ .../proxy-confs/lldap.subdomain.conf.sample | 40 ++ .../proxy-confs/lychee.subdomain.conf.sample | 39 ++ .../proxy-confs/lychee.subfolder.conf.sample | 27 ++ .../proxy-confs/mailu.subdomain.conf.sample | 39 ++ .../proxy-confs/mailu.subfolder.conf.sample | 53 +++ .../mastodon.subdomain.conf.sample | 43 ++ .../proxy-confs/matomo.subdomain.conf.sample | 39 ++ .../proxy-confs/matrix.anonymousland.org.conf | 43 ++ .../matrix.anonymousland.org.confy | 42 ++ .../mattermost.subdomain.conf.sample | 40 ++ .../proxy-confs/mealie.subdomain.conf.sample | 39 ++ .../proxy-confs/medusa.subdomain.conf.sample | 39 ++ .../proxy-confs/medusa.subfolder.conf.sample | 22 + .../proxy-confs/metube.subdomain.conf.sample | 39 ++ .../proxy-confs/metube.subfolder.conf.sample | 22 + .../miniflux.subdomain.conf.sample | 39 ++ .../miniflux.subfolder.conf.sample | 26 ++ .../proxy-confs/monica.subdomain.conf.sample | 38 ++ .../proxy-confs/monica.subfolder.conf.sample | 26 ++ .../monitorr.subdomain.conf.sample | 39 ++ .../monitorr.subfolder.conf.sample | 26 ++ .../proxy-confs/mstream.subdomain.conf.sample | 39 ++ .../proxy-confs/mylar.subdomain.conf.sample | 39 ++ .../proxy-confs/mylar.subfolder.conf.sample | 22 + .../mytinytodo.subfolder.conf.sample | 27 ++ .../proxy-confs/n8n.subdomain.conf.sample | 40 ++ .../navidrome.subdomain.conf.sample | 39 ++ .../proxy-confs/netboot.subdomain.conf.sample | 39 ++ .../proxy-confs/netdata.subdomain.conf.sample | 39 ++ .../proxy-confs/netdata.subfolder.conf.sample | 27 ++ .../nextcloud.subdomain.conf.sample | 37 ++ .../nextcloud.subfolder.conf.sample | 40 ++ .../proxy-confs/ntfy.subdomain.conf.sample | 41 ++ .../proxy-confs/nzbget.subdomain.conf.sample | 69 ++++ .../proxy-confs/nzbget.subfolder.conf.sample | 52 +++ .../nzbhydra.subdomain.conf.sample | 89 ++++ .../nzbhydra.subfolder.conf.sample | 72 ++++ .../octoprint.subdomain.conf.sample | 40 ++ .../proxy-confs/ombi.subdomain.conf.sample | 65 +++ .../proxy-confs/ombi.subfolder.conf.sample | 56 +++ .../proxy-confs/openhab.subdomain.conf.sample | 38 ++ .../openvpn-as.subdomain.conf.sample | 59 +++ .../openvscode-server.subdomain.conf.sample | 114 +++++ .../organizr-auth.subfolder.conf.sample | 40 ++ .../organizr.subdomain.conf.sample | 43 ++ .../organizr.subfolder.conf.sample | 25 ++ .../osticket.subdomain.conf.sample | 39 ++ .../overseerr.subdomain.conf.sample | 39 ++ .../papermerge.subdomain.conf.sample | 39 ++ .../proxy-confs/petio.subdomain.conf.sample | 38 ++ .../proxy-confs/petio.subfolder.conf.sample | 26 ++ .../proxy-confs/pgadmin.subdomain.conf.sample | 41 ++ .../photoprism.subdomain.conf.sample | 39 ++ .../phpmyadmin.subdomain.conf.sample | 39 ++ .../phpmyadmin.subfolder.conf.sample | 27 ++ .../proxy-confs/picard.subfolder.conf.sample | 27 ++ .../proxy-confs/pihole.subdomain.conf.sample | 61 +++ .../proxy-confs/pihole.subfolder.conf.sample | 54 +++ .../proxy-confs/pinry.subdomain.conf.sample | 39 ++ .../proxy-confs/piwigo.subdomain.conf.sample | 39 ++ .../pixelfed.subdomain.conf.sample | 38 ++ .../proxy-confs/plex.subdomain.conf.sample | 56 +++ .../proxy-confs/plex.subfolder.conf.sample | 50 +++ .../plexwebtools.subdomain.conf.sample | 39 ++ .../plexwebtools.subfolder.conf.sample | 26 ++ .../proxy-confs/podgrab.subdomain.conf.sample | 39 ++ .../portainer.subdomain.conf.sample | 61 +++ .../portainer.subfolder.conf.sample | 40 ++ .../privatebin.subdomain.conf.sample | 39 ++ .../prometheus.subdomain.conf.sample | 39 ++ .../prowlarr.subdomain.conf.sample | 47 +++ .../prowlarr.subfolder.conf.sample | 32 ++ .../proxy-confs/pwndrop.subdomain.conf.sample | 39 ++ .../pydio-cells.subdomain.conf.sample | 60 +++ .../proxy-confs/pydio.subdomain.conf.sample | 39 ++ .../proxy-confs/pyload.subdomain.conf.sample | 39 ++ .../proxy-confs/pyload.subfolder.conf.sample | 23 ++ .../qbittorrent.subdomain.conf.sample | 132 ++++++ .../qbittorrent.subfolder.conf.sample | 121 ++++++ .../quassel-web.subdomain.conf.sample | 40 ++ .../quassel-web.subfolder.conf.sample | 23 ++ .../proxy-confs/radarr.subdomain.conf.sample | 49 +++ .../proxy-confs/radarr.subfolder.conf.sample | 32 ++ .../proxy-confs/raneto.subdomain.conf.sample | 38 ++ .../proxy-confs/rclone.subfolder.conf.sample | 38 ++ .../proxy-confs/readarr.subdomain.conf.sample | 49 +++ .../proxy-confs/readarr.subfolder.conf.sample | 32 ++ .../proxy-confs/recipes.subdomain.conf.sample | 48 +++ .../requestrr.subdomain.conf.sample | 39 ++ .../resilio-sync.subdomain.conf.sample | 39 ++ .../rutorrent.subdomain.conf.sample | 63 +++ .../rutorrent.subfolder.conf.sample | 52 +++ .../proxy-confs/sabnzbd.subdomain.conf.sample | 51 +++ .../proxy-confs/sabnzbd.subfolder.conf.sample | 32 ++ .../proxy-confs/scope.subfolder.conf.sample | 27 ++ .../scrutiny.subdomain.conf.sample | 39 ++ .../proxy-confs/shinobi.subdomain.conf.sample | 39 ++ .../proxy-confs/shinobi.subfolder.conf.sample | 27 ++ .../sickchill.subdomain.conf.sample | 39 ++ .../sickchill.subfolder.conf.sample | 22 + .../sickrage.subdomain.conf.sample | 39 ++ .../sickrage.subfolder.conf.sample | 22 + .../proxy-confs/skyhook.subdomain.conf.sample | 39 ++ .../proxy-confs/slskd.subdomain.conf.sample | 22 + .../smokeping.subdomain.conf.sample | 39 ++ .../smokeping.subfolder.conf.sample | 22 + .../proxy-confs/sonarr.subdomain.conf.sample | 49 +++ .../proxy-confs/sonarr.subfolder.conf.sample | 32 ++ .../statping.subdomain.conf.sample | 41 ++ .../proxy-confs/synapse.subdomain.conf.sample | 41 ++ .../synclounge.subdomain.conf.sample | 50 +++ .../synclounge.subfolder.conf.sample | 54 +++ .../syncthing.subdomain.conf.sample | 39 ++ .../syncthing.subfolder.conf.sample | 27 ++ .../proxy-confs/taisun.subdomain.conf.sample | 40 ++ .../tasmobackup.subdomain.conf.sample | 39 ++ .../tautulli.subdomain.conf.sample | 69 ++++ .../tautulli.subfolder.conf.sample | 52 +++ .../proxy-confs/tdarr.subdomain.conf.sample | 39 ++ .../thelounge.subdomain.conf.sample | 39 ++ .../thelounge.subfolder.conf.sample | 27 ++ .../themepark.subdomain.conf.sample | 45 ++ .../themepark.subfolder.conf.sample | 35 ++ .../transmission.subdomain.conf.sample | 60 +++ .../transmission.subfolder.conf.sample | 43 ++ .../tvheadend.subfolder.conf.sample | 38 ++ .../ubooquity.subdomain.conf.sample | 69 ++++ .../ubooquity.subfolder.conf.sample | 32 ++ .../unifi-controller.subdomain.conf.sample | 42 ++ .../uptime-kuma.subdomain.conf.sample | 39 ++ .../vaultwarden.subdomain.conf.sample | 81 ++++ .../vaultwarden.subfolder.conf.sample | 67 +++ .../viewtube.subdomain.conf.sample | 41 ++ .../wallabag.subdomain.conf.sample | 41 ++ .../warpgate.subdomain.conf.sample | 41 ++ .../proxy-confs/webtop.subdomain.conf.sample | 41 ++ .../wordpress.subfolder.conf.sample | 23 ++ .../proxy-confs/yacht.subdomain.conf.sample | 39 ++ .../youtube-dl-server.subdomain.conf.sample | 39 ++ .../youtube-dl.subfolder.conf.sample | 30 ++ .../zigbee2mqtt.subdomain.conf.sample | 40 ++ .../proxy-confs/znc.subdomain.conf.sample | 39 ++ .../proxy-confs/znc.subfolder.conf.sample | 22 + .../zwavejs2mqtt.subdomain.conf.sample | 39 ++ njallavps/swag/nginx/proxy.conf | 31 ++ njallavps/swag/nginx/proxy.conf.sample | 35 ++ njallavps/swag/nginx/registry-ssl.conf | 62 +++ njallavps/swag/nginx/resolver.conf | 3 + njallavps/swag/nginx/site-confs/cinny.conf | 19 + njallavps/swag/nginx/site-confs/default.conf | 62 +++ .../swag/nginx/site-confs/default.conf.sample | 62 +++ njallavps/swag/nginx/site-confs/drone.conf | 17 + .../site-confs/element.anonymousland.org.conf | 37 ++ njallavps/swag/nginx/site-confs/git.conf | 20 + njallavps/swag/nginx/site-confs/hydrogen.conf | 21 + njallavps/swag/nginx/site-confs/lemmy.conf | 40 ++ njallavps/swag/nginx/site-confs/mastodon.conf | 18 + njallavps/swag/nginx/site-confs/ots.conf | 20 + njallavps/swag/nginx/site-confs/paste.conf | 26 ++ njallavps/swag/nginx/site-confs/schild.conf | 26 ++ njallavps/swag/nginx/site-confs/site.conf | 33 ++ njallavps/swag/nginx/site-confs/status.conf | 17 + .../swag/nginx/site-confs/tor-element.conf | 21 + njallavps/swag/nginx/ssl.conf | 59 +++ njallavps/swag/nginx/ssl.conf.sample | 39 ++ njallavps/swag/nginx/status.anonymousland.org | 29 ++ njallavps/swag/nginx/worker_processes.conf | 3 + njallavps/swag/php/php-local.ini | 3 + njallavps/swag/php/www2.conf | 5 + njallavps/swag/well-known/matrix/client | 5 + njallavps/swag/well-known/matrix/server | 1 + njallavps/swag/well-known/matrix/support | 13 + 538 files changed, 20972 insertions(+) rename {nginx => 1984vps/nginx}/Synapse/proxy.conf (100%) rename {nginx => 1984vps/nginx}/Synapse/site-confs/default.conf (100%) rename {nginx => 1984vps/nginx}/Synapse/site-confs/dimension.conf (100%) rename {nginx => 1984vps/nginx}/Synapse/site-confs/matrix.anonymousland.org.conf (100%) rename {nginx => 1984vps/nginx}/Synapse/site-confs/maubot.conf (100%) rename {nginx => 1984vps/nginx}/Synapse/site-confs/tor.conf (100%) rename {nginx => 1984vps/nginx}/Synapse/ssl.conf (100%) rename {scripts => 1984vps/scripts}/synapse/blockstatus.sh (100%) rename {scripts => 1984vps/scripts}/synapse/delete_empty_rooms.py (100%) rename {scripts => 1984vps/scripts}/synapse/getrooms.sh (100%) rename {scripts => 1984vps/scripts}/synapse/populate.sh (100%) rename {scripts => 1984vps/scripts}/synapse/removemedia.sh (100%) create mode 100644 njallavps/swag/.donoteditthisfile.conf create mode 100644 njallavps/swag/.migrations create mode 100644 njallavps/swag/crontabs/root create mode 100644 njallavps/swag/dns-conf/acmedns-registration.json create mode 100644 njallavps/swag/dns-conf/acmedns.ini create mode 100644 njallavps/swag/dns-conf/aliyun.ini create mode 100644 njallavps/swag/dns-conf/azure.ini create mode 100644 njallavps/swag/dns-conf/cloudflare.ini create mode 100644 njallavps/swag/dns-conf/cloudxns.ini create mode 100644 njallavps/swag/dns-conf/cpanel.ini create mode 100644 njallavps/swag/dns-conf/desec.ini create mode 100644 njallavps/swag/dns-conf/digitalocean.ini create mode 100644 njallavps/swag/dns-conf/directadmin.ini create mode 100644 njallavps/swag/dns-conf/dnsimple.ini create mode 100644 njallavps/swag/dns-conf/dnsmadeeasy.ini create mode 100644 njallavps/swag/dns-conf/dnspod.ini create mode 100644 njallavps/swag/dns-conf/do.ini create mode 100644 njallavps/swag/dns-conf/domeneshop.ini create mode 100644 njallavps/swag/dns-conf/duckdns.ini create mode 100644 njallavps/swag/dns-conf/dynu.ini create mode 100644 njallavps/swag/dns-conf/gandi.ini create mode 100644 njallavps/swag/dns-conf/gehirn.ini create mode 100644 njallavps/swag/dns-conf/godaddy.ini create mode 100644 njallavps/swag/dns-conf/google.json create mode 100644 njallavps/swag/dns-conf/he.ini create mode 100644 njallavps/swag/dns-conf/hetzner.ini create mode 100644 njallavps/swag/dns-conf/infomaniak.ini create mode 100644 njallavps/swag/dns-conf/inwx.ini create mode 100644 njallavps/swag/dns-conf/ionos.ini create mode 100644 njallavps/swag/dns-conf/linode.ini create mode 100644 njallavps/swag/dns-conf/loopia.ini create mode 100644 njallavps/swag/dns-conf/luadns.ini create mode 100644 njallavps/swag/dns-conf/netcup.ini create mode 100644 njallavps/swag/dns-conf/njalla.ini create mode 100644 njallavps/swag/dns-conf/nsone.ini create mode 100644 njallavps/swag/dns-conf/ovh.ini create mode 100644 njallavps/swag/dns-conf/porkbun.ini create mode 100644 njallavps/swag/dns-conf/rfc2136.ini create mode 100644 njallavps/swag/dns-conf/route53.ini create mode 100644 njallavps/swag/dns-conf/sakuracloud.ini create mode 100644 njallavps/swag/dns-conf/standalone.ini create mode 100644 njallavps/swag/dns-conf/transip.ini create mode 100644 njallavps/swag/dns-conf/vultr.ini create mode 100644 njallavps/swag/etc/letsencrypt/note.txt create mode 100644 njallavps/swag/fail2ban/action.d/abuseipdb.conf create mode 100644 njallavps/swag/fail2ban/action.d/apf.conf create mode 100644 njallavps/swag/fail2ban/action.d/apprise.conf create mode 100644 njallavps/swag/fail2ban/action.d/badips.conf create mode 100644 njallavps/swag/fail2ban/action.d/badips.py create mode 100644 njallavps/swag/fail2ban/action.d/blocklist_de.conf create mode 100644 njallavps/swag/fail2ban/action.d/bsd-ipfw.conf create mode 100644 njallavps/swag/fail2ban/action.d/cloudflare-token.conf create mode 100644 njallavps/swag/fail2ban/action.d/cloudflare.conf create mode 100644 njallavps/swag/fail2ban/action.d/complain.conf create mode 100644 njallavps/swag/fail2ban/action.d/dshield.conf create mode 100644 njallavps/swag/fail2ban/action.d/dummy.conf create mode 100644 njallavps/swag/fail2ban/action.d/firewallcmd-allports.conf create mode 100644 njallavps/swag/fail2ban/action.d/firewallcmd-common.conf create mode 100644 njallavps/swag/fail2ban/action.d/firewallcmd-ipset.conf create mode 100644 njallavps/swag/fail2ban/action.d/firewallcmd-multiport.conf create mode 100644 njallavps/swag/fail2ban/action.d/firewallcmd-new.conf create mode 100644 njallavps/swag/fail2ban/action.d/firewallcmd-rich-logging.conf create mode 100644 njallavps/swag/fail2ban/action.d/firewallcmd-rich-rules.conf create mode 100644 njallavps/swag/fail2ban/action.d/helpers-common.conf create mode 100644 njallavps/swag/fail2ban/action.d/hostsdeny.conf create mode 100644 njallavps/swag/fail2ban/action.d/ipfilter.conf create mode 100644 njallavps/swag/fail2ban/action.d/ipfw.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-allports.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-common.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-ipset-proto4.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-ipset-proto6-allports.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-ipset-proto6.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-ipset.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-multiport-log.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-multiport.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-new.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables-xt_recent-echo.conf create mode 100644 njallavps/swag/fail2ban/action.d/iptables.conf create mode 100644 njallavps/swag/fail2ban/action.d/ipthreat.conf create mode 100644 njallavps/swag/fail2ban/action.d/mail-buffered.conf create mode 100644 njallavps/swag/fail2ban/action.d/mail-whois-common.conf create mode 100644 njallavps/swag/fail2ban/action.d/mail-whois-lines.conf create mode 100644 njallavps/swag/fail2ban/action.d/mail-whois.conf create mode 100644 njallavps/swag/fail2ban/action.d/mail.conf create mode 100644 njallavps/swag/fail2ban/action.d/mynetwatchman.conf create mode 100644 njallavps/swag/fail2ban/action.d/netscaler.conf create mode 100644 njallavps/swag/fail2ban/action.d/nftables-allports.conf create mode 100644 njallavps/swag/fail2ban/action.d/nftables-multiport.conf create mode 100644 njallavps/swag/fail2ban/action.d/nftables.conf create mode 100644 njallavps/swag/fail2ban/action.d/nginx-block-map.conf create mode 100644 njallavps/swag/fail2ban/action.d/npf.conf create mode 100644 njallavps/swag/fail2ban/action.d/nsupdate.conf create mode 100644 njallavps/swag/fail2ban/action.d/osx-afctl.conf create mode 100644 njallavps/swag/fail2ban/action.d/osx-ipfw.conf create mode 100644 njallavps/swag/fail2ban/action.d/pf.conf create mode 100644 njallavps/swag/fail2ban/action.d/route.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-buffered.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-common.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-geoip-lines.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-whois-ipjailmatches.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-whois-ipmatches.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-whois-lines.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-whois-matches.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail-whois.conf create mode 100644 njallavps/swag/fail2ban/action.d/sendmail.conf create mode 100644 njallavps/swag/fail2ban/action.d/shorewall-ipset-proto6.conf create mode 100644 njallavps/swag/fail2ban/action.d/shorewall.conf create mode 100644 njallavps/swag/fail2ban/action.d/smtp.py create mode 100644 njallavps/swag/fail2ban/action.d/symbiosis-blacklist-allports.conf create mode 100644 njallavps/swag/fail2ban/action.d/ufw.conf create mode 100644 njallavps/swag/fail2ban/action.d/xarf-login-attack.conf create mode 100644 njallavps/swag/fail2ban/filter.d/3proxy.conf create mode 100644 njallavps/swag/fail2ban/filter.d/alpine-sshd-ddos.conf create mode 100644 njallavps/swag/fail2ban/filter.d/alpine-sshd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-badbots.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-botsearch.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-common.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-fakegooglebot.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-modsecurity.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-nohome.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-noscript.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-overflows.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-pass.conf create mode 100644 njallavps/swag/fail2ban/filter.d/apache-shellshock.conf create mode 100644 njallavps/swag/fail2ban/filter.d/assp.conf create mode 100644 njallavps/swag/fail2ban/filter.d/asterisk.conf create mode 100644 njallavps/swag/fail2ban/filter.d/bitwarden.conf create mode 100644 njallavps/swag/fail2ban/filter.d/botsearch-common.conf create mode 100644 njallavps/swag/fail2ban/filter.d/centreon.conf create mode 100644 njallavps/swag/fail2ban/filter.d/common.conf create mode 100644 njallavps/swag/fail2ban/filter.d/counter-strike.conf create mode 100644 njallavps/swag/fail2ban/filter.d/courier-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/courier-smtp.conf create mode 100644 njallavps/swag/fail2ban/filter.d/cyrus-imap.conf create mode 100644 njallavps/swag/fail2ban/filter.d/directadmin.conf create mode 100644 njallavps/swag/fail2ban/filter.d/domino-smtp.conf create mode 100644 njallavps/swag/fail2ban/filter.d/dovecot.conf create mode 100644 njallavps/swag/fail2ban/filter.d/dropbear.conf create mode 100644 njallavps/swag/fail2ban/filter.d/drupal-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/ejabberd-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/exim-common.conf create mode 100644 njallavps/swag/fail2ban/filter.d/exim-spam.conf create mode 100644 njallavps/swag/fail2ban/filter.d/exim.conf create mode 100644 njallavps/swag/fail2ban/filter.d/freeswitch.conf create mode 100644 njallavps/swag/fail2ban/filter.d/froxlor-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/gitea.conf create mode 100644 njallavps/swag/fail2ban/filter.d/gitlab.conf create mode 100644 njallavps/swag/fail2ban/filter.d/grafana.conf create mode 100644 njallavps/swag/fail2ban/filter.d/groupoffice.conf create mode 100644 njallavps/swag/fail2ban/filter.d/gssftpd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/guacamole.conf create mode 100644 njallavps/swag/fail2ban/filter.d/haproxy-http-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/horde.conf create mode 100755 njallavps/swag/fail2ban/filter.d/ignorecommands/apache-fakegooglebot create mode 100644 njallavps/swag/fail2ban/filter.d/kerio.conf create mode 100644 njallavps/swag/fail2ban/filter.d/lighttpd-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/mongodb-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/monit.conf create mode 100644 njallavps/swag/fail2ban/filter.d/monitorix.conf create mode 100644 njallavps/swag/fail2ban/filter.d/mssql-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/murmur.conf create mode 100644 njallavps/swag/fail2ban/filter.d/mysqld-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nagios.conf create mode 100644 njallavps/swag/fail2ban/filter.d/named-refused.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nginx-bad-request.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nginx-badbots.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nginx-botsearch.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nginx-deny.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nginx-http-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nginx-limit-req.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nginx-unauthorized.conf create mode 100644 njallavps/swag/fail2ban/filter.d/nsd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/openhab.conf create mode 100644 njallavps/swag/fail2ban/filter.d/openwebmail.conf create mode 100644 njallavps/swag/fail2ban/filter.d/oracleims.conf create mode 100644 njallavps/swag/fail2ban/filter.d/pam-generic.conf create mode 100644 njallavps/swag/fail2ban/filter.d/perdition.conf create mode 100644 njallavps/swag/fail2ban/filter.d/php-url-fopen.conf create mode 100644 njallavps/swag/fail2ban/filter.d/phpmyadmin-syslog.conf create mode 100644 njallavps/swag/fail2ban/filter.d/portsentry.conf create mode 100644 njallavps/swag/fail2ban/filter.d/postfix.conf create mode 100644 njallavps/swag/fail2ban/filter.d/proftpd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/pure-ftpd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/qmail.conf create mode 100644 njallavps/swag/fail2ban/filter.d/recidive.conf create mode 100644 njallavps/swag/fail2ban/filter.d/roundcube-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/scanlogd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/screensharingd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/selinux-common.conf create mode 100644 njallavps/swag/fail2ban/filter.d/selinux-ssh.conf create mode 100644 njallavps/swag/fail2ban/filter.d/sendmail-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/sendmail-reject.conf create mode 100644 njallavps/swag/fail2ban/filter.d/sieve.conf create mode 100644 njallavps/swag/fail2ban/filter.d/slapd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/softethervpn.conf create mode 100644 njallavps/swag/fail2ban/filter.d/sogo-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/solid-pop3d.conf create mode 100644 njallavps/swag/fail2ban/filter.d/squid.conf create mode 100644 njallavps/swag/fail2ban/filter.d/squirrelmail.conf create mode 100644 njallavps/swag/fail2ban/filter.d/sshd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/stunnel.conf create mode 100644 njallavps/swag/fail2ban/filter.d/suhosin.conf create mode 100644 njallavps/swag/fail2ban/filter.d/tine20.conf create mode 100644 njallavps/swag/fail2ban/filter.d/traefik-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/uwimap-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/vsftpd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/webmin-auth.conf create mode 100644 njallavps/swag/fail2ban/filter.d/wuftpd.conf create mode 100644 njallavps/swag/fail2ban/filter.d/xinetd-fail.conf create mode 100644 njallavps/swag/fail2ban/filter.d/znc-adminlog.conf create mode 100644 njallavps/swag/fail2ban/filter.d/zoneminder.conf create mode 100644 njallavps/swag/fail2ban/jail.local create mode 100644 njallavps/swag/nginx/authelia-location.conf create mode 100644 njallavps/swag/nginx/authelia-location.conf.sample create mode 100644 njallavps/swag/nginx/authelia-server.conf create mode 100644 njallavps/swag/nginx/authelia-server.conf.sample create mode 100644 njallavps/swag/nginx/default create mode 100644 njallavps/swag/nginx/dhparams.pem create mode 100644 njallavps/swag/nginx/elementssl.conf create mode 100644 njallavps/swag/nginx/gitssl.conf create mode 100644 njallavps/swag/nginx/ldap-location.conf create mode 100644 njallavps/swag/nginx/ldap-location.conf.sample create mode 100644 njallavps/swag/nginx/ldap-server.conf create mode 100644 njallavps/swag/nginx/ldap-server.conf.sample create mode 100644 njallavps/swag/nginx/ldap.conf create mode 100644 njallavps/swag/nginx/nginx.conf create mode 100644 njallavps/swag/nginx/nginx.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/.editorconfig create mode 100644 njallavps/swag/nginx/proxy-confs/README.md create mode 100644 njallavps/swag/nginx/proxy-confs/_template.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/_template.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/adguard.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/adminer.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/adminmongo.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/airsonic.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/airsonic.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/apprise-api.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/archisteamfarm.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/aria2-with-webui.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/audiobookshelf.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/audiobookshelf.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/authelia.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/babybuddy.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/bazarr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/bazarr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/beets.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/beets.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/bitwarden.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/bitwarden.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/boinc.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/boinc.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/booksonic.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/booksonic.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/bookstack.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/budge.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/calibre-web.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/calibre-web.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/calibre.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/calibre.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/castopod.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/changedetection.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/chevereto.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/chronograf.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/chronograf.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/cloudbeaver.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/code-server.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/codimd.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/collabora.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/commento.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/couchpotato.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/couchpotato.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/crontabui.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/crowdsec-dashboard.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/crowdsec.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/dashy.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/deluge.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/deluge.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/dillinger.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/documentserver.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/dokuwiki.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/dokuwiki.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/domoticz.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/domoticz.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/dozzle.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/dozzle.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/drone.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/duplicati.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/duplicati.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/element.anonymousland.org.conf create mode 100644 njallavps/swag/nginx/proxy-confs/emby.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/emby.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/embystat.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/emulatorjs.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/filebot.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/filebot.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/filebrowser.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/filebrowser.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/firefly.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/firefox.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/flexget.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/flexget.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/flood.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/flood.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/foldingathome.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/foundryvtt.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/freshrss.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/freshrss.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/gaps.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/gaps.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/get_iplayer.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/ghost.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/ghost.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/gitea.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/gitea.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/glances.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/glances.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/gotify.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/gotify.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/grafana.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/grafana.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/graylog.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/grocy.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/guacamole.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/guacamole.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/hass-configurator.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/headphones.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/headphones.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/healthchecks.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/hedgedoc.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/heimdall.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/heimdall.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/homeassistant.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/homebridge.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/homer.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/huginn.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/influxdb.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/jackett.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/jackett.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/jdownloader.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/jellyfin.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/jellyfin.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/jellyseerr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/jenkins.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/kanzi.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/kanzi.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/kavita.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/komga.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/komga.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/lazylibrarian.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/lazylibrarian.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/librespeed.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/lidarr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/lidarr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/lldap.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/lychee.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/lychee.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mailu.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mailu.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mastodon.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/matomo.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/matrix.anonymousland.org.conf create mode 100644 njallavps/swag/nginx/proxy-confs/matrix.anonymousland.org.confy create mode 100644 njallavps/swag/nginx/proxy-confs/mattermost.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mealie.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/medusa.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/medusa.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/metube.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/metube.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/miniflux.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/miniflux.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/monica.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/monica.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/monitorr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/monitorr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mstream.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mylar.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mylar.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/mytinytodo.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/n8n.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/navidrome.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/netboot.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/netdata.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/netdata.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/nextcloud.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/nextcloud.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/ntfy.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/nzbget.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/nzbget.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/nzbhydra.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/nzbhydra.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/octoprint.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/ombi.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/ombi.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/openhab.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/openvpn-as.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/openvscode-server.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/organizr-auth.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/organizr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/organizr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/osticket.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/overseerr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/papermerge.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/petio.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/petio.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pgadmin.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/photoprism.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/phpmyadmin.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/phpmyadmin.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/picard.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pihole.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pihole.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pinry.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/piwigo.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pixelfed.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/plex.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/plex.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/plexwebtools.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/plexwebtools.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/podgrab.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/portainer.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/portainer.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/privatebin.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/prometheus.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/prowlarr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/prowlarr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pwndrop.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pydio-cells.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pydio.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pyload.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/pyload.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/qbittorrent.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/qbittorrent.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/quassel-web.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/quassel-web.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/radarr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/radarr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/raneto.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/rclone.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/readarr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/readarr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/recipes.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/requestrr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/resilio-sync.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/rutorrent.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/rutorrent.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sabnzbd.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/scope.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/scrutiny.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/shinobi.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/shinobi.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sickchill.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sickchill.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sickrage.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sickrage.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/skyhook.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/slskd.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/smokeping.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/smokeping.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/statping.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/synapse.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/synclounge.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/synclounge.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/syncthing.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/syncthing.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/taisun.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/tasmobackup.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/tautulli.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/tautulli.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/tdarr.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/thelounge.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/thelounge.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/themepark.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/themepark.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/transmission.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/transmission.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/tvheadend.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/ubooquity.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/ubooquity.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/unifi-controller.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/uptime-kuma.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/vaultwarden.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/vaultwarden.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/viewtube.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/wallabag.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/warpgate.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/webtop.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/wordpress.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/yacht.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/youtube-dl-server.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/youtube-dl.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/zigbee2mqtt.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/znc.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/znc.subfolder.conf.sample create mode 100644 njallavps/swag/nginx/proxy-confs/zwavejs2mqtt.subdomain.conf.sample create mode 100644 njallavps/swag/nginx/proxy.conf create mode 100644 njallavps/swag/nginx/proxy.conf.sample create mode 100644 njallavps/swag/nginx/registry-ssl.conf create mode 100644 njallavps/swag/nginx/resolver.conf create mode 100644 njallavps/swag/nginx/site-confs/cinny.conf create mode 100644 njallavps/swag/nginx/site-confs/default.conf create mode 100644 njallavps/swag/nginx/site-confs/default.conf.sample create mode 100644 njallavps/swag/nginx/site-confs/drone.conf create mode 100644 njallavps/swag/nginx/site-confs/element.anonymousland.org.conf create mode 100644 njallavps/swag/nginx/site-confs/git.conf create mode 100644 njallavps/swag/nginx/site-confs/hydrogen.conf create mode 100644 njallavps/swag/nginx/site-confs/lemmy.conf create mode 100644 njallavps/swag/nginx/site-confs/mastodon.conf create mode 100644 njallavps/swag/nginx/site-confs/ots.conf create mode 100644 njallavps/swag/nginx/site-confs/paste.conf create mode 100644 njallavps/swag/nginx/site-confs/schild.conf create mode 100644 njallavps/swag/nginx/site-confs/site.conf create mode 100644 njallavps/swag/nginx/site-confs/status.conf create mode 100644 njallavps/swag/nginx/site-confs/tor-element.conf create mode 100644 njallavps/swag/nginx/ssl.conf create mode 100644 njallavps/swag/nginx/ssl.conf.sample create mode 100644 njallavps/swag/nginx/status.anonymousland.org create mode 100644 njallavps/swag/nginx/worker_processes.conf create mode 100644 njallavps/swag/php/php-local.ini create mode 100644 njallavps/swag/php/www2.conf create mode 100644 njallavps/swag/well-known/matrix/client create mode 100644 njallavps/swag/well-known/matrix/server create mode 100644 njallavps/swag/well-known/matrix/support diff --git a/nginx/Synapse/proxy.conf b/1984vps/nginx/Synapse/proxy.conf similarity index 100% rename from nginx/Synapse/proxy.conf rename to 1984vps/nginx/Synapse/proxy.conf diff --git a/nginx/Synapse/site-confs/default.conf b/1984vps/nginx/Synapse/site-confs/default.conf similarity index 100% rename from nginx/Synapse/site-confs/default.conf rename to 1984vps/nginx/Synapse/site-confs/default.conf diff --git a/nginx/Synapse/site-confs/dimension.conf b/1984vps/nginx/Synapse/site-confs/dimension.conf similarity index 100% rename from nginx/Synapse/site-confs/dimension.conf rename to 1984vps/nginx/Synapse/site-confs/dimension.conf diff --git a/nginx/Synapse/site-confs/matrix.anonymousland.org.conf b/1984vps/nginx/Synapse/site-confs/matrix.anonymousland.org.conf similarity index 100% rename from nginx/Synapse/site-confs/matrix.anonymousland.org.conf rename to 1984vps/nginx/Synapse/site-confs/matrix.anonymousland.org.conf diff --git a/nginx/Synapse/site-confs/maubot.conf b/1984vps/nginx/Synapse/site-confs/maubot.conf similarity index 100% rename from nginx/Synapse/site-confs/maubot.conf rename to 1984vps/nginx/Synapse/site-confs/maubot.conf diff --git a/nginx/Synapse/site-confs/tor.conf b/1984vps/nginx/Synapse/site-confs/tor.conf similarity index 100% rename from nginx/Synapse/site-confs/tor.conf rename to 1984vps/nginx/Synapse/site-confs/tor.conf diff --git a/nginx/Synapse/ssl.conf b/1984vps/nginx/Synapse/ssl.conf similarity index 100% rename from nginx/Synapse/ssl.conf rename to 1984vps/nginx/Synapse/ssl.conf diff --git a/scripts/synapse/blockstatus.sh b/1984vps/scripts/synapse/blockstatus.sh similarity index 100% rename from scripts/synapse/blockstatus.sh rename to 1984vps/scripts/synapse/blockstatus.sh diff --git a/scripts/synapse/delete_empty_rooms.py b/1984vps/scripts/synapse/delete_empty_rooms.py similarity index 100% rename from scripts/synapse/delete_empty_rooms.py rename to 1984vps/scripts/synapse/delete_empty_rooms.py diff --git a/scripts/synapse/getrooms.sh b/1984vps/scripts/synapse/getrooms.sh similarity index 100% rename from scripts/synapse/getrooms.sh rename to 1984vps/scripts/synapse/getrooms.sh diff --git a/scripts/synapse/populate.sh b/1984vps/scripts/synapse/populate.sh similarity index 100% rename from scripts/synapse/populate.sh rename to 1984vps/scripts/synapse/populate.sh diff --git a/scripts/synapse/removemedia.sh b/1984vps/scripts/synapse/removemedia.sh similarity index 100% rename from scripts/synapse/removemedia.sh rename to 1984vps/scripts/synapse/removemedia.sh diff --git a/njallavps/swag/.donoteditthisfile.conf b/njallavps/swag/.donoteditthisfile.conf new file mode 100644 index 0000000..30a44f6 --- /dev/null +++ b/njallavps/swag/.donoteditthisfile.conf @@ -0,0 +1 @@ +ORIGURL="anonymousland.org" ORIGSUBDOMAINS="element, forum, status, hydrogen, cinny, git, drone, site, schild, ots, www, paste, mastodon, lemmy" ORIGONLY_SUBDOMAINS="false" ORIGEXTRA_DOMAINS="" ORIGVALIDATION="http" ORIGDNSPLUGIN="" ORIGPROPAGATION="" ORIGSTAGING="" ORIGCERTPROVIDER="" ORIGEMAIL="admin@anonymousland.org" diff --git a/njallavps/swag/.migrations b/njallavps/swag/.migrations new file mode 100644 index 0000000..1e3c378 --- /dev/null +++ b/njallavps/swag/.migrations @@ -0,0 +1 @@ +01-nginx-site-confs-default diff --git a/njallavps/swag/crontabs/root b/njallavps/swag/crontabs/root new file mode 100644 index 0000000..c24fea0 --- /dev/null +++ b/njallavps/swag/crontabs/root @@ -0,0 +1,9 @@ +# do daily/weekly/monthly maintenance +# min hour day month weekday command +*/15 * * * * run-parts /etc/periodic/15min +0 * * * * run-parts /etc/periodic/hourly +0 2 * * * run-parts /etc/periodic/daily +0 3 * * 6 run-parts /etc/periodic/weekly +0 5 1 * * run-parts /etc/periodic/monthly +# renew letsencrypt certs +8 2 * * * /app/le-renew.sh >> /config/log/letsencrypt/letsencrypt.log 2>&1 diff --git a/njallavps/swag/dns-conf/acmedns-registration.json b/njallavps/swag/dns-conf/acmedns-registration.json new file mode 100644 index 0000000..997955d --- /dev/null +++ b/njallavps/swag/dns-conf/acmedns-registration.json @@ -0,0 +1,9 @@ +{ + "yourdomain.com": { + "username":"yourusername", + "password":"yourpassword", + "fulldomain":".acme.yourdomain.com", + "subdomain":"", + "allowfrom":[] + } + } diff --git a/njallavps/swag/dns-conf/acmedns.ini b/njallavps/swag/dns-conf/acmedns.ini new file mode 100644 index 0000000..4523ffd --- /dev/null +++ b/njallavps/swag/dns-conf/acmedns.ini @@ -0,0 +1,5 @@ +# See https://pypi.org/project/certbot-dns-acmedns/ +# https://github.com/joohoi/acme-dns +# +dns_acmedns_api_url = http://your-acme-dns-server.example.com/ +dns_acmedns_registration_file = /config/dns-conf/acmedns-registration.json diff --git a/njallavps/swag/dns-conf/aliyun.ini b/njallavps/swag/dns-conf/aliyun.ini new file mode 100644 index 0000000..f1121d4 --- /dev/null +++ b/njallavps/swag/dns-conf/aliyun.ini @@ -0,0 +1,6 @@ +# Obtain Aliyun RAM AccessKey +# https://ram.console.aliyun.com/ +# And ensure your RAM account has AliyunDNSFullAccess permission. + +dns_aliyun_access_key = 12345678 +dns_aliyun_access_key_secret = 1234567890abcdef1234567890abcdef diff --git a/njallavps/swag/dns-conf/azure.ini b/njallavps/swag/dns-conf/azure.ini new file mode 100644 index 0000000..3edbfe7 --- /dev/null +++ b/njallavps/swag/dns-conf/azure.ini @@ -0,0 +1,26 @@ +# Instructions: https://certbot-dns-azure.readthedocs.io/en/latest/ +# Replace with your values +# dns_azure_environment can be one of the following: AzurePublicCloud, AzureUSGovernmentCloud, AzureChinaCloud, AzureGermanCloud +# Service Principal with Client Secret +dns_azure_sp_client_id = 912ce44a-0156-4669-ae22-c16a17d34ca5 +dns_azure_sp_client_secret = E-xqXU83Y-jzTI6xe9fs2YC~mck3ZzUih9 +dns_azure_tenant_id = ed1090f3-ab18-4b12-816c-599af8a88cf7 +dns_azure_environment = "AzurePublicCloud" +dns_azure_zone1 = example.com:/subscriptions/c135abce-d87d-48df-936c-15596c6968a5/resourceGroups/dns1 + + +# Service Prinicipal with Certificate +#dns_azure_sp_client_id = 912ce44a-0156-4669-ae22-c16a17d34ca5 +#dns_azure_sp_certificate_path = /path/to/certificate.pem +#dns_azure_tenant_id = ed1090f3-ab18-4b12-816c-599af8a88cf7 +#dns_azure_environment = "AzurePublicCloud" +#dns_azure_zone1 = example.com:/subscriptions/c135abce-d87d-48df-936c-15596c6968a5/resourceGroups/dns1 + +# Azure Managed Identity +#dns_azure_msi_client_id = 912ce44a-0156-4669-ae22-c16a17d34ca5 +#dns_azure_zone1 = example.com:/subscriptions/c135abce-d87d-48df-936c-15596c6968a5/resourceGroups/dns1 + +# System Assigned Azure Managed Identity +#dns_azure_msi_system_assigned = true +#dns_azure_environment = "AzurePublicCloud" +#dns_azure_zone1 = example.com:/subscriptions/c135abce-d87d-48df-936c-15596c6968a5/resourceGroups/dns1 diff --git a/njallavps/swag/dns-conf/cloudflare.ini b/njallavps/swag/dns-conf/cloudflare.ini new file mode 100644 index 0000000..af7194b --- /dev/null +++ b/njallavps/swag/dns-conf/cloudflare.ini @@ -0,0 +1,9 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-cloudflare/certbot_dns_cloudflare/__init__.py#L20 +# Replace with your values + +# With global api key: +dns_cloudflare_email = cloudflare@example.com +dns_cloudflare_api_key = 0123456789abcdef0123456789abcdef01234567 + +# With token (comment out both lines above and uncomment below): +#dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567 diff --git a/njallavps/swag/dns-conf/cloudxns.ini b/njallavps/swag/dns-conf/cloudxns.ini new file mode 100644 index 0000000..a86f7d7 --- /dev/null +++ b/njallavps/swag/dns-conf/cloudxns.ini @@ -0,0 +1,4 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-cloudxns/certbot_dns_cloudxns/__init__.py#L20 +# Replace with your values +dns_cloudxns_api_key = 1234567890abcdef1234567890abcdef +dns_cloudxns_secret_key = 1122334455667788 diff --git a/njallavps/swag/dns-conf/cpanel.ini b/njallavps/swag/dns-conf/cpanel.ini new file mode 100644 index 0000000..d6f600e --- /dev/null +++ b/njallavps/swag/dns-conf/cpanel.ini @@ -0,0 +1,6 @@ +# Instructions: https://github.com/badjware/certbot-dns-cpanel#credentials +# Replace with your values +# include the scheme and the port number (usually 2083 for https) +cpanel_url = https://cpanel.example.com:2083 +cpanel_username = username +cpanel_password = 1234567890abcdef diff --git a/njallavps/swag/dns-conf/desec.ini b/njallavps/swag/dns-conf/desec.ini new file mode 100644 index 0000000..4ac7a66 --- /dev/null +++ b/njallavps/swag/dns-conf/desec.ini @@ -0,0 +1,4 @@ +# Instructions: https://pypi.org/project/certbot-dns-desec/ +# Replace with your Desec V1 API Token +dns_desec_token=YOUR_TOKEN_HERE +dns_desec_endpoint=https://desec.io/api/v1/ \ No newline at end of file diff --git a/njallavps/swag/dns-conf/digitalocean.ini b/njallavps/swag/dns-conf/digitalocean.ini new file mode 100644 index 0000000..eff7677 --- /dev/null +++ b/njallavps/swag/dns-conf/digitalocean.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-digitalocean/certbot_dns_digitalocean/__init__.py#L21 +# Replace with your value +dns_digitalocean_token = 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff diff --git a/njallavps/swag/dns-conf/directadmin.ini b/njallavps/swag/dns-conf/directadmin.ini new file mode 100644 index 0000000..1561c06 --- /dev/null +++ b/njallavps/swag/dns-conf/directadmin.ini @@ -0,0 +1,21 @@ +# Instructions: https://github.com/cybercinch/certbot-dns-directadmin/blob/master/certbot_dns_directadmin/__init__.py + +# It is recommended to create a login key in the DirectAdmin control panel to be used as value for directadmin_password. +# Instructions on how to create such key can be found at https://help.directadmin.com/item.php?id=523. +# +# Make sure to grant the following permissions: +# - CMD_API_LOGIN_TEST +# - CMD_API_DNS_CONTROL +# - CMD_API_SHOW_DOMAINS +# +# Username and password can also be used in case your DirectAdmin instance has no support for login keys. + +# The DirectAdmin Server url +# include the scheme and the port number (Normally 2222) +dns_directadmin_url = https://my.directadminserver.com:2222 + +# The DirectAdmin username +dns_directadmin_username = username + +# The DirectAdmin password +dns_directadmin_password = aSuperStrongPassword diff --git a/njallavps/swag/dns-conf/dnsimple.ini b/njallavps/swag/dns-conf/dnsimple.ini new file mode 100644 index 0000000..8eedb63 --- /dev/null +++ b/njallavps/swag/dns-conf/dnsimple.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-dnsimple/certbot_dns_dnsimple/__init__.py#L20 +# Replace with your value +dns_dnsimple_token = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw diff --git a/njallavps/swag/dns-conf/dnsmadeeasy.ini b/njallavps/swag/dns-conf/dnsmadeeasy.ini new file mode 100644 index 0000000..942c403 --- /dev/null +++ b/njallavps/swag/dns-conf/dnsmadeeasy.ini @@ -0,0 +1,4 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-dnsmadeeasy/certbot_dns_dnsmadeeasy/__init__.py#L20 +# Replace with your values +dns_dnsmadeeasy_api_key = 1c1a3c91-4770-4ce7-96f4-54c0eb0e457a +dns_dnsmadeeasy_secret_key = c9b5625f-9834-4ff8-baba-4ed5f32cae55 diff --git a/njallavps/swag/dns-conf/dnspod.ini b/njallavps/swag/dns-conf/dnspod.ini new file mode 100644 index 0000000..e5a4630 --- /dev/null +++ b/njallavps/swag/dns-conf/dnspod.ini @@ -0,0 +1,5 @@ +# Instructions: https://github.com/SkyLothar/certbot-dns-dnspod#create-a-credentials-file +# Obtain your own DNSPod API token at DNSPod console: https://console.dnspod.cn/account/token/token +# Replace with your own email, id and token +dns_dnspod_email = "me@example.com" +dns_dnspod_api_token = "12345,1234567890abcdef1234567890abcdef" diff --git a/njallavps/swag/dns-conf/do.ini b/njallavps/swag/dns-conf/do.ini new file mode 100644 index 0000000..4a170b5 --- /dev/null +++ b/njallavps/swag/dns-conf/do.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/georgeto/certbot-dns-do/blob/master/certbot_dns_do/__init__.py#L32 +# Replace with your values +dns_do_api_token = YOUR_DO_LETSENCRYPT_API_KEY diff --git a/njallavps/swag/dns-conf/domeneshop.ini b/njallavps/swag/dns-conf/domeneshop.ini new file mode 100644 index 0000000..0bd1d0d --- /dev/null +++ b/njallavps/swag/dns-conf/domeneshop.ini @@ -0,0 +1,4 @@ +# Instructions: https://github.com/domeneshop/certbot-dns-domeneshop#credentials +# Replace with your values +dns_domeneshop_client_token=1234567890abcdef +dns_domeneshop_client_secret=1234567890abcdefghijklmnopqrstuvxyz1234567890abcdefghijklmnopqrs diff --git a/njallavps/swag/dns-conf/duckdns.ini b/njallavps/swag/dns-conf/duckdns.ini new file mode 100644 index 0000000..f0f1508 --- /dev/null +++ b/njallavps/swag/dns-conf/duckdns.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/infinityofspace/certbot_dns_duckdns#credentials-file-or-cli-parameters +# Replace with your API token from your duckdns account. +dns_duckdns_token= diff --git a/njallavps/swag/dns-conf/dynu.ini b/njallavps/swag/dns-conf/dynu.ini new file mode 100644 index 0000000..9bcd4b8 --- /dev/null +++ b/njallavps/swag/dns-conf/dynu.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/bikram990/certbot-dns-dynu#configuration +# Replace with your API token from your dynu account. +dns_dynu_auth_token = AbCbASsd!@34 \ No newline at end of file diff --git a/njallavps/swag/dns-conf/gandi.ini b/njallavps/swag/dns-conf/gandi.ini new file mode 100644 index 0000000..ba43a2b --- /dev/null +++ b/njallavps/swag/dns-conf/gandi.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/obynio/certbot-plugin-gandi#usage +# Replace with your value +dns_gandi_api_key=APIKEY diff --git a/njallavps/swag/dns-conf/gehirn.ini b/njallavps/swag/dns-conf/gehirn.ini new file mode 100644 index 0000000..e1ac409 --- /dev/null +++ b/njallavps/swag/dns-conf/gehirn.ini @@ -0,0 +1,4 @@ +# Instructions: https://certbot-dns-gehirn.readthedocs.io/en/stable/ +# Replace with your values +dns_gehirn_api_token = 00000000-0000-0000-0000-000000000000 +dns_gehirn_api_secret = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw diff --git a/njallavps/swag/dns-conf/godaddy.ini b/njallavps/swag/dns-conf/godaddy.ini new file mode 100644 index 0000000..c1b37eb --- /dev/null +++ b/njallavps/swag/dns-conf/godaddy.ini @@ -0,0 +1,4 @@ +# Instructions: https://github.com/miigotu/certbot-dns-godaddy +# Replace with your values +dns_godaddy_secret = 0123456789abcdef0123456789abcdef01234567 +dns_godaddy_key = abcdef0123456789abcdef01234567abcdef0123 diff --git a/njallavps/swag/dns-conf/google.json b/njallavps/swag/dns-conf/google.json new file mode 100644 index 0000000..67f0050 --- /dev/null +++ b/njallavps/swag/dns-conf/google.json @@ -0,0 +1,6 @@ +{ + "instructions": "https://github.com/certbot/certbot/blob/master/certbot-dns-google/certbot_dns_google/__init__.py", + "_comment": "Replace with your values", + "type": "service_account", + "rest": "..." +} diff --git a/njallavps/swag/dns-conf/he.ini b/njallavps/swag/dns-conf/he.ini new file mode 100644 index 0000000..b3898d8 --- /dev/null +++ b/njallavps/swag/dns-conf/he.ini @@ -0,0 +1,4 @@ +# Instructions: https://github.com/TSaaristo/certbot-dns-he#example-usage +# Replace with your values +dns_he_user = Me +dns_he_pass = my HE password diff --git a/njallavps/swag/dns-conf/hetzner.ini b/njallavps/swag/dns-conf/hetzner.ini new file mode 100644 index 0000000..23be699 --- /dev/null +++ b/njallavps/swag/dns-conf/hetzner.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/ctrlaltcoop/certbot-dns-hetzner +# Replace with your values +dns_hetzner_api_token = nohnah4zoo9Kiejee9aGh0thoopee2sa diff --git a/njallavps/swag/dns-conf/infomaniak.ini b/njallavps/swag/dns-conf/infomaniak.ini new file mode 100644 index 0000000..039d261 --- /dev/null +++ b/njallavps/swag/dns-conf/infomaniak.ini @@ -0,0 +1,3 @@ + Instructions: https://github.com/Infomaniak/certbot-dns-infomaniak#via-ini-file +# Replace with your values +dns_infomaniak_token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX diff --git a/njallavps/swag/dns-conf/inwx.ini b/njallavps/swag/dns-conf/inwx.ini new file mode 100644 index 0000000..086d866 --- /dev/null +++ b/njallavps/swag/dns-conf/inwx.ini @@ -0,0 +1,6 @@ +# Instructions: https://github.com/oGGy990/certbot-dns-inwx +# Replace with your values +dns_inwx_url = https://api.domrobot.com/xmlrpc/ +dns_inwx_username = your_username +dns_inwx_password = your_password +dns_inwx_shared_secret = your_shared_secret optional diff --git a/njallavps/swag/dns-conf/ionos.ini b/njallavps/swag/dns-conf/ionos.ini new file mode 100644 index 0000000..ebb09e8 --- /dev/null +++ b/njallavps/swag/dns-conf/ionos.ini @@ -0,0 +1,5 @@ +# Instructions: https://github.com/helgeerbe/certbot-dns-ionos +# Replace with your values +dns_ionos_prefix = myapikeyprefix +dns_ionos_secret = verysecureapikeysecret +dns_ionos_endpoint = https://api.hosting.ionos.com \ No newline at end of file diff --git a/njallavps/swag/dns-conf/linode.ini b/njallavps/swag/dns-conf/linode.ini new file mode 100644 index 0000000..2d434a1 --- /dev/null +++ b/njallavps/swag/dns-conf/linode.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-linode/certbot_dns_linode/__init__.py#L25 +# Replace with your values +dns_linode_key = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ64 diff --git a/njallavps/swag/dns-conf/loopia.ini b/njallavps/swag/dns-conf/loopia.ini new file mode 100644 index 0000000..93e2a4f --- /dev/null +++ b/njallavps/swag/dns-conf/loopia.ini @@ -0,0 +1,3 @@ +# Replace with your values +dns_loopia_user = user@loopiaapi +dns_loopia_password = passwordgoeshere diff --git a/njallavps/swag/dns-conf/luadns.ini b/njallavps/swag/dns-conf/luadns.ini new file mode 100644 index 0000000..01de1dd --- /dev/null +++ b/njallavps/swag/dns-conf/luadns.ini @@ -0,0 +1,4 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-luadns/certbot_dns_luadns/__init__.py#L20 +# Replace with your values +dns_luadns_email = user@example.com +dns_luadns_token = 0123456789abcdef0123456789abcdef diff --git a/njallavps/swag/dns-conf/netcup.ini b/njallavps/swag/dns-conf/netcup.ini new file mode 100644 index 0000000..a3a1e90 --- /dev/null +++ b/njallavps/swag/dns-conf/netcup.ini @@ -0,0 +1,3 @@ +dns_netcup_customer_id = 123456 +dns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567 +dns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123 diff --git a/njallavps/swag/dns-conf/njalla.ini b/njallavps/swag/dns-conf/njalla.ini new file mode 100644 index 0000000..4b2a930 --- /dev/null +++ b/njallavps/swag/dns-conf/njalla.ini @@ -0,0 +1,2 @@ +# Generate your API token here: https://njal.la/settings/api/ +dns_njalla_token=0000000000000000000000000000000000000000 diff --git a/njallavps/swag/dns-conf/nsone.ini b/njallavps/swag/dns-conf/nsone.ini new file mode 100644 index 0000000..f1858ca --- /dev/null +++ b/njallavps/swag/dns-conf/nsone.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-nsone/certbot_dns_nsone/__init__.py#L20 +# Replace with your value +dns_nsone_api_key = MDAwMDAwMDAwMDAwMDAw diff --git a/njallavps/swag/dns-conf/ovh.ini b/njallavps/swag/dns-conf/ovh.ini new file mode 100644 index 0000000..f8fef57 --- /dev/null +++ b/njallavps/swag/dns-conf/ovh.ini @@ -0,0 +1,6 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-ovh/certbot_dns_ovh/__init__.py#L20 +# Replace with your values +dns_ovh_endpoint = ovh-eu +dns_ovh_application_key = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw +dns_ovh_application_secret = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw +dns_ovh_consumer_key = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw diff --git a/njallavps/swag/dns-conf/porkbun.ini b/njallavps/swag/dns-conf/porkbun.ini new file mode 100644 index 0000000..6f3cb3d --- /dev/null +++ b/njallavps/swag/dns-conf/porkbun.ini @@ -0,0 +1,4 @@ +# Instructions: https://github.com/infinityofspace/certbot_dns_porkbun +# Replace with your values +dns_porkbun_key= +dns_porkbun_secret= diff --git a/njallavps/swag/dns-conf/rfc2136.ini b/njallavps/swag/dns-conf/rfc2136.ini new file mode 100644 index 0000000..75b6c7a --- /dev/null +++ b/njallavps/swag/dns-conf/rfc2136.ini @@ -0,0 +1,11 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-rfc2136/certbot_dns_rfc2136/__init__.py#L20 +# Replace with your values +# Target DNS server +dns_rfc2136_server = 192.0.2.1 +# TSIG key name +dns_rfc2136_name = keyname. +# TSIG key secret +dns_rfc2136_secret = 4q4wM/2I180UXoMyN4INVhJNi8V9BCV+jMw2mXgZw/CSuxUT8C7NKKFs \ +AmKd7ak51vWKgSl12ib86oQRPkpDjg== +# TSIG key algorithm +dns_rfc2136_algorithm = HMAC-SHA512 diff --git a/njallavps/swag/dns-conf/route53.ini b/njallavps/swag/dns-conf/route53.ini new file mode 100644 index 0000000..18ce326 --- /dev/null +++ b/njallavps/swag/dns-conf/route53.ini @@ -0,0 +1,5 @@ +# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-route53/certbot_dns_route53/__init__.py#L18 +# Replace with your values +[default] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY diff --git a/njallavps/swag/dns-conf/sakuracloud.ini b/njallavps/swag/dns-conf/sakuracloud.ini new file mode 100644 index 0000000..17f3ac8 --- /dev/null +++ b/njallavps/swag/dns-conf/sakuracloud.ini @@ -0,0 +1,4 @@ +# Instructions: https://certbot-dns-sakuracloud.readthedocs.io/en/stable/ +# Replace with your values +dns_sakuracloud_api_token = 00000000-0000-0000-0000-000000000000 +dns_sakuracloud_api_secret = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw diff --git a/njallavps/swag/dns-conf/standalone.ini b/njallavps/swag/dns-conf/standalone.ini new file mode 100644 index 0000000..559a8af --- /dev/null +++ b/njallavps/swag/dns-conf/standalone.ini @@ -0,0 +1,8 @@ +# Instructions: https://github.com/siilike/certbot-dns-standalone/blob/master/README.rst +# Make sure to expose UDP port 53 from your swag container: +# - for docker cli, add argument: `-p 53:53/udp` +# - for docker-compose, add the following line under ports: `- 53:53/udp` +# This file does not need to be changed: +# - no credentials are required +# - it's not used and only for informational purpose +# - prepare the correct DNS records as described in the plugin instructions instead diff --git a/njallavps/swag/dns-conf/transip.ini b/njallavps/swag/dns-conf/transip.ini new file mode 100644 index 0000000..68d0b4f --- /dev/null +++ b/njallavps/swag/dns-conf/transip.ini @@ -0,0 +1,30 @@ +# Instructions: https://readthedocs.org/projects/certbot-dns-transip/ +# +# This DNS plugin can be used to generate SSL wildcard certificates via TransIP DNS TXT records +# +# Login with your TransIP account and go to My Account | API: +# 1. API-settings: On +# +# 2. IP-address/ranges whitelist: Add a new authorized IP address (Swag Docker) to use the API +# +# 3. Generate a new Key Pair and copy the private key to a new transip.key file in the format: +# -----BEGIN PRIVATE KEY----- +# ... +# -----END PRIVATE KEY----- +# +# 4. Convert the key to an RSA key with command: +# openssl rsa -in transip.key -out /config/dns-conf/transip-rsa.key +# +# 5. Set permission +# chmod 600 /config/dns-conf/transip-rsa.key +# +# 6. Replace below with your TransIP username +# +# 7. Create wildcard certificate with Swag environment variables: +# SUBDOMAINS=wildcard +# VALIDATION=dns +# DNSPLUGIN=transip + +dns_transip_username = +dns_transip_key_file = /config/dns-conf/transip-rsa.key + diff --git a/njallavps/swag/dns-conf/vultr.ini b/njallavps/swag/dns-conf/vultr.ini new file mode 100644 index 0000000..901bdff --- /dev/null +++ b/njallavps/swag/dns-conf/vultr.ini @@ -0,0 +1,3 @@ +# Instructions: https://github.com/lezgomatt/certbot-dns-vultr +# Replace with your vultr Personal Access Token (see https://www.vultr.com/docs/how-to-setup-dynamic-dns). +dns_vultr_key = YOUR_VULTR_API_KEY diff --git a/njallavps/swag/etc/letsencrypt/note.txt b/njallavps/swag/etc/letsencrypt/note.txt new file mode 100644 index 0000000..b4079bf --- /dev/null +++ b/njallavps/swag/etc/letsencrypt/note.txt @@ -0,0 +1 @@ +This folder contained letsencrypt files which are important data that can't be uploaded \ No newline at end of file diff --git a/njallavps/swag/fail2ban/action.d/abuseipdb.conf b/njallavps/swag/fail2ban/action.d/abuseipdb.conf new file mode 100644 index 0000000..ed958c8 --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/abuseipdb.conf @@ -0,0 +1,104 @@ +# Fail2ban configuration file +# +# Action to report IP address to abuseipdb.com +# You must sign up to obtain an API key from abuseipdb.com. +# +# NOTE: These reports may include sensitive Info. +# If you want cleaner reports that ensure no user data see the helper script at the below website. +# +# IMPORTANT: +# +# Reporting an IP of abuse is a serious complaint. Make sure that it is +# serious. Fail2ban developers and network owners recommend you only use this +# action for: +# * The recidive where the IP has been banned multiple times +# * Where maxretry has been set quite high, beyond the normal user typing +# password incorrectly. +# * For filters that have a low likelihood of receiving human errors +# +# This action relies on a api_key being added to the above action conf, +# and the appropriate categories set. +# +# Example, for ssh bruteforce (in section [sshd] of `jail.local`): +# action = %(known/action)s +# abuseipdb[abuseipdb_apikey="my-api-key", abuseipdb_category="18,22"] +# +# See below for categories. +# +# Added to fail2ban by Andrew James Collett (ajcollett) + +## abuseIPDB Categories, `the abuseipdb_category` MUST be set in the jail.conf action call. +# Example, for ssh bruteforce: action = %(action_abuseipdb)s[abuseipdb_category="18,22"] +# ID Title Description +# 3 Fraud Orders +# 4 DDoS Attack +# 9 Open Proxy +# 10 Web Spam +# 11 Email Spam +# 14 Port Scan +# 18 Brute-Force +# 19 Bad Web Bot +# 20 Exploited Host +# 21 Web App Attack +# 22 SSH Secure Shell (SSH) abuse. Use this category in combination with more specific categories. +# 23 IoT Targeted +# See https://abuseipdb.com/categories for more descriptions + +[Definition] + +# bypass action for restored tickets +norestored = 1 + +# Option: actionstart +# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false). +# Values: CMD +# +actionstart = + +# Option: actionstop +# Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +# Values: CMD +# +actionstop = + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# +# ** IMPORTANT! ** +# +# By default, this posts directly to AbuseIPDB's API, unfortunately +# this results in a lot of backslashes/escapes appearing in the +# reports. This also may include info like your hostname. +# If you have your own web server with PHP available, you can +# use my (Shaun's) helper PHP script by commenting out the first #actionban +# line below, uncommenting the second one, and pointing the URL at +# wherever you install the helper script. For the PHP helper script, see +# +# +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionban = lgm=$(printf '%%.1000s\n...' ""); curl -sSf "https://api.abuseipdb.com/api/v2/report" -H "Accept: application/json" -H "Key: " --data-urlencode "comment=$lgm" --data-urlencode "ip=" --data "categories=" + +# Option: actionunban +# Notes.: command executed when unbanning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionunban = + +[Init] +# Option: abuseipdb_apikey +# Notes Your API key from abuseipdb.com +# Values: STRING Default: None +# Register for abuseipdb [https://www.abuseipdb.com], get api key and set below. +# You will need to set the category in the action call. +abuseipdb_apikey = diff --git a/njallavps/swag/fail2ban/action.d/apf.conf b/njallavps/swag/fail2ban/action.d/apf.conf new file mode 100644 index 0000000..5c4a261 --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/apf.conf @@ -0,0 +1,25 @@ +# Fail2Ban configuration file +# https://www.rfxn.com/projects/advanced-policy-firewall/ +# +# Note: APF doesn't play nicely with other actions. It has been observed to +# remove bans created by other iptables based actions. If you are going to use +# this action, use it for all of your jails. +# +# DON'T MIX APF and other IPTABLES based actions +[Definition] + +actionstart = +actionstop = +actioncheck = +actionban = apf --deny "banned by Fail2Ban " +actionunban = apf --remove + +[Init] + +# Name used in APF configuration +# +name = default + +# DEV NOTES: +# +# Author: Mark McKinstry diff --git a/njallavps/swag/fail2ban/action.d/apprise.conf b/njallavps/swag/fail2ban/action.d/apprise.conf new file mode 100644 index 0000000..37c42ea --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/apprise.conf @@ -0,0 +1,49 @@ +# Fail2Ban configuration file +# +# Author: Chris Caron +# +# + +[Definition] + +# Option: actionstart +# Notes.: command executed once at the start of Fail2Ban. +# Values: CMD +# +actionstart = printf %%b "The jail as been started successfully." | -t "[Fail2Ban] : started on `uname -n`" + +# Option: actionstop +# Notes.: command executed once at the end of Fail2Ban +# Values: CMD +# +actionstop = printf %%b "The jail has been stopped." | -t "[Fail2Ban] : stopped on `uname -n`" + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionban = printf %%b "The IP has just been banned by Fail2Ban after attempts against " | -n "warning" -t "[Fail2Ban] : banned from `uname -n`" + +# Option: actionunban +# Notes.: command executed when unbanning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionunban = + +[Init] + +# Define location of the default apprise configuration file to use +# +config = /etc/fail2ban/apprise.conf +# +apprise = apprise -c "" diff --git a/njallavps/swag/fail2ban/action.d/badips.conf b/njallavps/swag/fail2ban/action.d/badips.conf new file mode 100644 index 0000000..6f9513f --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/badips.conf @@ -0,0 +1,19 @@ +# Fail2ban reporting to badips.com +# +# Note: This reports an IP only and does not actually ban traffic. Use +# another action in the same jail if you want bans to occur. +# +# Set the category to the appropriate value before use. +# +# To get see register and optional key to get personalised graphs see: +# http://www.badips.com/blog/personalized-statistics-track-the-attackers-of-all-your-servers-with-one-key + +[Definition] + +actionban = curl --fail --user-agent "" http://www.badips.com/add// + +[Init] + +# Option: category +# Notes.: Values are from the list here: http://www.badips.com/get/categories +category = diff --git a/njallavps/swag/fail2ban/action.d/badips.py b/njallavps/swag/fail2ban/action.d/badips.py new file mode 100644 index 0000000..805120e --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/badips.py @@ -0,0 +1,391 @@ +# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: t -*- +# vi: set ft=python sts=4 ts=4 sw=4 noet : + +# This file is part of Fail2Ban. +# +# Fail2Ban is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Fail2Ban is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Fail2Ban; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +import sys +if sys.version_info < (2, 7): # pragma: no cover + raise ImportError("badips.py action requires Python >= 2.7") +import json +import threading +import logging +if sys.version_info >= (3, ): # pragma: 2.x no cover + from urllib.request import Request, urlopen + from urllib.parse import urlencode + from urllib.error import HTTPError +else: # pragma: 3.x no cover + from urllib2 import Request, urlopen, HTTPError + from urllib import urlencode + +from fail2ban.server.actions import Actions, ActionBase, BanTicket +from fail2ban.helpers import splitwords, str2LogLevel + + + +class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable + """Fail2Ban action which reports bans to badips.com, and also + blacklist bad IPs listed on badips.com by using another action's + ban method. + + Parameters + ---------- + jail : Jail + The jail which the action belongs to. + name : str + Name assigned to the action. + category : str + Valid badips.com category for reporting failures. + score : int, optional + Minimum score for bad IPs. Default 3. + age : str, optional + Age of last report for bad IPs, per badips.com syntax. + Default "24h" (24 hours) + banaction : str, optional + Name of banaction to use for blacklisting bad IPs. If `None`, + no blacklist of IPs will take place. + Default `None`. + bancategory : str, optional + Name of category to use for blacklisting, which can differ + from category used for reporting. e.g. may want to report + "postfix", but want to use whole "mail" category for blacklist. + Default `category`. + bankey : str, optional + Key issued by badips.com to retrieve personal list + of blacklist IPs. + updateperiod : int, optional + Time in seconds between updating bad IPs blacklist. + Default 900 (15 minutes) + loglevel : int/str, optional + Log level of the message when an IP is (un)banned. + Default `DEBUG`. + Can be also supplied as two-value list (comma- or space separated) to + provide level of the summary message when a group of IPs is (un)banned. + Example `DEBUG,INFO`. + agent : str, optional + User agent transmitted to server. + Default `Fail2Ban/ver.` + + Raises + ------ + ValueError + If invalid `category`, `score`, `banaction` or `updateperiod`. + """ + + TIMEOUT = 10 + _badips = "https://www.badips.com" + def _Request(self, url, **argv): + return Request(url, headers={'User-Agent': self.agent}, **argv) + + def __init__(self, jail, name, category, score=3, age="24h", + banaction=None, bancategory=None, bankey=None, updateperiod=900, + loglevel='DEBUG', agent="Fail2Ban", timeout=TIMEOUT): + super(BadIPsAction, self).__init__(jail, name) + + self.timeout = timeout + self.agent = agent + self.category = category + self.score = score + self.age = age + self.banaction = banaction + self.bancategory = bancategory or category + self.bankey = bankey + loglevel = splitwords(loglevel) + self.sumloglevel = str2LogLevel(loglevel[-1]) + self.loglevel = str2LogLevel(loglevel[0]) + self.updateperiod = updateperiod + + self._bannedips = set() + # Used later for threading.Timer for updating badips + self._timer = None + + @staticmethod + def isAvailable(timeout=1): + try: + response = urlopen(Request("/".join([BadIPsAction._badips]), + headers={'User-Agent': "Fail2Ban"}), timeout=timeout) + return True, '' + except Exception as e: # pragma: no cover + return False, e + + def logError(self, response, what=''): # pragma: no cover - sporadical (502: Bad Gateway, etc) + messages = {} + try: + messages = json.loads(response.read().decode('utf-8')) + except: + pass + self._logSys.error( + "%s. badips.com response: '%s'", what, + messages.get('err', 'Unknown')) + + def getCategories(self, incParents=False): + """Get badips.com categories. + + Returns + ------- + set + Set of categories. + + Raises + ------ + HTTPError + Any issues with badips.com request. + ValueError + If badips.com response didn't contain necessary information + """ + try: + response = urlopen( + self._Request("/".join([self._badips, "get", "categories"])), timeout=self.timeout) + except HTTPError as response: # pragma: no cover + self.logError(response, "Failed to fetch categories") + raise + else: + response_json = json.loads(response.read().decode('utf-8')) + if not 'categories' in response_json: + err = "badips.com response lacked categories specification. Response was: %s" \ + % (response_json,) + self._logSys.error(err) + raise ValueError(err) + categories = response_json['categories'] + categories_names = set( + value['Name'] for value in categories) + if incParents: + categories_names.update(set( + value['Parent'] for value in categories + if "Parent" in value)) + return categories_names + + def getList(self, category, score, age, key=None): + """Get badips.com list of bad IPs. + + Parameters + ---------- + category : str + Valid badips.com category. + score : int + Minimum score for bad IPs. + age : str + Age of last report for bad IPs, per badips.com syntax. + key : str, optional + Key issued by badips.com to fetch IPs reported with the + associated key. + + Returns + ------- + set + Set of bad IPs. + + Raises + ------ + HTTPError + Any issues with badips.com request. + """ + try: + url = "?".join([ + "/".join([self._badips, "get", "list", category, str(score)]), + urlencode({'age': age})]) + if key: + url = "&".join([url, urlencode({'key': key})]) + self._logSys.debug('badips.com: get list, url: %r', url) + response = urlopen(self._Request(url), timeout=self.timeout) + except HTTPError as response: # pragma: no cover + self.logError(response, "Failed to fetch bad IP list") + raise + else: + return set(response.read().decode('utf-8').split()) + + @property + def category(self): + """badips.com category for reporting IPs. + """ + return self._category + + @category.setter + def category(self, category): + if category not in self.getCategories(): + self._logSys.error("Category name '%s' not valid. " + "see badips.com for list of valid categories", + category) + raise ValueError("Invalid category: %s" % category) + self._category = category + + @property + def bancategory(self): + """badips.com bancategory for fetching IPs. + """ + return self._bancategory + + @bancategory.setter + def bancategory(self, bancategory): + if bancategory != "any" and bancategory not in self.getCategories(incParents=True): + self._logSys.error("Category name '%s' not valid. " + "see badips.com for list of valid categories", + bancategory) + raise ValueError("Invalid bancategory: %s" % bancategory) + self._bancategory = bancategory + + @property + def score(self): + """badips.com minimum score for fetching IPs. + """ + return self._score + + @score.setter + def score(self, score): + score = int(score) + if 0 <= score <= 5: + self._score = score + else: + raise ValueError("Score must be 0-5") + + @property + def banaction(self): + """Jail action to use for banning/unbanning. + """ + return self._banaction + + @banaction.setter + def banaction(self, banaction): + if banaction is not None and banaction not in self._jail.actions: + self._logSys.error("Action name '%s' not in jail '%s'", + banaction, self._jail.name) + raise ValueError("Invalid banaction") + self._banaction = banaction + + @property + def updateperiod(self): + """Period in seconds between banned bad IPs will be updated. + """ + return self._updateperiod + + @updateperiod.setter + def updateperiod(self, updateperiod): + updateperiod = int(updateperiod) + if updateperiod > 0: + self._updateperiod = updateperiod + else: + raise ValueError("Update period must be integer greater than 0") + + def _banIPs(self, ips): + for ip in ips: + try: + ai = Actions.ActionInfo(BanTicket(ip), self._jail) + self._jail.actions[self.banaction].ban(ai) + except Exception as e: + self._logSys.error( + "Error banning IP %s for jail '%s' with action '%s': %s", + ip, self._jail.name, self.banaction, e, + exc_info=self._logSys.getEffectiveLevel()<=logging.DEBUG) + else: + self._bannedips.add(ip) + self._logSys.log(self.loglevel, + "Banned IP %s for jail '%s' with action '%s'", + ip, self._jail.name, self.banaction) + + def _unbanIPs(self, ips): + for ip in ips: + try: + ai = Actions.ActionInfo(BanTicket(ip), self._jail) + self._jail.actions[self.banaction].unban(ai) + except Exception as e: + self._logSys.error( + "Error unbanning IP %s for jail '%s' with action '%s': %s", + ip, self._jail.name, self.banaction, e, + exc_info=self._logSys.getEffectiveLevel()<=logging.DEBUG) + else: + self._logSys.log(self.loglevel, + "Unbanned IP %s for jail '%s' with action '%s'", + ip, self._jail.name, self.banaction) + finally: + self._bannedips.remove(ip) + + def start(self): + """If `banaction` set, blacklists bad IPs. + """ + if self.banaction is not None: + self.update() + + def update(self): + """If `banaction` set, updates blacklisted IPs. + + Queries badips.com for list of bad IPs, removing IPs from the + blacklist if no longer present, and adds new bad IPs to the + blacklist. + """ + if self.banaction is not None: + if self._timer: + self._timer.cancel() + self._timer = None + + try: + ips = self.getList( + self.bancategory, self.score, self.age, self.bankey) + # Remove old IPs no longer listed + s = self._bannedips - ips + m = len(s) + self._unbanIPs(s) + # Add new IPs which are now listed + s = ips - self._bannedips + p = len(s) + self._banIPs(s) + if m != 0 or p != 0: + self._logSys.log(self.sumloglevel, + "Updated IPs for jail '%s' (-%d/+%d)", + self._jail.name, m, p) + self._logSys.debug( + "Next update for jail '%' in %i seconds", + self._jail.name, self.updateperiod) + finally: + self._timer = threading.Timer(self.updateperiod, self.update) + self._timer.start() + + def stop(self): + """If `banaction` set, clears blacklisted IPs. + """ + if self.banaction is not None: + if self._timer: + self._timer.cancel() + self._timer = None + self._unbanIPs(self._bannedips.copy()) + + def ban(self, aInfo): + """Reports banned IP to badips.com. + + Parameters + ---------- + aInfo : dict + Dictionary which includes information in relation to + the ban. + + Raises + ------ + HTTPError + Any issues with badips.com request. + """ + try: + url = "/".join([self._badips, "add", self.category, str(aInfo['ip'])]) + self._logSys.debug('badips.com: ban, url: %r', url) + response = urlopen(self._Request(url), timeout=self.timeout) + except HTTPError as response: # pragma: no cover + self.logError(response, "Failed to ban") + raise + else: + messages = json.loads(response.read().decode('utf-8')) + self._logSys.debug( + "Response from badips.com report: '%s'", + messages['suc']) + +Action = BadIPsAction diff --git a/njallavps/swag/fail2ban/action.d/blocklist_de.conf b/njallavps/swag/fail2ban/action.d/blocklist_de.conf new file mode 100644 index 0000000..ba6d427 --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/blocklist_de.conf @@ -0,0 +1,84 @@ +# Fail2Ban configuration file +# +# Author: Steven Hiscocks +# +# + +# Action to report IP address to blocklist.de +# Blocklist.de must be signed up to at www.blocklist.de +# Once registered, one or more servers can be added. +# This action requires the server 'email address' and the associated apikey. +# +# From blocklist.de: +# www.blocklist.de is a free and voluntary service provided by a +# Fraud/Abuse-specialist, whose servers are often attacked on SSH-, +# Mail-Login-, FTP-, Webserver- and other services. +# The mission is to report all attacks to the abuse departments of the +# infected PCs/servers to ensure that the responsible provider can inform +# the customer about the infection and disable them +# +# IMPORTANT: +# +# Reporting an IP of abuse is a serious complaint. Make sure that it is +# serious. Fail2ban developers and network owners recommend you only use this +# action for: +# * The recidive where the IP has been banned multiple times +# * Where maxretry has been set quite high, beyond the normal user typing +# password incorrectly. +# * For filters that have a low likelihood of receiving human errors +# + +[Definition] + +# Option: actionstart +# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false). +# Values: CMD +# +actionstart = + +# Option: actionstop +# Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +# Values: CMD +# +actionstop = + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionban = curl --fail --data-urlencode "server=" --data "apikey=" --data "service=" --data "ip=" --data-urlencode "logs=
" --data 'format=text' --user-agent "" "https://www.blocklist.de/en/httpreports.html" + +# Option: actionunban +# Notes.: command executed when unbanning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionunban = + +# Option: email +# Notes server email address, as per blocklist.de account +# Values: STRING Default: None +# +#email = + +# Option: apikey +# Notes your user blocklist.de user account apikey +# Values: STRING Default: None +# +#apikey = + +# Option: service +# Notes service name you are reporting on, typically aligns with filter name +# see http://www.blocklist.de/en/httpreports.html for full list +# Values: STRING Default: None +# +#service = diff --git a/njallavps/swag/fail2ban/action.d/bsd-ipfw.conf b/njallavps/swag/fail2ban/action.d/bsd-ipfw.conf new file mode 100644 index 0000000..444192d --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/bsd-ipfw.conf @@ -0,0 +1,94 @@ +# Fail2Ban configuration file +# +# Author: Nick Munger +# Modified by: Ken Menzel +# Daniel Black (start/stop) +# Fabian Wenk (many ideas as per fail2ban users list) +# +# Ensure firewall_enable="YES" in the top of /etc/rc.conf +# + +[Definition] + +# Option: actionstart +# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false). +# Values: CMD +# +actionstart = ipfw show | fgrep -c -m 1 -s 'table()' > /dev/null 2>&1 || ( + num=$(ipfw show | awk 'BEGIN { b = } { if ($1 == b) { b = $1 + 1 } } END { print b }'); + ipfw -q add "$num" from table\(
\) to me ; echo "$num" > "" + ) + + +# Option: actionstop +# Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +# Values: CMD +# +actionstop = [ ! -f ] || ( read num < ""
ipfw -q delete $num
rm "" ) + + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = + + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +# requires an ipfw rule like "deny ip from table(1) to me" +actionban = e=`ipfw table
add 2>&1`; x=$?; [ $x -eq 0 -o "$e" = 'ipfw: setsockopt(IP_FW_TABLE_XADD): File exists' ] || echo "$e" | grep -q "record already exists" || { echo "$e" 1>&2; exit $x; } + + +# Option: actionunban +# Notes.: command executed when unbanning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionunban = e=`ipfw table
delete 2>&1`; x=$?; [ $x -eq 0 -o "$e" = 'ipfw: setsockopt(IP_FW_TABLE_XDEL): No such process' ] || echo "$e" | grep -q "record not found" || { echo "$e" 1>&2; exit $x; } + +[Init] +# Option: table +# Notes: The ipfw table to use. If a ipfw rule using this table already exists, +# this action will not create a ipfw rule to block it and the following +# options will have no effect. +# Values: NUM +table = 1 + +# Option: port +# Notes.: Specifies port to monitor. Blank indicate block all ports. +# Values: [ NUM | STRING ] +# +port = + +# Option: startstatefile +# Notes: A file to indicate that the table rule that was added. Ensure it is unique per table. +# Values: STRING +startstatefile = /var/run/fail2ban/ipfw-started-table_
+ +# Option: block +# Notes: This is how much to block. +# Can be "ip", "tcp", "udp" or various other options. +# Values: STRING +block = ip + +# Option: blocktype +# Notes.: How to block the traffic. Use a action from man 5 ipfw +# Common values: deny, unreach port, reset +# ACTION defination at the top of man ipfw for allowed values. +# Values: STRING +# +blocktype = unreach port + +# Option: lowest_rule_num +# Notes: When fail2ban starts with action and there is no rule for the given table yet +# then fail2ban will start looking for an empty slot starting with this rule number. +# Values: NUM +lowest_rule_num = 111 + + diff --git a/njallavps/swag/fail2ban/action.d/cloudflare-token.conf b/njallavps/swag/fail2ban/action.d/cloudflare-token.conf new file mode 100644 index 0000000..8c5c37d --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/cloudflare-token.conf @@ -0,0 +1,92 @@ +# +# Author: Logic-32 +# +# IMPORTANT +# +# Please set jail.local's permission to 640 because it contains your CF API token. +# +# This action depends on curl. +# +# To get your Cloudflare API token: https://developers.cloudflare.com/api/tokens/create/ +# +# Cloudflare Firewall API: https://developers.cloudflare.com/firewall/api/cf-firewall-rules/endpoints/ + +[Definition] + +# Option: actionstart +# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false). +# Values: CMD +# +actionstart = + +# Option: actionstop +# Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +# Values: CMD +# +actionstop = + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: IP address +# number of failures +#
+_nft_get_handle_id = grep -oP '@\s+.*\s+\Khandle\s+(\d+)$' + +_nft_add_set = add set
\{ type \; \} + <_nft_for_proto--iter> + add rule
%(rule_stat)s + <_nft_for_proto--done> +_nft_del_set = { %(_nft_list)s | %(_nft_get_handle_id)s; } | while read -r hdl; do + delete rule
$hdl; done + delete set
+ +# Option: _nft_shutdown_table +# Notes.: command executed after the stop in order to delete table (it checks that no sets are available): +# Values: CMD +# +_nft_shutdown_table = { list table
| grep -qP '^\s+set\s+'; } || { + delete table
+ } + +# Option: actionstart +# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false). +# Values: CMD +# +actionstart = add table
+ -- add chain
\{ type hook priority \; \} + %(_nft_add_set)s + +# Option: actionflush +# Notes.: command executed once to flush IPS, by shutdown (resp. by stop of the jail or this action); +# uses `nft flush set ...` and as fallback (e. g. unsupported) recreates the set (with references) +# Values: CMD +# +actionflush = { flush set
2> /dev/null; } || { + %(_nft_del_set)s + %(_nft_add_set)s + } + +# Option: actionstop +# Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +# Values: CMD +# +actionstop = %(_nft_del_set)s + <_nft_shutdown_table> + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = list chain
| grep -q '@[ \t]' + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionban = add element
\{ \} + +# Option: actionunban +# Notes.: command executed when unbanning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionunban = delete element
\{ \} + +[Init] + +# Option: table +# Notes.: main table to store chain and sets (automatically created on demand) +# Values: STRING Default: f2b-table +table = f2b-table + +# Option: table_family +# Notes.: address family to work in +# Values: [ip | ip6 | inet] Default: inet +table_family = inet + +# Option: chain +# Notes.: main chain to store rules +# Values: STRING Default: f2b-chain +chain = f2b-chain + +# Option: chain_type +# Notes.: refers to the kind of chain to be created +# Values: [filter | route | nat] Default: filter +# +chain_type = filter + +# Option: chain_hook +# Notes.: refers to the kind of chain to be created +# Values: [ prerouting | input | forward | output | postrouting ] Default: input +# +chain_hook = input + +# Option: chain_priority +# Notes.: priority in the chain. +# Values: NUMBER Default: -1 +# +chain_priority = -1 + +# Option: addr_type +# Notes.: address type to work with +# Values: [ipv4_addr | ipv6_addr] Default: ipv4_addr +# +addr_type = ipv4_addr + +# Default name of the filtering set +# +name = default + +# Option: port +# Notes.: specifies port to monitor +# Values: [ NUM | STRING ] Default: +# +port = ssh + +# Option: protocol +# Notes.: internally used by config reader for interpolations. +# Values: [ tcp | udp ] Default: tcp +# +protocol = tcp + +# Option: blocktype +# Note: This is what the action does with rules. This can be any jump target +# as per the nftables man page (section 8). Common values are drop, +# reject, reject with icmpx type host-unreachable, redirect to 2222 +# Values: STRING +blocktype = reject + +# Option: nftables +# Notes.: Actual command to be executed, including common to all calls options +# Values: STRING +nftables = nft + +# Option: addr_set +# Notes.: The name of the nft set used to store banned addresses +# Values: STRING +addr_set = addr-set- + +# Option: addr_family +# Notes.: The family of the banned addresses +# Values: [ ip | ip6 ] +addr_family = ip + +[Init?family=inet6] +addr_family = ip6 +addr_type = ipv6_addr +addr_set = addr6-set- diff --git a/njallavps/swag/fail2ban/action.d/nginx-block-map.conf b/njallavps/swag/fail2ban/action.d/nginx-block-map.conf new file mode 100644 index 0000000..0de382b --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/nginx-block-map.conf @@ -0,0 +1,117 @@ +# Fail2Ban configuration file for black-listing via nginx +# +# Author: Serg G. Brester (aka sebres) +# +# To use 'nginx-block-map' action you should define some special blocks in your nginx configuration, +# and use it hereafter in your locations (to notify fail2ban by failure, resp. nginx by ban). +# +# Example (argument "token_id" resp. cookie "session_id" used here as unique identifier for user): +# +# http { +# ... +# # maps to check user is blacklisted (banned in f2b): +# #map $arg_token_id $blck_lst_tok { include blacklisted-tokens.map; } +# map $cookie_session_id $blck_lst_ses { include blacklisted-sessions.map; } +# ... +# # special log-format to notify fail2ban about failures: +# log_format f2b_session_errors '$msec failure "$cookie_session_id" - $remote_addr - $remote_user ' +# ;# '"$request" $status $bytes_sent ' +# # '"$http_referer" "$http_user_agent"'; +# +# # location checking blacklisted values: +# location ... { +# # check banned sessionid: +# if ($blck_lst_ses != "") { +# try_files "" @f2b-banned; +# } +# ... +# # notify fail2ban about a failure inside nginx: +# error_page 401 = @notify-f2b; +# ... +# } +# ... +# # location for return with "403 Forbidden" if banned: +# location @f2b-banned { +# default_type text/html; +# return 403 "
+# +# You are banned!
"; +# } +# ... +# # location to notify fail2ban about a failure inside nginx: +# location @notify-f2b { +# access_log /var/log/nginx/f2b-auth-errors.log f2b_session_errors; +# } +# } +# ... +# +# Note that quote-character (and possibly other special characters) are not allowed currently as session-id. +# Thus please add any session-id validation rule in your locations (or in the corresponding backend-service), +# like in example below: +# +# location ... { +# if ($cookie_session_id !~ "^[\w\-]+$") { +# return 403 "Wrong session-id" +# } +# ... +# } +# +# The parameters for jail corresponding log-format (f2b_session_errors): +# +# [nginx-blck-lst] +# filter = +# datepattern = ^Epoch +# failregex = ^ failure "[^"]+" - +# usedns = no +# +# The same log-file can be used for IP-related jail (additionally to session-related, to ban very bad IPs): +# +# [nginx-blck-ip] +# maxretry = 100 +# filter = +# datepattern = ^Epoch +# failregex = ^ failure "[^"]+" - +# usedns = no +# + +[Definition] + +# path to configuration of nginx (used to target nginx-instance in multi-instance system, +# and as path for the blacklisted map): +srv_cfg_path = /etc/nginx/ + +# cmd-line arguments to supply to test/reload nginx: +#srv_cmd = nginx -c %(srv_cfg_path)s/nginx.conf +srv_cmd = nginx + +# pid file (used to check nginx is running): +srv_pid = /run/nginx.pid + +# command used to check whether nginx is running and configuration is valid: +srv_is_running = [ -f "%(srv_pid)s" ] +srv_check_cmd = %(srv_is_running)s && %(srv_cmd)s -qt + +# first test nginx is running and configuration is correct, hereafter send reload signal: +blck_lst_reload = %(srv_check_cmd)s; if [ $? -eq 0 ]; then + %(srv_cmd)s -s reload; if [ $? -ne 0 ]; then echo 'reload failed.'; fi; + fi; + +# map-file for nginx, can be redefined using `action = nginx-block-map[blck_lst_file="/path/file.map"]`: +blck_lst_file = %(srv_cfg_path)s/blacklisted-sessions.map + +# Action definition: + +actionstart_on_demand = false +actionstart = touch '%(blck_lst_file)s' + +actionflush = truncate -s 0 '%(blck_lst_file)s'; %(blck_lst_reload)s + +actionstop = %(actionflush)s + +actioncheck = + +_echo_blck_row = printf '\%%s 1;\n' "" + +actionban = %(_echo_blck_row)s >> '%(blck_lst_file)s'; %(blck_lst_reload)s + +actionunban = id=$(%(_echo_blck_row)s | sed -e 's/[]\/$*.^|[]/\\&/g'); sed -i "/^$id$/d" %(blck_lst_file)s; %(blck_lst_reload)s diff --git a/njallavps/swag/fail2ban/action.d/npf.conf b/njallavps/swag/fail2ban/action.d/npf.conf new file mode 100644 index 0000000..3bbb2f5 --- /dev/null +++ b/njallavps/swag/fail2ban/action.d/npf.conf @@ -0,0 +1,61 @@ +# Fail2Ban configuration file +# +# NetBSD npf ban/unban +# +# Author: Nils Ratusznik +# Based on pf.conf action file +# + +[Definition] + +# Option: actionstart +# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false). +# Values: CMD +# +# we don't enable NPF automatically, as it will be enabled elsewhere +actionstart = + + +# Option: actionstop +# Notes.: command executed at the stop of jail (or at the end of Fail2Ban) +# Values: CMD +# +# we don't disable NPF automatically either +actionstop = + + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = + + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: IP address +# number of failures +#