I hereby claim:
- I am paul-chambers on github.
- I am paulchambers (https://keybase.io/paulchambers) on keybase.
- I have a public key ASCurpxOID6GqlcTvchnLxQDIIfVcFWcAdKsLtiFuoqKZwo
To claim this, I am signing this object:
# | |
# assumes you have a user called 'traefik', with the home directory '/var/lib/traefik', | |
# containing the 'traefik' executable and a 'trafik.toml' configuration file. | |
## adduser --system --shell /sbin/nologin --home /var/lib/traefik traefik | |
# | |
[Unit] | |
Description=Traefik | |
Documentation=https://docs.traefik.io | |
After=network-online.target |
I hereby claim:
To claim this, I am signing this object:
#!/bin/bash | |
set -x | |
USER=miniupnp | |
PROJECT=miniupnp | |
repo=https://github.com/${USER}/${PROJECT}.git | |
if [ -d "${PROJECT}" ]; then | |
rm -rf "${PROJECT}" | |
fi |
#!/bin/bash | |
set -x | |
dir="${1:-./}" | |
if [ ! -z "${dir}" ] | |
then | |
find "${dir}" -regex '.*[\.-_][Ss]ample[\.-_].*' -delete | |
find "${dir}" -regex '.*proof.*\.jpg' -delete | |
find "${dir}" -regex '.*\/screen[0-9]+\.png' -delete | |
find "${dir}" -regex '.*\.\(exe\|idx\|nfo\|lnk\|nzb\|sfv\|srr\|srs\|srt\|sub\|sup\|txt\|url\)' -delete |
#!/bin/bash | |
# In both host and container, add the nVidia repros (see https://nvidia.github.io/nvidia-container-runtime/) | |
set -x | |
which curl > /dev/null || apt install curl | |
# add the repo key: | |
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add - | |
# add the 'nvidia container runtime' repo to apt's sources | |
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) |
+sel:all,-sel:(audio|subtitle)&!(favlang|nolang|single),=100:all,-10:favlang |
Some custom Scripts to update things that depend on the WAN IP address |
#!/bin/bash | |
# | |
# Powered by <a href="http://www.ipdeny.com">IPDENY.COM</a> IP database. | |
# | |
# Pull the agregated zone lists from denyip.com, and create country-specific ipsets from them | |
# | |
# This approach doesn't require an additional 'geoip' kernel module or the Maxmind database. | |
# | |
# When updating, the new ipset replaces the existing one with a 'swap', so there isn't any | |
# time period when the set is empty. |
These two config files work together to integrate Control-D for public DNS queries and dnsmasq for intranet ones (including those assigned by DHCP).
When these chages are made, the ctrld
daemon is 'in front' and receives all queries
first on listener.0, irrespective of origin. Listener.0 then diverts any that are
for *.local or my intranet to the dnsmasq instance, which has been moved to port
531, to avoid conflicts. If dnsmasq
doesn't resolve the request itself internally
(i.e. dhcp allocations, /etc/hosts
, static dhcp-host configs, etc.), it 'forwards'
it back to ctrld
on port 532, where listener.1 sends it upstream unconditionally
(i.e. listener.1 has no rules to redirect intranet requests to dnsmasq, like there
#!/bin/bash | |
set -x | |
git clone --no-checkout --depth 1 https://github.com/iptv-org/iptv.git && cd iptv | |
git config core.sparsecheckout true | |
cd iptv/streams && git sparse-checkout set us*.m3u ca*.m3u uk*.m3u |