Compare commits

...

5 Commits

Author SHA1 Message Date
Markus Palm
1fd1bbd41e
Merge a036429193 into 67535f7b9f 2025-05-07 17:28:58 -03:00
James Kinsman
67535f7b9f
Merge pull request #257 from zsabit/patch-1
Added new fastly cdn dns epicgames.txt
2025-05-07 08:18:09 +01:00
Sabit Zubair
e288a34308
Added new fastly cdn dns epicgames.txt
Recently found epicgames using new cache domain to download content from Fastly CDN then looked for the IP and domain then found the committed domain.

[egdownload.fastly-edge.com] 103.14.145.249 / - - - [13/Jan/2025:03:43:56 +0600] "GET /Builds/Org/o-dhz7kpvrvqngzdpnx5vn3jrljj53ca/68d2cc08f9a94b8fb51af4f5cfa6d41b/default/ChunksV4/54/A22AC07FF687FF79_8BE04A9545854CE8C1BF05851D60D52D.chunk HTTP/1.1" 200 1048642 "-" "EpicGamesLauncher/17.2.1-38570976+++Portal+Release-Live Windows/10.0.26100.1.256.64bit" "MISS" "egdownload.fastly-edge.com" "-"
2025-01-13 03:50:45 +06:00
MarkusPalm
a036429193
updated README.md with FortiOS 2024-10-29 13:46:57 +01:00
MarkusPalm
a5e7ed8be7
add FortiOS script 2024-10-29 13:46:08 +01:00
3 changed files with 81 additions and 1 deletions

View File

@ -11,3 +11,4 @@ download4.epicgames.com
epicgames-download1.akamaized.net
fastly-download.epicgames.com
cloudflare.epicgamescdn.com
egdownload.fastly-edge.com

View File

@ -10,6 +10,7 @@ configuration which can be utilised with:
* Dnsmasq/Pi-hole
* Squid
* Unbound
* FortiOS
## Usage
@ -37,7 +38,7 @@ The following example assumes a single shared Cacheserver IP:
}
```
3. Run generation script relative to your DNS implementation: `bash create-dnsmasq.sh`.
4. If `combined_output` is set to `true` this will result in a single output file: `lancache.conf` with all your enabled services (applies to Adguard Home, Dnsmasq or Unbound).
4. If `combined_output` is set to `true` this will result in a single output file: `lancache.conf` with all your enabled services (applies to Adguard Home, Dnsmasq, Unbound or FortiOS).
5. Copy files from `output/{adguardhome,dnsmasq,rpz,squid,unbound}/*` to the respective locations for Dnsmasq/Unbound.
6. Restart the appropriate service.

78
scripts/create-fortios.sh Normal file
View File

@ -0,0 +1,78 @@
#!/bin/bash
basedir=".."
outputdir="output/fortios"
path="${basedir}/cache_domains.json"
export IFS=' '
test=$(which jq);
if [ $? -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"
combinedoutput=$(jq -r ".combined_output" config.json)
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}
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
destfilename=$(echo ${filename} | sed -e 's/txt/conf/')
outputfile=${outputdir}/${destfilename}
touch ${outputfile}
tab=" "
echo "config system dns-database" >> ${outputfile}
while read fileentry; do
# Ignore comments and newlines
if [[ ${fileentry} == \#* ]] || [[ -z ${fileentry} ]]; then
continue
fi
parsed=$(echo ${fileentry} | sed -e "s/^\*\.//")
echo -e "${tab}edit \"${parsed}\"\n${tab}${tab}set domain \"${parsed}\"\n${tab}${tab}set authoritative disable\n${tab}${tab}config dns-entry" >> ${outputfile}
j=1
for i in ${cacheip}; do
echo -e "${tab}${tab}${tab}edit ${j}\n${tab}${tab}${tab}${tab}set hostname \"@\"\n${tab}${tab}${tab}${tab}set ip ${i}\n${tab}${tab}${tab}next" >> ${outputfile}
j=$((j+1))
done
echo -e "${tab}${tab}end\n${tab}next" >> ${outputfile}
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})
echo "end" >> ${outputfile}
done <<< $(jq -r '.cache_domains | to_entries[] | .key' ${path})
if [[ ${combinedoutput} == "true" ]]; then
for file in ${outputdir}/*; do f=${file//${outputdir}\/} && f=${f//.conf} && echo -e "# ${f}" >> ${outputdir}/lancache.conf && cat ${file} >> ${outputdir}/lancache.conf && rm ${file}; done
fi
cat << EOF
Configuration generation completed.
Please paste the contents of the following files:
- ./${outputdir}/*.conf to the FortiOS CLI
- Paste the configuration of each service or utilise the combined output for a single list
EOF