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