diff --git a/arenanet.txt b/arenanet.txt index 19132a1..9943b21 100644 --- a/arenanet.txt +++ b/arenanet.txt @@ -1,4 +1,3 @@ assetcdn.101.arenanetworks.com assetcdn.102.arenanetworks.com assetcdn.103.arenanetworks.com -live.patcher.bladeandsoul.com diff --git a/blizzard.txt b/blizzard.txt index 7d85419..4093330 100644 --- a/blizzard.txt +++ b/blizzard.txt @@ -1,12 +1,9 @@ dist.blizzard.com dist.blizzard.com.edgesuite.net -llnw.blizzard.com -edgecast.blizzard.com blizzard.vo.llnwd.net blzddist1-a.akamaihd.net blzddist2-a.akamaihd.net blzddist3-a.akamaihd.net -blzddist4-a.akamaihd.net level3.blizzard.com nydus.battle.net edge.blizzard.top.comcast.net diff --git a/cache_domains.json b/cache_domains.json index 3f2ca63..c9b6709 100644 --- a/cache_domains.json +++ b/cache_domains.json @@ -35,11 +35,6 @@ "description": "CDN for frontier games", "domain_files": ["frontier.txt"] }, - { - "name": "hirez", - "description": "CDN for hirez", - "domain_files": ["hirez.txt"] - }, { "name": "nexusmods", "description": "Nexus mods / skyrim content", diff --git a/hirez.txt b/hirez.txt deleted file mode 100644 index c127b57..0000000 --- a/hirez.txt +++ /dev/null @@ -1 +0,0 @@ -hirez.http.internapcdn.net diff --git a/nintendo.txt b/nintendo.txt index 7bc0a29..eee7b01 100644 --- a/nintendo.txt +++ b/nintendo.txt @@ -1,4 +1,3 @@ -ccs.cdn.wup.shop.nintendo.com ccs.cdn.wup.shop.nintendo.net ccs.cdn.wup.shop.nintendo.net.edgesuite.net geisha-wup.cdn.nintendo.net diff --git a/renegadex.txt b/renegadex.txt index 37cd6ad..a4ef41d 100644 --- a/renegadex.txt +++ b/renegadex.txt @@ -1,16 +1,17 @@ -rxmirror.ctgamehosts.uk -eu-ger.hetzner.ctgamehosts.uk +us-chi2.cncirc.net +us-lv2.cncirc.net us-nj.shockhosting.ctgamehosts.uk us-va.ovh.ctgamehosts.uk -mirror.us.tyrant.gg -mirror.usa.tyrant.gg rxp-de1.ts3-server.ch -rxp-lax2.cncfps.com -apac-sg.nexusbytes.ren-x.com +us-la.cncfps.com +us-lv.buyvm.ren-x.com +us-ny.buyvm.ren-x.com +eu-lux.buyvm.ren-x.com apac-tyo.nexusbytes.ren-x.com -eu-uk.nexusbytes.ren-x.com +apac-sg.nexusbytes.ren-x.com eu-nl.nexusbytes.ren-x.com +eu-uk.nexusbytes.ren-x.com us-mia.buyvm.ren-x.com -us-lv.buyvm.renegade-x.com -us-ny.buyvm.renegade-x.com -eu-lux.buyvm.renegade-x.com +us-phx.speedy.ren-x.com +us-dal.boomerhost.ren-x.com +us-chi.racknerd.ren-x.com diff --git a/scripts/create-rpz.sh b/scripts/create-rpz.sh new file mode 100755 index 0000000..95cc457 --- /dev/null +++ b/scripts/create-rpz.sh @@ -0,0 +1,114 @@ +#!/bin/bash +basedir=".." +outputdir="output/rpz" +path="${basedir}/cache_domains.json" +basedomain=${1:-lancache.net} + +export IFS=' ' + +test=$(which jq); +out=$? +if [ $out -gt 0 ] ; then + echo "This script requires jq to be installed." + echo "Your package manager should be able to find it" + exit 1 +fi + +cachenamedefault="disabled" + +while read line; do + ip=$(jq ".ips[\"${line}\"]" config.json) + declare "cacheip$line"="$ip" +done <<< $(jq -r '.ips | to_entries[] | .key' config.json) + +while read line; do + name=$(jq -r ".cache_domains[\"${line}\"]" config.json) + declare "cachename$line"="$name" +done <<< $(jq -r '.cache_domains | to_entries[] | .key' config.json) + +rm -rf ${outputdir} +mkdir -p ${outputdir} +outputfile=${outputdir}/db.rpz.$basedomain +cat > $outputfile << EOF +\$TTL 60 ; default TTL +\$ORIGIN rpz.$basedomain. +@ SOA ns1.$basedomain. admin.$basedomain. ( + $(date +%Y%m%d01) ; serial + 604800 ; refresh (1 week) + 600 ; retry (10 mins) + 600 ; expire (10 mins) + 600 ; minimum (10 mins) + ) + NS ns1.$basedomain. + NS ns2.$basedomain. + +EOF + +while read entry; do + unset cacheip + unset cachename + key=$(jq -r ".cache_domains[$entry].name" $path) + cachename="cachename${key}" + if [ -z "${!cachename}" ]; then + cachename="cachenamedefault" + fi + if [[ ${!cachename} == "disabled" ]]; then + continue; + fi + cacheipname="cacheip${!cachename}" + cacheip=$(jq -r 'if type == "array" then .[] else . end' <<< ${!cacheipname} | xargs) + while read fileid; do + while read filename; do + echo "" >> $outputfile + echo "; $(echo $filename | sed -e 's/.txt$//')" >> $outputfile + destfilename=$(echo $filename | sed -e 's/txt/conf/') + while read fileentry; do + # Ignore comments and newlines + if [[ $fileentry == \#* ]] || [[ -z $fileentry ]]; then + continue + fi + parsed=$(echo $fileentry) + if grep -qx "^\"${parsed}\". " $outputfile; then + continue + fi + t="" + for i in ${cacheip}; do + # only one cname per domain is allowed + if [[ ${t} = "CNAME" ]]; then + continue + fi + # for cnames you must use a fqdn with trailing dot + t="CNAME" + if [[ ${i} =~ ^[0-9\.]+$ ]] ; then + t="A" + elif [[ ! ${i} =~ \.$ ]] ; then + i="${i}." + fi + printf "%-50s IN %s %s\n" \ + "${parsed}" \ + "${t}" \ + "${i}" \ + >> $outputfile + done + done <<< $(cat ${basedir}/$filename | sort); + done <<< $(jq -r ".cache_domains[$entry].domain_files[$fileid]" $path) + done <<< $(jq -r ".cache_domains[$entry].domain_files | to_entries[] | .key" $path) +done <<< $(jq -r '.cache_domains | to_entries[] | .key' $path) + +cat << EOF +Configuration generation completed. + +Please include the rpz zone in your bind configuration" +- cp $outputfile /etc/bind +- configure the zone and use it + +options { + [...] + response-policy {zone "rpz.$basedomain";}; + [...] +} +zone "rpz.$basedomain" { + type master; + file "/etc/bind/db.rpz.$basedomain"; +}; +EOF diff --git a/sony.txt b/sony.txt index ae8ab77..3543eeb 100644 --- a/sony.txt +++ b/sony.txt @@ -1,6 +1,4 @@ gs2.ww.prod.dl.playstation.net -gs2.sonycoment.loris-e.llnwd.net -pls.patch.station.sony.com *.gs2.ww.prod.dl.playstation.net *.gs2.sonycoment.loris-e.llnwd.net gs2-ww-prod.psn.akadns.net diff --git a/wargaming.net.txt b/wargaming.net.txt index 3544bf8..795795c 100644 --- a/wargaming.net.txt +++ b/wargaming.net.txt @@ -1,19 +1,16 @@ -dl1.wargaming.net dl2.wargaming.net wg.gcdn.co -wgusst-na.wargaming.net -wgusst-eu.wargaming.net -update-v4r4h10x.worldofwarships.com wgus-wotasia.wargaming.net dl-wot-ak.wargaming.net dl-wot-gc.wargaming.net -dl-wot-se.wargaming.net +dl-wot-se.wargaming.net dl-wot-cdx.wargaming.net dl-wows-ak.wargaming.net dl-wows-gc.wargaming.net -dl-wows-se.wargaming.net +dl-wows-se.wargaming.net dl-wows-cdx.wargaming.net dl-wowp-ak.wargaming.net dl-wowp-gc.wargaming.net -dl-wowp-se.wargaming.net +dl-wowp-se.wargaming.net dl-wowp-cdx.wargaming.net +wgus-woteu.wargaming.net diff --git a/windowsupdates.txt b/windowsupdates.txt index 395b68d..059c96e 100644 --- a/windowsupdates.txt +++ b/windowsupdates.txt @@ -1,5 +1,4 @@ *.windowsupdate.com -windowsupdate.com *.dl.delivery.mp.microsoft.com dl.delivery.mp.microsoft.com *.update.microsoft.com diff --git a/xboxlive.txt b/xboxlive.txt index a0297c9..74fff2b 100644 --- a/xboxlive.txt +++ b/xboxlive.txt @@ -1,8 +1,5 @@ assets1.xboxlive.com assets2.xboxlive.com -xboxone.loris.llnwd.net -*.xboxone.loris.llnwd.net -xboxone.vo.llnwd.net xbox-mbr.xboxlive.com assets1.xboxlive.com.nsatc.net xvcf1.xboxlive.com