diff --git a/generate-pac.sh b/generate-pac.sh index 75fcb48..4654bef 100755 --- a/generate-pac.sh +++ b/generate-pac.sh @@ -68,7 +68,7 @@ echo " if (domains.length < 10) return \"DIRECT\"; // list is broken var shost; if (/\.(ru|co|cu|com|info|net|org|gov|edu|int|mil|biz|pp|ne|msk|spb|nnov|od|in|ho|cc|dn|i|tut|v|dp|sl|ddns|dyndns|livejournal|herokuapp|azurewebsites|cloudfront|ucoz|3dn|nov|linode|amazonaws|sl-reverse|kiev|beget|kirov|akadns|scaleway|fastly|hldns|appspot|my1|hwcdn|deviantart|wixmp|netdna-ssl|brightcove|berlogovo|edgecastcdn|trafficmanager|iwara|pximg|github|hopto|u-stream)\.[^.]+$/.test(host)) - shost = host; + shost = host.replace(/(.+)\.([^.]+\.[^.]+\.[^.]+$)/, \"\$2\"); else shost = host.replace(/(.+)\.([^.]+\.[^.]+$)/, \"\$2\"); diff --git a/scripts/getzones.awk b/scripts/getzones.awk index b705a27..c0b506d 100644 --- a/scripts/getzones.awk +++ b/scripts/getzones.awk @@ -17,7 +17,9 @@ {sub(/\.$/, "", $1)} { - if (!(/\.(ru|co|cu|com|info|net|org|gov|edu|int|mil|biz|pp|ne|msk|spb|nnov|od|in|ho|cc|dn|i|tut|v|dp|sl|ddns|dyndns|livejournal|herokuapp|azurewebsites|cloudfront|ucoz|3dn|nov|linode|amazonaws|sl-reverse|kiev|beget|kirov|akadns|scaleway|fastly|hldns|appspot|my1|hwcdn|deviantart|wixmp|netdna-ssl|brightcove|berlogovo|edgecastcdn|trafficmanager|iwara|pximg|github|hopto|u-stream)\.[^.]+$/)) + if (/\.(ru|co|cu|com|info|net|org|gov|edu|int|mil|biz|pp|ne|msk|spb|nnov|od|in|ho|cc|dn|i|tut|v|dp|sl|ddns|dyndns|livejournal|herokuapp|azurewebsites|cloudfront|ucoz|3dn|nov|linode|amazonaws|sl-reverse|kiev|beget|kirov|akadns|scaleway|fastly|hldns|appspot|my1|hwcdn|deviantart|wixmp|netdna-ssl|brightcove|berlogovo|edgecastcdn|trafficmanager|iwara|pximg|github|hopto|u-stream)\.[^.]+$/) + {$1 = gensub(/(.+)\.([^.]+\.[^.]+\.[^.]+$)/, "\\2", 1)} + else {$1 = gensub(/(.+)\.([^.]+\.[^.]+$)/, "\\2", 1)} }