🦈🏠🐜 Initial Commit 🐜🦈🏠

This commit is contained in:
Jason 2022-02-14 16:44:26 -05:00
commit b8b670b11b
No known key found for this signature in database
GPG Key ID: 4F765975C1F0EE5F
46 changed files with 1250 additions and 0 deletions

19
.gitignore vendored Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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";

View 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

View 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)
)

View File

@ -0,0 +1,2 @@
;default nameservers
@ IN NS dns

View 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" ) ;

View 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;
};
};

View File

@ -0,0 +1,3 @@
controls {
inet 127.0.0.1 allow { trusted; } keys { "rndc-key"; };
};

View File

@ -0,0 +1,4 @@
key "rndc-key" {
algorithm hmac-md5;
secret "REPLACE_WITH_RNDC_KEY";
};

View 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;
};

View 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"

View 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

View 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

View File

@ -0,0 +1,4 @@
zone "." in {
type hint;
file "data/hint";
};

View File

@ -0,0 +1,6 @@
zone "local" {
type master;
file "data/localdomain.conf";
allow-update { trusted; };
allow-transfer { trusted; };
};

View 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";
};

View 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; };
};

View 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
View 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
View 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

View 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

View 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

View 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"

View 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.

View 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.

View 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

View File

@ -0,0 +1,7 @@
; cname mappings
smtp CNAME mail
pop3 CNAME mail
imap CNAME mail
@ MX 1 mail
* MX 1 mail

View 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.

View File

@ -0,0 +1,5 @@
; static ipv4 mappings
localhost A 127.0.0.1
gateway A 192.168.1.254
* A REPLACE_IPV4_ADDRESS

View File

@ -0,0 +1 @@
; static ipv6 reverse mappings

View File

@ -0,0 +1 @@
; static ipv6 mappings

View 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

View File

View 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

View 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

View File

@ -0,0 +1 @@

View File

View File

139
files/data/web/index.php Normal file
View 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>

View File