mirror of
https://github.com/casjaysdevdocker/ddns
synced 2025-02-25 06:36:56 -05:00
🦈🏠🐜❗ Initial Commit ❗🐜🦈🏠
This commit is contained in:
commit
b8b670b11b
19
.gitignore
vendored
Normal file
19
.gitignore
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
# gitignore created on 02/09/22 at 12:16
|
||||
# Disable reminder in prompt
|
||||
ignoredirmessage
|
||||
|
||||
# OS generated files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
|
||||
# Other
|
||||
.installed
|
||||
|
||||
|
||||
# ignore commit message
|
||||
.gitcommit
|
37
Dockerfile
Normal file
37
Dockerfile
Normal file
@ -0,0 +1,37 @@
|
||||
FROM casjaysdev/alpine:latest as ddnsbase
|
||||
LABEL author="CasjaysDev" \
|
||||
email="<docker-admin@casjaysdev.com>" \
|
||||
version="1.0.0" \
|
||||
description="dynamic-dns server"
|
||||
|
||||
RUN apk update --no-cache && apk add --no-cache dhcp-server-vanilla radvd bind bash php8 tftp-hpa tor torsocks
|
||||
RUN rm -Rf /var/cache/apk/* /etc/named* /etc/bind* /etc/dhcpd* /etc/radvd* /etc/tor* /bin/ash
|
||||
RUN ln -sf /bin/bash /bin/ash
|
||||
|
||||
FROM ddnsbase
|
||||
ARG BUILD_DATE="$(date +'%Y-%m-%d %H:%M')"
|
||||
|
||||
LABEL \
|
||||
org.label-schema.name="ddns" \
|
||||
org.label-schema.description="My Dynamic DNS server" \
|
||||
org.label-schema.url="https://github.com/casjaysdev/ddns" \
|
||||
org.label-schema.vcs-url="https://github.com/casjaysdev/ddns" \
|
||||
org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.version=$BUILD_DATE \
|
||||
org.label-schema.vcs-ref=$BUILD_DATE \
|
||||
org.label-schema.license="MIT" \
|
||||
org.label-schema.vcs-type="Git" \
|
||||
org.label-schema.schema-version="1.0" \
|
||||
org.label-schema.vendor="CasjaysDev" \
|
||||
maintainer="CasjaysDev <docker-admin@casjaysdev.com>"
|
||||
|
||||
ENV HOSTNAME ddns
|
||||
EXPOSE 53 53/udp 67 67/udp 69 69/udp 80 546 546/udp 8053 8053/udp 9050 9050/udp
|
||||
|
||||
COPY ./files /var/lib/ddns
|
||||
COPY ./bin/entrypoint.sh /usr/local/bin/entrypoint-ddns.sh
|
||||
|
||||
VOLUME ["/data", "/config"]
|
||||
|
||||
HEALTHCHECK CMD ["/usr/local/bin/entrypoint-ddns.sh","--health"]
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint-ddns.sh"]
|
13
LICENSE.md
Normal file
13
LICENSE.md
Normal file
@ -0,0 +1,13 @@
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2022 Jason Hempstead <git-admin@casjaysdev.com>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
1. You just DO WHAT THE FUCK YOU WANT TO.
|
10
README.md
Normal file
10
README.md
Normal file
@ -0,0 +1,10 @@
|
||||
<h1 align=center>
|
||||
👋 Welcome to ddns 👋
|
||||
</h1>
|
||||
<p align=center>
|
||||
StartDocumentationHere
|
||||
</p>
|
||||
|
||||
## Author
|
||||
|
||||
👤 **Jason Hempstead**
|
284
bin/entrypoint.sh
Executable file
284
bin/entrypoint.sh
Executable file
@ -0,0 +1,284 @@
|
||||
#!/usr/bin/env bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202112111512-git
|
||||
# @Author : Jason Hempstead
|
||||
# @Contact : jason@casjaysdev.com
|
||||
# @License : WTFPL
|
||||
# @ReadME : entrypoint.sh --help
|
||||
# @Copyright : Copyright: (c) 2021 Jason Hempstead, Casjays Developments
|
||||
# @Created : Saturday, Dec 11, 2021 15:12 EST
|
||||
# @File : entrypoint.sh
|
||||
# @Description :
|
||||
# @TODO :
|
||||
# @Other :
|
||||
# @Resource :
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
APPNAME="$(basename "$0" 2>/dev/null)"
|
||||
VERSION="202112111512-git"
|
||||
USER="${SUDO_USER:-${USER}}"
|
||||
HOME="${USER_HOME:-${HOME}}"
|
||||
SRC_DIR="${BASH_SOURCE%/*}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Set bash options
|
||||
if [[ "$1" == "--debug" ]]; then shift 1 && set -xo pipefail && export SCRIPT_OPTS="--debug" && export _DEBUG="on"; fi
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
|
||||
# Set functions
|
||||
__help() {
|
||||
echo 'docker entry point script
|
||||
options are:
|
||||
'$APPNAME' --help
|
||||
'$APPNAME' --version
|
||||
'$APPNAME' --shell
|
||||
'$APPNAME' --help
|
||||
'$APPNAME' --health
|
||||
'$APPNAME' --status
|
||||
'
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
__list_options() { echo "${1:-$ARRAY}" | sed 's|:||g;s|'$2'| '$3'|g' 2>/dev/null; }
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Additional functions
|
||||
__run_dns() {
|
||||
named-checkconf -z /etc/named.conf
|
||||
named -c /etc/named.conf
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Check for needed applications
|
||||
type -P bash &>/dev/null || { echo "Missing: bash" && exit 1; }
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Set variables
|
||||
exitCode=0
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Application Folders
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Show warn message if variables are missing
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Set options
|
||||
SETARGS="$*"
|
||||
SHORTOPTS=""
|
||||
LONGOPTS="options,version,help,shell,health,status"
|
||||
ARRAY=""
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Setup application options
|
||||
setopts=$(getopt -o "$SHORTOPTS" --long "$LONGOPTS" -a -n "$APPNAME" -- "$@" 2>/dev/null)
|
||||
eval set -- "${setopts[@]}" 2>/dev/null
|
||||
while :; do
|
||||
case $1 in
|
||||
--options)
|
||||
shift 1
|
||||
[ -n "$1" ] || printf 'Current options for %s\n' "${PROG:-$APPNAME}"
|
||||
[ -z "$SHORTOPTS" ] || __list_options "Short Options" "-$SHORTOPTS" ',' '-'
|
||||
[ -z "$LONGOPTS" ] || __list_options "Long Options" "--$LONGOPTS" ',' '--'
|
||||
[ -z "$ARRAY" ] || __list_options "Base Options" "$ARRAY" ',' ''
|
||||
exit $?
|
||||
;;
|
||||
--help)
|
||||
shift 1
|
||||
__help
|
||||
exit
|
||||
;;
|
||||
--version)
|
||||
shift 1
|
||||
printf "$APPNAME Version: $VERSION\n"
|
||||
exit
|
||||
;;
|
||||
--shell)
|
||||
shift 1
|
||||
bash -s /root/.profile -l
|
||||
exit $?
|
||||
;;
|
||||
--health)
|
||||
shift 1
|
||||
exitCode=0
|
||||
for proc in named tor tftp named dhcp radvd php; do
|
||||
ps aux | grep -Ev 'grep|tail' | grep -q "$proc" && echo "$proc" || exitCode+=1
|
||||
done
|
||||
exit ${exitCode:-$?}
|
||||
;;
|
||||
--status)
|
||||
shift 1
|
||||
netstat -taupln | grep -E '^udp|LISTEN'
|
||||
exit ${exitCode:-$?}
|
||||
;;
|
||||
--)
|
||||
shift 1
|
||||
ARGS="$1"
|
||||
set --
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
[[ -f "/run/ddns.pid" ]] && echo "PID file exists" && exit 1
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Additional variables
|
||||
[[ -f "/root/.bashrc" ]] || printf "source /etc/profile\ncd %s\n" "$HOME" >"/root/.bashrc"
|
||||
[[ -f "/root/.bashrc" ]] && source "/root/.bashrc"
|
||||
[[ -f "/config/env" ]] && source "/config/env"
|
||||
DATE="$(date +%Y%m%d)01"
|
||||
OLD_DATE="${OLD_DATE:-2018020901}"
|
||||
NETDEV="$(ip route 2>/dev/null | grep default | sed -e "s/^.*dev.//" -e "s/.proto.*//" | awk '{print $1}')"
|
||||
IPV4_ADDR="$(ifconfig $NETDEV 2>/dev/null | grep -E "venet|inet" | grep -v "127.0.0." | grep 'inet' | grep -v inet6 | awk '{print $2}' | sed s/addr://g | head -n1 | grep '^' || echo '')"
|
||||
IPV6_ADDR="$(ifconfig "$NETDEV" 2>/dev/null | grep -E "venet|inet" | grep 'inet6' | grep -i global | awk '{print $2}' | head -n1 | grep '^' || echo '')"
|
||||
IPV4_ADDR_GATEWAY="$(ip route show default | awk '/default/ {print $3}' | head -n1 | grep '^' || echo '')"
|
||||
IPV4_ADDR="${IPV4_ADDR:-10.0.0.2}"
|
||||
IPV4_ADDR_SUBNET="${IPV4_ADDR_SUBNET:-10.0.0.0}"
|
||||
IPV4_ADDR_START="${IPV4_ADDR_START:-10.0.100.1}"
|
||||
IPV4_ADDR_END="${IPV4_ADDR_END:-10.0.100.254}"
|
||||
IPV4_ADDR_NETMASK="${IPV4_ADDR_NETMASK:-255.255.0.0}"
|
||||
IPV4_ADDR_GATEWAY="${IPV4_ADDR_GATEWAY:-10.0.0.1}"
|
||||
IPV6_ADDR="${IP6_ADDR:-2001:0db8:edfa:1234::2}"
|
||||
IPV6_ADDR_SUBNET="${IPV6_ADDR_SUBNET:-2001:0db8:edfa:1234::}"
|
||||
IPV6_ADDR_START="${IPV6_ADDR_START:-2001:0db8:edfa:1234:5678::1}"
|
||||
IPV6_ADDR_END="${IPV6_ADDR_END:-2001:0db8:edfa:1234:5678::ffff}"
|
||||
IPV6_ADDR_NETMASK="${IPV6_ADDR_NETMASK:-64}"
|
||||
IPV6_ADDR_GATEWAY="${IPV6_ADDR_GATEWAY:-2001:0db8:edfa:1234::1}"
|
||||
|
||||
DOMAIN_NAME="${DOMAIN_NAME:-test}"
|
||||
HOSTNAME="$(hostname -s).${DOMAIN_NAME}"
|
||||
[[ "$DOMAIN_NAME" == "local" ]] && DOMAIN_NAME="test"
|
||||
###############################################################################
|
||||
[[ -f "/config/env" ]] && source "/config/env"
|
||||
{
|
||||
echo 'Starting dynamic DNS server...'
|
||||
touch /run/ddns.pid
|
||||
date '+%Y-%m-%d %H:%M'
|
||||
echo "Setting hostname to $HOSTNAME"
|
||||
} &>/data/log/entrypoint.log
|
||||
[[ -d "/data/log" ]] && rm -Rf /data/log/* || mkdir -p "/data/log"
|
||||
[[ -f "/etc/profile" ]] && [[ ! -f "/root/.profile" ]] && cp -Rf "/etc/profile" "/root/.profile"
|
||||
|
||||
if [[ -f "/config/rndc.key" ]]; then
|
||||
RNDC_KEY="$(cat /config/rndc.key | grep secret | awk '{print $2}' | sed 's|;||g;s|"||g')"
|
||||
else
|
||||
rndc-confgen -a -c /etc/rndc.key &>>/data/log/named.log
|
||||
RNDC_KEY="$(cat /etc/rndc.key | grep secret | awk '{print $2}' | sed 's|;||g;s|"||g')"
|
||||
[[ -f "/config/rndc.key" ]] || cp -Rf "/etc/rndc.key" "/config/rndc.key" &>>/data/log/entrypoint.log
|
||||
[[ -f "/config/rndc.conf" ]] || { [[ -f "/etc/rndc.conf" ]] && cp -Rf "/etc/rndc.conf" "/config/rndc.conf" &>>/data/log/entrypoint.log; }
|
||||
fi
|
||||
[[ -d "/run/tor" ]] || mkdir -p "/run/tor" &>>/data/log/entrypoint.log
|
||||
[[ -d "/etc/dhcp" ]] || mkdir -p "/etc/dhcp" &>>/data/log/entrypoint.log
|
||||
[[ -d "/run/dhcp" ]] || mkdir -p "/run/dhcp" &>>/data/log/entrypoint.log
|
||||
[[ -d "/var/tftpboot" ]] && [[ ! -d "/data/tftp" ]] && mv -f "/var/tftpboot" "/data/tftp" &>>/data/log/entrypoint.log
|
||||
[[ -d "/var/lib/dhcp" ]] || mkdir -p "/var/lib/dhcp" &>>/data/log/entrypoint.log
|
||||
[[ -d "/data/tor" ]] || cp -Rf "/var/lib/tor" "/data/tor" &>>/data/log/entrypoint.log
|
||||
[[ -d "/data/web" ]] || cp -Rf "/var/lib/ddns/data/web" "/data/web" &>>/data/log/entrypoint.log
|
||||
[[ -d "/data/named" ]] || cp -Rf "/var/lib/ddns/data/named" "/data/named" &>>/data/log/entrypoint.log
|
||||
[[ -d "/config/tor" ]] || cp -Rf "/var/lib/ddns/config/tor" "/config/tor" &>>/data/log/entrypoint.log
|
||||
[[ -d "/config/dhcp" ]] || cp -Rf "/var/lib/ddns/config/dhcp" "/config/dhcp" &>>/data/log/entrypoint.log
|
||||
[[ -d "/config/named" ]] || cp -Rf "/var/lib/ddns/config/named" "/config/named" &>>/data/log/entrypoint.log
|
||||
[[ -f "/config/radvd.conf" ]] || cp -Rf "/var/lib/ddns/config/radvd.conf" "/config/radvd.conf" &>>/data/log/entrypoint.log
|
||||
[[ -f "/config/named.conf" ]] || cp -Rf "/var/lib/ddns/config/named.conf" "/config/named.conf" &>>/data/log/entrypoint.log
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Main application
|
||||
find "/config" "/data" -type f -exec sed -i 's|'${OLD_DATE:-2018020901}'|'$DATE'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_DOMAIN|'$DOMAIN_NAME'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_WITH_RNDC_KEY|'$RNDC_KEY'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV4_ADDRESS|'$IPV4_ADDR'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV4_ADDR_START|'$IPV4_ADDR_START'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV4_ADDR_END|'$IPV4_ADDR_END'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV4_SUBNET|'$IPV4_ADDR_SUBNET'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV4_NETMASK|'$IPV4_ADDR_NETMASK'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV4_GATEWAY|'$IPV4_ADDR_GATEWAY'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV6_ADDRESS|'$IPV6_ADDR'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV6_ADDR_START|'$IPV6_ADDR_START'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV6_ADDR_END|'$IPV6_ADDR_END'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV6_SUBNET|'$IPV6_ADDR_SUBNET'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV6_NETMASK|'$IPV6_ADDR_NETMASK'|g' {} \;
|
||||
find "/config" "/data" -type f -exec sed -i 's|REPLACE_IPV6_GATEWAY|'$IPV6_ADDR_GATEWAY'|g' {} \;
|
||||
|
||||
if [ ! -f "/confiv/env" ]; then
|
||||
echo "Creating file: /config/env" &>>/data/log/entrypoint.log
|
||||
cat <<EOF >/config/env
|
||||
RNDC_KEY="${RNDC_KEY:-}"
|
||||
OLD_DATE="${OLD_DATE:-2018020901}"
|
||||
NETDEV="$(ip route 2>/dev/null | grep default | sed -e "s/^.*dev.//" -e "s/.proto.*//" | awk '{print $1}')"
|
||||
IPV4_ADDR="$(ifconfig $NETDEV 2>/dev/null | grep -E "venet|inet" | grep -v "127.0.0." | grep 'inet' | grep -v inet6 | awk '{print $2}' | sed s/addr://g | head -n1 | grep '^' || echo '')"
|
||||
IPV6_ADDR="$(ifconfig "$NETDEV" 2>/dev/null | grep -E "venet|inet" | grep 'inet6' | grep -i global | awk '{print $2}' | head -n1 | grep '^' || echo '')"
|
||||
IPV4_ADDR="${IPV4_ADDR:-10.0.0.2}"
|
||||
IPV4_ADDR_SUBNET="${IPV4_ADDR_SUBNET:-10.0.0.0}"
|
||||
IPV4_ADDR_START="${IPV4_ADDR_START:-10.0.100.1}"
|
||||
IPV4_ADDR_END="${IPV4_ADDR_END:-10.0.100.254}"
|
||||
IPV4_ADDR_NETMASK="${IPV4_ADDR_NETMASK:-255.255.0.0}"
|
||||
IPV4_ADDR_GATEWAY="${IPV4_ADDR_GATEWAY:-10.0.0.1}"
|
||||
IPV6_ADDR="${IP6_ADDR:-2001:0db8:edfa:1234::2}"
|
||||
IPV6_ADDR_SUBNET="${IPV6_ADDR_SUBNET:-2001:0db8:edfa:1234::}"
|
||||
IPV6_ADDR_START="${IPV6_ADDR_START:-2001:0db8:edfa:1234:5678::1}"
|
||||
IPV6_ADDR_END="${IPV6_ADDR_END:-2001:0db8:edfa:1234:5678::ffff}"
|
||||
IPV6_ADDR_NETMASK="${IPV6_ADDR_NETMASK:-64}"
|
||||
IPV6_ADDR_GATEWAY="${IPV6_ADDR_GATEWAY:-2001:0db8:edfa:1234::1}"
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [[ -f "/config/named.conf" ]]; then
|
||||
echo "Initializing named" &>>/data/log/entrypoint.log
|
||||
rm -R /data/log/dns/* &>>/data/log/entrypoint.log
|
||||
cp -Rf "/config/named.conf" "/etc/named.conf"
|
||||
[[ -d "/data/log/dns" ]] || mkdir -p "/data/log/dns"
|
||||
[[ -d "/data/named" ]] && cp -Rf "/data/named" "/var/named"
|
||||
[[ -d "/config/named" ]] && cp -Rf "/config/named" "/etc/named"
|
||||
[[ -f "/config/rndc.key" ]] && cp -Rf "/config/rndc.key" "/etc/rndc.key"
|
||||
[[ -f "/config/rndc.conf" ]] && cp -Rf "/config/rndc.conf" "/etc/rndc.conf"
|
||||
chmod -f 777 "/data/log/dns"
|
||||
__run_dns &>>/data/log/named.log &
|
||||
sleep .5
|
||||
fi
|
||||
|
||||
if [[ -n "$IP6_ADDR" ]]; then
|
||||
if [[ -f "/config/dhcp/dhcpd6.conf" ]]; then
|
||||
echo "Initializing dhcpd6" &>>/data/log/entrypoint.log
|
||||
cp -Rf "/config/dhcp/dhcpd6.conf" "/etc/dhcp/dhcpd6.conf"
|
||||
touch /var/lib/dhcp/dhcpd6.leases
|
||||
dhcpd -6 -cf /etc/dhcp/dhcpd6.conf &>>/data/log/dhcpd6.log &
|
||||
sleep .5
|
||||
fi
|
||||
if [[ -f "/config/radvd.conf" ]]; then
|
||||
echo "Initializing radvd" &>>/data/log/entrypoint.log
|
||||
cp -Rf "/config/radvd.conf" "/etc/radvd.conf"
|
||||
radvd -C /etc/radvd.conf &>>/data/log/radvd.log &
|
||||
sleep .5
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -f "/config/dhcp/dhcpd4.conf" ]]; then
|
||||
echo "Initializing dhcpd4" &>>/data/log/entrypoint.log
|
||||
cp -Rf "/config/dhcp/dhcpd4.conf" "/etc/dhcp/dhcpd4.conf"
|
||||
touch /var/lib/dhcp/dhcpd.leases
|
||||
dhcpd -4 -cf /etc/dhcp/dhcpd4.conf &>>/data/log/dhcpd4.log &
|
||||
sleep .5
|
||||
fi
|
||||
|
||||
if [[ -d "/config/tor" ]]; then
|
||||
echo "Initializing tor" &>>/data/log/entrypoint.log
|
||||
[[ -d "/config/tor" ]] && cp -Rf "/config/tor" "/etc/tor"
|
||||
chown -Rf root:root "/var/lib/tor"
|
||||
chmod 700 "/run/tor"
|
||||
tor -f "/etc/tor/torrc" &>>/data/log/tor.log &
|
||||
fi
|
||||
if [[ -d "/data/tftp" ]]; then
|
||||
echo "Initializing tftp" &>>/data/log/entrypoint.log
|
||||
rm -Rf "/var/tftpboot"
|
||||
ln -sf "/data/tftp" "/var/tftpboot"
|
||||
in.tftpd -vv -L /var/tftpboot &>/data/log/tftpd.log &
|
||||
fi
|
||||
if [[ -f "/data/web/index.php" ]]; then
|
||||
php_bin="$(command -v php || command -v php8 || false)"
|
||||
if [[ -n "$php_bin" ]]; then
|
||||
echo "Initializing web on $IP_ADDR" &>>/data/log/entrypoint.log
|
||||
$php_bin -S 0.0.0.0:80 -t "/data/web" &>>/data/log/php.log &
|
||||
sleep .5
|
||||
fi
|
||||
fi
|
||||
sleep 5
|
||||
date +'%Y-%m-%d %H:%M' >/data/log/entrypoint.log
|
||||
echo "Initializing completed" &>>/data/log/entrypoint.log
|
||||
tail -n 1000 -f /data/log/*.log
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
exit ${exitCode:-$?}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# end
|
102
files/config/dhcp/dhcpd4.conf
Executable file
102
files/config/dhcp/dhcpd4.conf
Executable file
@ -0,0 +1,102 @@
|
||||
######
|
||||
#Domain REPLACE_DOMAIN is dynamic DNS
|
||||
#
|
||||
#DHCP REPLACE_IPV4_ADDRESS
|
||||
|
||||
|
||||
key rndc-key {
|
||||
algorithm hmac-md5;
|
||||
secret REPLACE_WITH_RNDC_KEY;
|
||||
}
|
||||
|
||||
zone REPLACE_DOMAIN {
|
||||
primary 127.0.0.1;
|
||||
key rndc-key;
|
||||
}
|
||||
|
||||
zone in-addr.arpa. {
|
||||
primary 127.0.0.1;
|
||||
key rndc-key;
|
||||
}
|
||||
|
||||
#option T150 code 150 = string;
|
||||
#option wpad-url code 252 = text;
|
||||
#option wpad-url "http://REPLACE_DOMAIN/wpad.dat ";
|
||||
|
||||
authoritative;
|
||||
ddns-ttl 3600;
|
||||
ddns-updates on;
|
||||
ddns-update-style interim;
|
||||
update-static-leases on;
|
||||
update-conflict-detection off;
|
||||
update-optimization on;
|
||||
use-host-decl-names on;
|
||||
ddns-domainname "REPLACE_DOMAIN";
|
||||
ddns-rev-domainname "in-addr.arpa.";
|
||||
allow client-updates;
|
||||
allow unknown-clients;
|
||||
allow booting ;
|
||||
allow bootp ;
|
||||
next-server REPLACE_IPV4_ADDRESS;
|
||||
filename "linux.0";
|
||||
max-lease-time 3600;
|
||||
default-lease-time 3600;
|
||||
dynamic-bootp-lease-length 3600;
|
||||
|
||||
subnet REPLACE_IPV4_SUBNET netmask REPLACE_IPV4_NETMASK {
|
||||
dynamic-bootp-lease-length 3600;
|
||||
option slp-directory-agent true REPLACE_IPV4_ADDRESS;
|
||||
option log-servers REPLACE_IPV4_ADDRESS;
|
||||
option time-servers REPLACE_IPV4_ADDRESS;
|
||||
allow client-updates;
|
||||
ddns-updates on;
|
||||
update-conflict-detection off;
|
||||
update-static-leases true;
|
||||
option routers REPLACE_IPV4_GATEWAY;
|
||||
option subnet-mask REPLACE_IPV4_NETMASK;
|
||||
option nis-domain "REPLACE_DOMAIN";
|
||||
option domain-name "REPLACE_DOMAIN";
|
||||
option domain-search "REPLACE_DOMAIN";
|
||||
option domain-name-servers REPLACE_IPV4_ADDRESS;
|
||||
option time-offset -18000;
|
||||
option ntp-servers REPLACE_IPV4_ADDRESS;
|
||||
option netbios-name-servers REPLACE_IPV4_ADDRESS;
|
||||
option netbios-node-type 8;
|
||||
range dynamic-bootp REPLACE_IPV4_ADDR_START REPLACE_IPV4_ADDR_END;
|
||||
default-lease-time 3600;
|
||||
max-lease-time 3600;
|
||||
authoritative;
|
||||
allow unknown-clients;
|
||||
allow booting;
|
||||
allow bootp;
|
||||
update-static-leases on;
|
||||
next-server REPLACE_IPV4_ADDRESS;
|
||||
filename "pxelinux.0";
|
||||
}
|
||||
|
||||
option architecture-type code 93 = unsigned integer 16;
|
||||
|
||||
class "pxeclients" {
|
||||
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
|
||||
|
||||
if option architecture-type = 0 {
|
||||
filename "pxelinux.0";
|
||||
} elsif option architecture-type = 9 {
|
||||
filename "syslinux64.efi";
|
||||
} elsif option architecture-type = 7 {
|
||||
filename "syslinux64.efi";
|
||||
} elsif option architecture-type = 6 {
|
||||
filename "syslinux32.efi";
|
||||
}
|
||||
}
|
||||
|
||||
## Begin Fixed Addresses ##
|
||||
#Servers REPLACE_IPV4_ADDRESS
|
||||
#################################################
|
||||
|
||||
# host ddns {
|
||||
# hardware ethernet 52:54:00:8f:c5:cb;
|
||||
# fixed-address REPLACE_IPV4_ADDRESS;
|
||||
# ddns-hostname monitor;
|
||||
# ddns-domainname "REPLACE_DOMAIN";
|
||||
# }
|
99
files/config/dhcp/dhcpd6.conf
Executable file
99
files/config/dhcp/dhcpd6.conf
Executable file
@ -0,0 +1,99 @@
|
||||
#Domain REPLACE_DOMAIN is dynamic DNS
|
||||
#
|
||||
#Servers REPLACE_IPV6_ADDR
|
||||
|
||||
key rndc-key {
|
||||
algorithm hmac-md5;
|
||||
secret REPLACE_WITH_RNDC_KEY;
|
||||
}
|
||||
|
||||
zone REPLACE_DOMAIN {
|
||||
primary 127.0.0.1;
|
||||
key rndc-key;
|
||||
}
|
||||
|
||||
zone ip6.arpa {
|
||||
primary 127.0.0.1;
|
||||
key rndc-key;
|
||||
}
|
||||
|
||||
#option T150 code 150 = string;
|
||||
#option wpad-url code 252 = text;
|
||||
#option wpad-url "http://REPLACE_DOMAIN/wpad.dat";
|
||||
|
||||
authoritative;
|
||||
ddns-ttl 3600;
|
||||
ddns-updates on;
|
||||
ddns-update-style interim;
|
||||
update-static-leases on;
|
||||
update-conflict-detection off;
|
||||
update-optimization on;
|
||||
use-host-decl-names on;
|
||||
ddns-domainname "REPLACE_DOMAIN";
|
||||
ddns-rev-domainname "ip6.arpa.";
|
||||
allow client-updates;
|
||||
allow unknown-clients;
|
||||
allow booting ;
|
||||
allow bootp ;
|
||||
option dhcp6.bootfile-url "tftp://[REPLACE_IPV6_ADDRESS]/linux.0";
|
||||
option dhcp6.bootfile-url code 59 = string ;
|
||||
max-lease-time 43200;
|
||||
default-lease-time 43200;
|
||||
dynamic-bootp-lease-length 43200;
|
||||
|
||||
subnet6 REPLACE_IPV6_SUBNET/REPLACE_IPV6_SUBNET {
|
||||
dynamic-bootp-lease-length 3600;
|
||||
allow client-updates;
|
||||
ddns-ttl 43200;
|
||||
ddns-updates on;
|
||||
ddns-update-style standard;
|
||||
update-static-leases on;
|
||||
update-static-leases true;
|
||||
update-conflict-detection off;
|
||||
update-optimization false;
|
||||
use-host-decl-names on;
|
||||
ddns-domainname "REPLACE_DOMAIN";
|
||||
ddns-rev-domainname "ip6.arpa";
|
||||
option subnet-mask IPV4_ADDR_NETMASK;
|
||||
option nis-domain "REPLACE_DOMAIN";
|
||||
option domain-name "REPLACE_DOMAIN";
|
||||
option dhcp6.name-servers REPLACE_IPV6_ADDRESS;
|
||||
option time-offset -18000;
|
||||
option netbios-node-type 8;
|
||||
option dhcp6.domain-search "REPLACE_DOMAIN";
|
||||
range6 REPLACE_IPV6_ADDR_START REPLACE_IPV6_ADDR_END;
|
||||
default-lease-time 43200;
|
||||
max-lease-time 43200;
|
||||
authoritative;
|
||||
allow unknown-clients;
|
||||
allow booting;
|
||||
allow bootp;
|
||||
option dhcp6.bootfile-url "tftp://[REPLACE_IPV6_ADDRESS]/linux.0";
|
||||
}
|
||||
|
||||
option architecture-type code 93 = unsigned integer 16;
|
||||
|
||||
class "pxeclients" {
|
||||
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
|
||||
|
||||
if option architecture-type = 0 {
|
||||
filename "pxelinux.0";
|
||||
} elsif option architecture-type = 9 {
|
||||
filename "syslinux64.efi";
|
||||
} elsif option architecture-type = 7 {
|
||||
filename "syslinux64.efi";
|
||||
} elsif option architecture-type = 6 {
|
||||
filename "syslinux32.efi";
|
||||
}
|
||||
}
|
||||
|
||||
## Begin Fixed Addresses ##
|
||||
#Servers REPLACE_IPV6_ADDRESS
|
||||
#################################################
|
||||
|
||||
# host ddns {
|
||||
# hardware ethernet 00:50:56:a1:87:a8;
|
||||
# fixed-address6 REPLACE_IPV6_ADDRESS;
|
||||
# ddns-hostname ddns;
|
||||
# ddns-domainname "REPLACE_DOMAIN";
|
||||
# }
|
38
files/config/named.conf
Normal file
38
files/config/named.conf
Normal file
@ -0,0 +1,38 @@
|
||||
#
|
||||
options {
|
||||
version "";
|
||||
directory "/var/named";
|
||||
pid-file "/var/run/named/named.pid";
|
||||
dump-file "/var/named/data/dump.db";
|
||||
memstatistics-file "/var/log/named/mem.stats";
|
||||
statistics-file "/var/log/named/named.stats";
|
||||
zone-statistics yes;
|
||||
max-cache-size 15m;
|
||||
interface-interval 60;
|
||||
lame-ttl 0;
|
||||
max-ncache-ttl 10800;
|
||||
recursion yes;
|
||||
allow-transfer { any; };
|
||||
allow-recursion { any; };
|
||||
allow-query { any; };
|
||||
transfer-format many-answers;
|
||||
listen-on { any; };
|
||||
listen-on-v6 { any; };
|
||||
notify yes;
|
||||
also-notify { };
|
||||
dnssec-validation auto;
|
||||
managed-keys-directory "/etc/named/keys/";
|
||||
|
||||
forwarders { 1.1.1.1; 8.8.8.8; 8.8.4.4; 9.9.9.9; };
|
||||
};
|
||||
|
||||
include "/etc/named/config/0000-logging.conf";
|
||||
include "/etc/named/config/0001-rndc.key";
|
||||
include "/etc/named/config/0001-rndc.conf";
|
||||
include "/etc/named/config/0002-acl.conf";
|
||||
|
||||
include "/etc/named/zones/000-hint.conf";
|
||||
include "/etc/named/zones/000-localhost.zone";
|
||||
include "/etc/named/zones/000-localdomain.zone";
|
||||
include "/etc/named/zones/001-ddns.zone";
|
||||
include "/etc/named/zones/000-tor.zone";
|
8
files/config/named/certbot-update.conf
Normal file
8
files/config/named/certbot-update.conf
Normal file
@ -0,0 +1,8 @@
|
||||
#Certbot DNS
|
||||
dns_rfc2136_server = 127.0.0.1
|
||||
# TSIG key name
|
||||
dns_rfc2136_name = certbot.
|
||||
# TSIG key secret
|
||||
dns_rfc2136_secret = REPLACE_WITH_RNDC_KEY
|
||||
# TSIG key algorithm
|
||||
dns_rfc2136_algorithm = HMAC-MD5
|
9
files/config/named/common/001-soa.inc
Normal file
9
files/config/named/common/001-soa.inc
Normal file
@ -0,0 +1,9 @@
|
||||
;default soa records
|
||||
$TTL 38400 ; 10 hours 40 minutes
|
||||
@ IN SOA dns dns-admin (
|
||||
2021040901 ; serial
|
||||
10800 ; refresh (3 hours)
|
||||
3600 ; retry (1 hour)
|
||||
1209600 ; expire (2 weeks)
|
||||
38400 ; minimum (10 hours 40 minutes)
|
||||
)
|
2
files/config/named/common/002-nameservers.inc
Normal file
2
files/config/named/common/002-nameservers.inc
Normal file
@ -0,0 +1,2 @@
|
||||
;default nameservers
|
||||
@ IN NS dns
|
8
files/config/named/common/003-dns.inc
Normal file
8
files/config/named/common/003-dns.inc
Normal file
@ -0,0 +1,8 @@
|
||||
;local dns
|
||||
dns IN A REPLACE_IPV4_ADDRESS
|
||||
dns IN AAAA REPLACE_IPV6_ADDRESS
|
||||
|
||||
default._domainkey IN TXT ( "v=DKIM1; k=rsa; "
|
||||
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDWQ16IV4OzWniRotqTNUvuwO5KknZMm5F5cOQl+Ch20Zm5D3RSL27AcjGE8DXIlkADDG3jFoXKOPilmCyf6ikqDX9PwBpeveY6ugaASMl6DHK4PSGZby6EmFuNu59kIpPJXac7Wwvy7Kd5mWVTZBxQt3ersDf8KRzL+Akr0IE7DwIDAQAB" ) ;
|
||||
*.default._domainkey IN TXT ( "v=DKIM1; k=rsa; "
|
||||
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDWQ16IV4OzWniRotqTNUvuwO5KknZMm5F5cOQl+Ch20Zm5D3RSL27AcjGE8DXIlkADDG3jFoXKOPilmCyf6ikqDX9PwBpeveY6ugaASMl6DHK4PSGZby6EmFuNu59kIpPJXac7Wwvy7Kd5mWVTZBxQt3ersDf8KRzL+Akr0IE7DwIDAQAB" ) ;
|
104
files/config/named/config/0000-logging.conf
Normal file
104
files/config/named/config/0000-logging.conf
Normal file
@ -0,0 +1,104 @@
|
||||
logging {
|
||||
# channel default {
|
||||
# file "/data/log/dns/default.log";
|
||||
# severity debug;
|
||||
# print-category yes;
|
||||
# print-severity yes;
|
||||
# print-time yes;
|
||||
# };
|
||||
# category lame-servers {
|
||||
# default;
|
||||
# };
|
||||
# category dispatch {
|
||||
# default;
|
||||
# };
|
||||
# category network {
|
||||
# default;
|
||||
# };
|
||||
# category unmatched {
|
||||
# default;
|
||||
# };
|
||||
# category client {
|
||||
# default;
|
||||
# };
|
||||
# category resolver {
|
||||
# default;
|
||||
# };
|
||||
# category config {
|
||||
# default;
|
||||
# };
|
||||
# category database {
|
||||
# default;
|
||||
# };
|
||||
# category general {
|
||||
# default;
|
||||
# };
|
||||
# category default {
|
||||
# default;
|
||||
# };
|
||||
|
||||
channel security {
|
||||
file "/data/log/dns/default.log";
|
||||
severity dynamic;
|
||||
print-severity yes;
|
||||
print-time yes;
|
||||
};
|
||||
category security {
|
||||
security;
|
||||
};
|
||||
category dnssec {
|
||||
security;
|
||||
};
|
||||
|
||||
channel xfer-in {
|
||||
file "/data/log/dns/default.log";
|
||||
severity info;
|
||||
print-category yes;
|
||||
print-severity yes;
|
||||
print-time yes;
|
||||
};
|
||||
category xfer-in {
|
||||
xfer-in;
|
||||
};
|
||||
channel xfer-out {
|
||||
file "/data/log/dns/default.log";
|
||||
severity info;
|
||||
print-category yes;
|
||||
print-severity yes;
|
||||
print-time yes;
|
||||
};
|
||||
category xfer-out {
|
||||
xfer-out;
|
||||
};
|
||||
|
||||
channel update {
|
||||
file "/data/log/dns/default.log";
|
||||
severity info;
|
||||
print-category yes;
|
||||
print-severity yes;
|
||||
print-time yes;
|
||||
};
|
||||
category update {
|
||||
update;
|
||||
};
|
||||
|
||||
channel notify {
|
||||
file "/data/log/dns/default.log";
|
||||
severity info;
|
||||
print-category yes;
|
||||
print-severity yes;
|
||||
print-time yes;
|
||||
};
|
||||
category notify {
|
||||
notify;
|
||||
};
|
||||
|
||||
channel querylog {
|
||||
file "/data/log/dns/default.log";
|
||||
severity info;
|
||||
print-time yes;
|
||||
};
|
||||
category queries {
|
||||
querylog;
|
||||
};
|
||||
};
|
3
files/config/named/config/0001-rndc.conf
Normal file
3
files/config/named/config/0001-rndc.conf
Normal file
@ -0,0 +1,3 @@
|
||||
controls {
|
||||
inet 127.0.0.1 allow { trusted; } keys { "rndc-key"; };
|
||||
};
|
4
files/config/named/config/0001-rndc.key
Normal file
4
files/config/named/config/0001-rndc.key
Normal file
@ -0,0 +1,4 @@
|
||||
key "rndc-key" {
|
||||
algorithm hmac-md5;
|
||||
secret "REPLACE_WITH_RNDC_KEY";
|
||||
};
|
10
files/config/named/config/0002-acl.conf
Normal file
10
files/config/named/config/0002-acl.conf
Normal file
@ -0,0 +1,10 @@
|
||||
acl "trusted" {
|
||||
127.0.0.0/8;
|
||||
10.0.0.0/8;
|
||||
172.0.0.0/12;
|
||||
192.168.0.0/16;
|
||||
::1/128;
|
||||
2001:db8:edfa:1234::/64;
|
||||
localhost;
|
||||
localnets;
|
||||
};
|
5
files/config/named/hosted/host.ddns.conf
Normal file
5
files/config/named/hosted/host.ddns.conf
Normal file
@ -0,0 +1,5 @@
|
||||
;host info
|
||||
@ HINFO "HP DL360" "CentOS"
|
||||
* HINFO "HP DL360" "CentOS"
|
||||
@ IN TXT "Hosted on REPLACE_DOMAIN"
|
||||
* IN TXT "Hosted on REPLACE_DOMAIN"
|
5
files/config/named/hosted/ip.ddns.conf
Normal file
5
files/config/named/hosted/ip.ddns.conf
Normal file
@ -0,0 +1,5 @@
|
||||
;default server
|
||||
@ IN A REPLACE_IPV4_ADDRESS
|
||||
* IN A REPLACE_IPV4_ADDRESS
|
||||
@ IN AAAA REPLACE_IPV6_ADDRESS
|
||||
* IN AAAA REPLACE_IPV6_ADDRESS
|
33
files/config/named/keys/managed-keys.bind
Normal file
33
files/config/named/keys/managed-keys.bind
Normal file
@ -0,0 +1,33 @@
|
||||
$ORIGIN .
|
||||
$TTL 0 ; 0 seconds
|
||||
@ IN SOA . . (
|
||||
1930 ; serial
|
||||
0 ; refresh (0 seconds)
|
||||
0 ; retry (0 seconds)
|
||||
0 ; expire (0 seconds)
|
||||
0 ; minimum (0 seconds)
|
||||
)
|
||||
KEYDATA 20201227202202 20180303084353 19700101000000 257 3 8 (
|
||||
AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQ
|
||||
bSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh
|
||||
/RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWA
|
||||
JQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXp
|
||||
oY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3
|
||||
LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGO
|
||||
Yl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGc
|
||||
LmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=
|
||||
) ; KSK; alg = RSASHA256; key id = 19036
|
||||
; next refresh: Sun, 27 Dec 2020 20:22:02 GMT
|
||||
; trusted since: Sat, 03 Mar 2018 08:43:53 GMT
|
||||
KEYDATA 20201227202202 20180303084353 19700101000000 257 3 8 (
|
||||
AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTO
|
||||
iW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN
|
||||
7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5
|
||||
LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8
|
||||
efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7
|
||||
pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLY
|
||||
A4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws
|
||||
9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
|
||||
) ; KSK; alg = RSASHA256; key id = 20326
|
||||
; next refresh: Sun, 27 Dec 2020 20:22:02 GMT
|
||||
; trusted since: Sat, 03 Mar 2018 08:43:53 GMT
|
4
files/config/named/zones/000-hint.conf
Normal file
4
files/config/named/zones/000-hint.conf
Normal file
@ -0,0 +1,4 @@
|
||||
zone "." in {
|
||||
type hint;
|
||||
file "data/hint";
|
||||
};
|
6
files/config/named/zones/000-localdomain.zone
Normal file
6
files/config/named/zones/000-localdomain.zone
Normal file
@ -0,0 +1,6 @@
|
||||
zone "local" {
|
||||
type master;
|
||||
file "data/localdomain.conf";
|
||||
allow-update { trusted; };
|
||||
allow-transfer { trusted; };
|
||||
};
|
14
files/config/named/zones/000-localhost.zone
Normal file
14
files/config/named/zones/000-localhost.zone
Normal file
@ -0,0 +1,14 @@
|
||||
zone "localhost" {
|
||||
type master;
|
||||
file "data/localhost.zone";
|
||||
};
|
||||
|
||||
zone "0.0.127.in-addr.arpa" {
|
||||
type master;
|
||||
file "data/localhost4.rev";
|
||||
};
|
||||
|
||||
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
|
||||
type master;
|
||||
file "data/localhost6.rev";
|
||||
};
|
10
files/config/named/zones/000-tor.zone
Normal file
10
files/config/named/zones/000-tor.zone
Normal file
@ -0,0 +1,10 @@
|
||||
zone "onion" {
|
||||
type forward;
|
||||
forward only;
|
||||
forwarders { 127.0.0.1 port 8053; };
|
||||
};
|
||||
zone "exit" {
|
||||
type forward;
|
||||
forward only;
|
||||
forwarders { 127.0.0.1 port 8053; };
|
||||
};
|
21
files/config/named/zones/001-ddns.zone
Normal file
21
files/config/named/zones/001-ddns.zone
Normal file
@ -0,0 +1,21 @@
|
||||
zone "REPLACE_DOMAIN" {
|
||||
type master;
|
||||
file "dynamic/ddns.zone";
|
||||
allow-update { trusted; };
|
||||
allow-transfer { trusted; };
|
||||
};
|
||||
|
||||
zone "in-addr.arpa" {
|
||||
type master;
|
||||
file "reverse/in-addr.arpa.rev";
|
||||
allow-update { trusted; };
|
||||
allow-transfer { trusted; };
|
||||
|
||||
};
|
||||
|
||||
zone "ip6.arpa" {
|
||||
type master;
|
||||
file "reverse/ip6.arpa.rev";
|
||||
allow-update { trusted; };
|
||||
allow-transfer { trusted; };
|
||||
};
|
10
files/config/radvd.conf
Normal file
10
files/config/radvd.conf
Normal file
@ -0,0 +1,10 @@
|
||||
# RADVD with DHCPd6 configuration
|
||||
# /etc/radvd.conf
|
||||
interface eth0 {
|
||||
AdvManagedFlag on;
|
||||
AdvSendAdvert on;
|
||||
# AdvAutonomous off;
|
||||
AdvOtherConfigFlag on;
|
||||
MinRtrAdvInterval 3;
|
||||
MaxRtrAdvInterval 60;
|
||||
};
|
49
files/config/tor/torrc
Normal file
49
files/config/tor/torrc
Normal file
@ -0,0 +1,49 @@
|
||||
## https://github.com/torproject/tor/blob/main/src/config/torrc.sample.in
|
||||
############### Configuration file for a typical Tor user
|
||||
ControlSocket /run/tor/control
|
||||
ControlSocketsGroupWritable 1
|
||||
CookieAuthentication 1
|
||||
CookieAuthFile /run/tor/control.authcookie
|
||||
CookieAuthFileGroupReadable 1
|
||||
SOCKSPort 9050
|
||||
SOCKSPolicy accept *
|
||||
RunAsDaemon 0
|
||||
DataDirectory /var/lib/tor
|
||||
ControlPort 9051
|
||||
Log notice stderr
|
||||
#HashedControlPassword 16:kfhkajdsfhkjadhfiuhfhdjcahsf
|
||||
|
||||
############### dnsforwarder
|
||||
DNSPort 8053
|
||||
AutomapHostsOnResolve 1
|
||||
AutomapHostsSuffixes .exit,.onion
|
||||
|
||||
############### This section is just for location-hidden services ###
|
||||
#HiddenServiceDir /data/tor/hidden/default
|
||||
#HiddenServicePort 22 127.0.0.2:22
|
||||
|
||||
################ This section is just for relays #####################
|
||||
#ORPort 9001
|
||||
#ORPort 443 NoListen
|
||||
#ORPort 127.0.0.1:9090 NoAdvertise
|
||||
#Address noname.example.com
|
||||
# OutboundBindAddress 10.0.0.5
|
||||
#Nickname ididnteditheconfig
|
||||
#RelayBandwidthRate 100 KBytes # Throttle traffic to 100KB/s (800Kbps)
|
||||
#RelayBandwidthBurst 200 KBytes # But allow bursts up to 200KB (1600Kb)
|
||||
#AccountingMax 40 GBytes
|
||||
#AccountingStart day 00:00
|
||||
#AccountingStart month 3 15:00
|
||||
#ContactInfo Random Person <nobody AT example dot com>
|
||||
#DirPort 9030 # what port to advertise for directory connections
|
||||
#DirPort 80 NoListen
|
||||
#DirPort 127.0.0.1:9091 NoAdvertise
|
||||
#DirPortFrontPage /etc/tor/tor-exit-notice.html
|
||||
#MyFamily $keyid,$keyid,...
|
||||
#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports on IPv4 and IPv6 but no more
|
||||
#ExitPolicy accept *:119 # accept nntp ports on IPv4 and IPv6 as well as default exit policy
|
||||
#ExitPolicy accept *4:119 # accept nntp ports on IPv4 only as well as default exit policy
|
||||
#ExitPolicy accept6 *6:119 # accept nntp ports on IPv6 only as well as default exit policy
|
||||
#ExitPolicy reject *:* # no exits allowed
|
||||
#BridgeRelay 1
|
||||
#PublishServerDescriptor 0
|
77
files/data/named/data/hint
Normal file
77
files/data/named/data/hint
Normal file
@ -0,0 +1,77 @@
|
||||
;
|
||||
. 3600000 NS A.ROOT-SERVERS.NET.
|
||||
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
|
||||
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30
|
||||
;
|
||||
; FORMERLY NS1.ISI.EDU
|
||||
;
|
||||
. 3600000 NS B.ROOT-SERVERS.NET.
|
||||
B.ROOT-SERVERS.NET. 3600000 A 199.9.14.201
|
||||
B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:200::b
|
||||
;
|
||||
; FORMERLY C.PSI.NET
|
||||
;
|
||||
. 3600000 NS C.ROOT-SERVERS.NET.
|
||||
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
|
||||
C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c
|
||||
;
|
||||
; FORMERLY TERP.UMD.EDU
|
||||
;
|
||||
. 3600000 NS D.ROOT-SERVERS.NET.
|
||||
D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13
|
||||
D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d
|
||||
;
|
||||
; FORMERLY NS.NASA.GOV
|
||||
;
|
||||
. 3600000 NS E.ROOT-SERVERS.NET.
|
||||
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
|
||||
E.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:a8::e
|
||||
;
|
||||
; FORMERLY NS.ISC.ORG
|
||||
;
|
||||
. 3600000 NS F.ROOT-SERVERS.NET.
|
||||
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
|
||||
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f
|
||||
;
|
||||
; FORMERLY NS.NIC.DDN.MIL
|
||||
;
|
||||
. 3600000 NS G.ROOT-SERVERS.NET.
|
||||
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
|
||||
G.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:12::d0d
|
||||
;
|
||||
; FORMERLY AOS.ARL.ARMY.MIL
|
||||
;
|
||||
. 3600000 NS H.ROOT-SERVERS.NET.
|
||||
H.ROOT-SERVERS.NET. 3600000 A 198.97.190.53
|
||||
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::53
|
||||
;
|
||||
; FORMERLY NIC.NORDU.NET
|
||||
;
|
||||
. 3600000 NS I.ROOT-SERVERS.NET.
|
||||
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
|
||||
I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53
|
||||
;
|
||||
; OPERATED BY VERISIGN, INC.
|
||||
;
|
||||
. 3600000 NS J.ROOT-SERVERS.NET.
|
||||
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
|
||||
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:30
|
||||
;
|
||||
; OPERATED BY RIPE NCC
|
||||
;
|
||||
. 3600000 NS K.ROOT-SERVERS.NET.
|
||||
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
|
||||
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1
|
||||
;
|
||||
; OPERATED BY ICANN
|
||||
;
|
||||
. 3600000 NS L.ROOT-SERVERS.NET.
|
||||
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
|
||||
L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:9f::42
|
||||
;
|
||||
; OPERATED BY WIDE
|
||||
;
|
||||
. 3600000 NS M.ROOT-SERVERS.NET.
|
||||
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
|
||||
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35
|
||||
; End of file
|
13
files/data/named/data/localdomain.conf
Normal file
13
files/data/named/data/localdomain.conf
Normal file
@ -0,0 +1,13 @@
|
||||
; Default zone
|
||||
$ORIGIN local.
|
||||
$TTL 38400
|
||||
; ***********CHANGE THESE TO MATCH PROVIDER***************
|
||||
$INCLUDE /etc/named/hosted/host.ddns.conf
|
||||
$INCLUDE /etc/named/hosted/ip.ddns.conf
|
||||
; **********Common Files**********
|
||||
$INCLUDE /etc/named/common/001-soa.inc
|
||||
$INCLUDE /etc/named/common/002-nameservers.inc
|
||||
$INCLUDE /etc/named/common/003-dns.inc
|
||||
|
||||
$INCLUDE /var/named/dynamic/inc/static.ipv4.ddns.zone
|
||||
$INCLUDE /var/named/dynamic/inc/static.ipv6.ddns.zone
|
11
files/data/named/data/localhost.zone
Normal file
11
files/data/named/data/localhost.zone
Normal file
@ -0,0 +1,11 @@
|
||||
$ttl 38400
|
||||
localhost. IN SOA localhost. admin.localhost. (
|
||||
2018020901 10800 3600 1209600 38400
|
||||
)
|
||||
|
||||
localhost. IN NS localhost.
|
||||
localhost. IN A 127.0.0.1
|
||||
localhost. IN AAAA ::1
|
||||
localhost. IN MX 0 localhost.
|
||||
localhost. IN TXT "v=spf1 a mx ptr all"
|
||||
localhost. IN SPF "v=spf1 a mx ptr all"
|
7
files/data/named/data/localhost4.rev
Normal file
7
files/data/named/data/localhost4.rev
Normal file
@ -0,0 +1,7 @@
|
||||
$ttl 38400
|
||||
0.0.127.in-addr.arpa. IN SOA 127.0.0.1. admin.localhost. (
|
||||
2018020901 10800 3600 1209600 38400
|
||||
)
|
||||
|
||||
0.0.127.in-addr.arpa. IN NS localhost.
|
||||
1.0.0.127.in-addr.arpa. IN PTR localhost.
|
7
files/data/named/data/localhost6.rev
Normal file
7
files/data/named/data/localhost6.rev
Normal file
@ -0,0 +1,7 @@
|
||||
$ttl 38400
|
||||
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. IN SOA 127.0.0.1. admin.localhost. (
|
||||
2018020901 10800 3600 1209600 38400
|
||||
)
|
||||
|
||||
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. IN NS localhost.
|
||||
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. IN PTR localhost.
|
23
files/data/named/dynamic/ddns.zone
Normal file
23
files/data/named/dynamic/ddns.zone
Normal file
@ -0,0 +1,23 @@
|
||||
; REPLACE_DOMAIN
|
||||
$ORIGIN REPLACE_DOMAIN.
|
||||
$TTL 38400 ; 10 hours 40 minutes
|
||||
@ IN SOA dns.REPLACE_DOMAIN. dns-admin.REPLACE_DOMAIN. (
|
||||
2020083021 ; serial
|
||||
10800 ; refresh (3 hours)
|
||||
3600 ; retry (1 hour)
|
||||
1209600 ; expire (2 weeks)
|
||||
38400 ; minimum (10 hours 40 minutes)
|
||||
)
|
||||
|
||||
; **********Common Files**********
|
||||
$INCLUDE /etc/named/common/002-nameservers.inc
|
||||
$INCLUDE /etc/named/common/003-dns.inc
|
||||
|
||||
; ***********CHANGE THESE TO MATCH PROVIDER***************
|
||||
$INCLUDE /etc/named/hosted/host.ddns.conf
|
||||
$INCLUDE /etc/named/hosted/ip.ddns.conf
|
||||
|
||||
; **********Address Files**********
|
||||
$INCLUDE /var/named/dynamic/inc/static.ipv4.ddns.zone
|
||||
$INCLUDE /var/named/dynamic/inc/static.ipv6.ddns.zone
|
||||
$INCLUDE /var/named/dynamic/inc/cnames.ddns.zone
|
7
files/data/named/dynamic/inc/cnames.ddns.zone
Normal file
7
files/data/named/dynamic/inc/cnames.ddns.zone
Normal file
@ -0,0 +1,7 @@
|
||||
; cname mappings
|
||||
smtp CNAME mail
|
||||
pop3 CNAME mail
|
||||
imap CNAME mail
|
||||
|
||||
@ MX 1 mail
|
||||
* MX 1 mail
|
14
files/data/named/dynamic/inc/static.ipv4.arpa.rev
Normal file
14
files/data/named/dynamic/inc/static.ipv4.arpa.rev
Normal file
@ -0,0 +1,14 @@
|
||||
; static ipv4 reverse mappings
|
||||
$ORIGIN .
|
||||
$TTL 38400 ; 10 hours 40 minutes
|
||||
in-addr.arpa IN SOA dns.REPLACE_DOMAIN. admin.REPLACE_DOMAIN. (
|
||||
2018013087 ; serial
|
||||
10800 ; refresh (3 hours)
|
||||
3600 ; retry (1 hour)
|
||||
1209600 ; expire (2 weeks)
|
||||
38400 ; minimum (10 hours 40 minutes)
|
||||
)
|
||||
NS dns1.REPLACE_DOMAIN.
|
||||
NS dns2.REPLACE_DOMAIN.
|
||||
|
||||
$ORIGIN in-addr.arpa.
|
5
files/data/named/dynamic/inc/static.ipv4.ddns.zone
Normal file
5
files/data/named/dynamic/inc/static.ipv4.ddns.zone
Normal file
@ -0,0 +1,5 @@
|
||||
; static ipv4 mappings
|
||||
localhost A 127.0.0.1
|
||||
gateway A 192.168.1.254
|
||||
|
||||
* A REPLACE_IPV4_ADDRESS
|
1
files/data/named/dynamic/inc/static.ipv6.arpa.rev
Normal file
1
files/data/named/dynamic/inc/static.ipv6.arpa.rev
Normal file
@ -0,0 +1 @@
|
||||
; static ipv6 reverse mappings
|
1
files/data/named/dynamic/inc/static.ipv6.ddns.zone
Normal file
1
files/data/named/dynamic/inc/static.ipv6.ddns.zone
Normal file
@ -0,0 +1 @@
|
||||
; static ipv6 mappings
|
12
files/data/named/dynamic/inc/static.sso.ddns.zone
Normal file
12
files/data/named/dynamic/inc/static.sso.ddns.zone
Normal file
@ -0,0 +1,12 @@
|
||||
; static srv mappings
|
||||
; _kerberos-master._tcp.REPLACE_DOMAIN. 86400 IN SRV 0 100 88 sso.REPLACE_DOMAIN.
|
||||
; _kerberos-master._udp.REPLACE_DOMAIN. 86400 IN SRV 0 100 88 sso.REPLACE_DOMAIN.
|
||||
; _kerberos._tcp.REPLACE_DOMAIN. 86400 IN SRV 0 100 88 sso.REPLACE_DOMAIN.
|
||||
; _kerberos._udp.REPLACE_DOMAIN. 86400 IN SRV 0 100 88 sso.REPLACE_DOMAIN.
|
||||
; _kerberos.REPLACE_DOMAIN. 86400 IN TXT "REPLACE_DOMAIN"
|
||||
; _kpasswd._tcp.REPLACE_DOMAIN. 86400 IN SRV 0 100 464 sso.REPLACE_DOMAIN.
|
||||
; _kpasswd._udp.REPLACE_DOMAIN. 86400 IN SRV 0 100 464 sso.REPLACE_DOMAIN.
|
||||
; _ldap._tcp.REPLACE_DOMAIN. 86400 IN SRV 0 100 389 sso.REPLACE_DOMAIN.
|
||||
; _ntp._udp.REPLACE_DOMAIN. 86400 IN SRV 0 100 123 sso.REPLACE_DOMAIN.
|
||||
; ipa-ca.REPLACE_DOMAIN. 86400 IN A REPLACE_IPV4_ADDRESS
|
||||
; ipa-ca.REPLACE_DOMAIN. 86400 IN AAAA 2001:db8:edfa:1234:5678::ff1f
|
0
files/data/named/master/.gitkeep
Normal file
0
files/data/named/master/.gitkeep
Normal file
12
files/data/named/reverse/in-addr.arpa.rev
Normal file
12
files/data/named/reverse/in-addr.arpa.rev
Normal file
@ -0,0 +1,12 @@
|
||||
$ORIGIN .
|
||||
$TTL 38400 ; 10 hours 40 minutes
|
||||
in-addr.arpa IN SOA dns.REPLACE_DOMAIN. admin.REPLACE_DOMAIN. (
|
||||
2018013087 ; serial
|
||||
10800 ; refresh (3 hours)
|
||||
3600 ; retry (1 hour)
|
||||
1209600 ; expire (2 weeks)
|
||||
38400 ; minimum (10 hours 40 minutes)
|
||||
)
|
||||
NS dns.REPLACE_DOMAIN.
|
||||
|
||||
$INCLUDE /var/named/dynamic/inc/static.ipv4.arpa.rev
|
13
files/data/named/reverse/ip6.arpa.rev
Normal file
13
files/data/named/reverse/ip6.arpa.rev
Normal file
@ -0,0 +1,13 @@
|
||||
$ORIGIN .
|
||||
$TTL 38400 ; 10 hours 40 minutes
|
||||
ip6.arpa. IN SOA dns.REPLACE_DOMAIN. admin.REPLACE_DOMAIN. (
|
||||
2018013087 ; serial
|
||||
10800 ; refresh (3 hours)
|
||||
3600 ; retry (1 hour)
|
||||
1209600 ; expire (2 weeks)
|
||||
38400 ; minimum (10 hours 40 minutes)
|
||||
)
|
||||
NS dns.REPLACE_DOMAIN.
|
||||
|
||||
$ORIGIN ip6.arpa.
|
||||
$INCLUDE /var/named/dynamic/inc/static.ipv6.arpa.rev
|
1
files/data/named/slaves/.gitkeep
Normal file
1
files/data/named/slaves/.gitkeep
Normal file
@ -0,0 +1 @@
|
||||
|
0
files/data/web/css/.gitkeep
Normal file
0
files/data/web/css/.gitkeep
Normal file
0
files/data/web/images/.gitkeep
Normal file
0
files/data/web/images/.gitkeep
Normal file
139
files/data/web/index.php
Normal file
139
files/data/web/index.php
Normal file
@ -0,0 +1,139 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset='utf-8'>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="Keywords" content="Casjay, CasjaysDev, Jason M. Hempstead, Website, About Me">
|
||||
<meta name="Description" content="Created By Casjays Developments">
|
||||
<meta name="generator" content="CasjaysDev">
|
||||
<link rel="shortcut icon" href="https://static.casjay.net/favicon.ico" />
|
||||
|
||||
<link rel="stylesheet" href="https://static.casjay.net/default-css/github-ribbon.css" />
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootswatch/4.5.0/darkly/bootstrap.min.css" integrity="sha384-Bo21yfmmZuXwcN/9vKrA5jPUMhr7znVBBeLxT9MA4r2BchhusfJ6+n8TLGUcRAtL" crossorigin="anonymous">
|
||||
<link rel="stylesheet" type="text/css" href="https:///static.casjay.net/default-css/casjaysdev.css">
|
||||
<script src="htps://static.casjay.net/default-js/errorpages/isup.js"></script>
|
||||
<script src="https://static.casjay.net/default-js/errorpages/homepage.js"></script>
|
||||
<script src="https://static.casjay.net/default-js/errorpages/loaddomain.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@widgetbot/crate@3" async defer></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" async defer></script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" async defer></script>
|
||||
|
||||
<!-- Begin Main Site -->
|
||||
<title>Dynamic DNS Server</title>
|
||||
|
||||
</head>
|
||||
|
||||
<!-- Begin Body -->
|
||||
|
||||
<body>
|
||||
<!-- Begin Main Body -->
|
||||
<div class="container pt-3">
|
||||
<h1>Welcome</h1>
|
||||
Your dynamic dns server has been setup<br />
|
||||
Your config files can be found in the /config directory.<br />
|
||||
Your data files can be found in the /data directory.<br />
|
||||
Your web files can be found in the /data/web directory.<br />
|
||||
and your log files can be found in /data/logs<br />
|
||||
</div>
|
||||
|
||||
<!-- End Main End Body -->
|
||||
|
||||
<br />
|
||||
<!-- Begin Footer -->
|
||||
<div class="footer footer-custom col-sm-12" align="center">
|
||||
<br>
|
||||
<!-- Begin Casjays Developments Footer -->
|
||||
Copyright 1999 - 2021
|
||||
<br />
|
||||
<a href="https://casjay.net" target="_blank">Casjays Developments</a> and <a href="https://jason.malaks.us" target="_blank">Jason M. Hempstead-Malak</a><br />
|
||||
Hosting by <a href="https://casjay.net/hosting" target="_blank">Casjays Developments: Hosting</a><br />
|
||||
and powered by <a href="https://casjaysdev.com" target="_blank">CasjaysDev.com</a>
|
||||
<br />
|
||||
<br />
|
||||
<a href="https://www.patreon.com/casjay" target="_blank"><img src="https://img.shields.io/badge/patreon-donate-orange.svg" border="0" alt="Casjays Patreon Page"></a>
|
||||
<a href="https://www.paypal.me/casjaysdev" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-green.svg?casjay@yahoo.com" alt="Casjays Paypal Page"></a>
|
||||
<br />
|
||||
<br />
|
||||
<a href="https://help.casjay.net" target="_blank">CasjaysDev Support</a> |
|
||||
<a href="https://bugs.casjay.net" target="_blank">CasjaysDev Bugs</a> <br />
|
||||
<a href="https://status.casjay.net" target="_blank">System Status</a> |
|
||||
<a href="https://servers.casjay.net" target="_blank">Service Status</a> |
|
||||
<a href="https://status.casjaysdev.com" target="_blank">Complete Status</a> <br />
|
||||
<a href="https://casjaysdev.com/domains.html" target="_blank">Casjays Developments Domains</a>
|
||||
<br />
|
||||
<br />
|
||||
Casjays Developments privacy policy can be found at<br />
|
||||
<a href="https://casjaysdev.com/policy/" target="_blank">https://casjaysdev.com/policy</a>
|
||||
<br />
|
||||
<!-- End Casjays Developments Footer -->
|
||||
|
||||
<!-- Begin theme Code -->
|
||||
<div class="text-center" style="color: royalblue;">
|
||||
<br />
|
||||
Made with 💜💜💜💜💜💜 by <br />
|
||||
<a href="http://github.com/casjay" target="_blank" rel="noopener">Jason M. Hempstead (Casjay)</a>
|
||||
<br />
|
||||
This site is powered by an <a href="https://github.com/casjay-templates" target="_blank">open source</a> theme
|
||||
</div>
|
||||
<br />
|
||||
<!-- End theme Code -->
|
||||
|
||||
<!-- Begin last updated -->
|
||||
<span style="color: skyblue;">Last update on: 11/12/2021</span>
|
||||
<!-- End last updated -->
|
||||
|
||||
<!-- Begin Google Track -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-936146-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-936146-1');
|
||||
</script>
|
||||
<!-- Eng Google Track -->
|
||||
<br />
|
||||
<!-- Begin EU compliant -->
|
||||
<div align="center">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css" />
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
|
||||
<script>
|
||||
window.addEventListener("load", function() {
|
||||
window.cookieconsent.initialise({
|
||||
"palette": {
|
||||
"popup": {
|
||||
"background": "#64386b",
|
||||
"text": "#ffcdfd"
|
||||
},
|
||||
"button": {
|
||||
"background": "transparent",
|
||||
"text": "#f8a8ff",
|
||||
"border": "#f8a8ff"
|
||||
}
|
||||
},
|
||||
"content": {
|
||||
"message": "In accordance with the EU GDPR law this message is being displayed. - ",
|
||||
"dismiss": "I Agree",
|
||||
"link": "CasjaysDev Policy",
|
||||
"href": "https://casjaysdev.com/policy/"
|
||||
},
|
||||
"type": "opt-out"
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<br />
|
||||
<!-- End EU compliant -->
|
||||
<br /> <br />
|
||||
<!-- End Footer -->
|
||||
|
||||
<!-- End Body -->
|
||||
</body>
|
||||
<!-- End Site -->
|
||||
|
||||
</html>
|
0
files/data/web/js/.gitkeep
Normal file
0
files/data/web/js/.gitkeep
Normal file
Loading…
x
Reference in New Issue
Block a user