ssr-gfw 1.0 KB

123456789101112131415161718192021222324252627
  1. #!/bin/sh -e
  2. generate_china_banned() {
  3. cat $1 | base64 -d >/tmp/gfwlist.txt
  4. rm -f $1
  5. sed -i '/^@@|/d' /tmp/gfwlist.txt
  6. cat /tmp/gfwlist.txt | sort -u |
  7. sed 's#!.\+##; s#|##g; s#@##g; s#http:\/\/##; s#https:\/\/##;' |
  8. sed '/\*/d; /apple\.com/d; /sina\.cn/d; /sina\.com\.cn/d; /baidu\.com/d; /byr\.cn/d; /jlike\.com/d; /weibo\.com/d; /zhongsou\.com/d; /youdao\.com/d; /sogou\.com/d; /so\.com/d; /soso\.com/d; /aliyun\.com/d; /taobao\.com/d; /jd\.com/d; /qq\.com/d' |
  9. sed '/^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$/d' |
  10. grep '^[0-9a-zA-Z\.-]\+$' | grep '\.' | sed 's#^\.\+##' | sort -u |
  11. awk 'BEGIN { prev = "________"; } {
  12. cur = $0;
  13. if (index(cur, prev) == 1 && substr(cur, 1 + length(prev) ,1) == ".") {
  14. } else {
  15. print cur;
  16. prev = cur;
  17. }
  18. }' | sort -u
  19. rm -f /tmp/gfwlist.txt
  20. }
  21. if (grep -w 'google' /tmp/ssr-update.$1 >/dev/null) ;then
  22. cp -rf /tmp/ssr-update.$1 /tmp/gfw.txt
  23. else
  24. generate_china_banned /tmp/ssr-update.$1 >/tmp/gfw.txt
  25. fi
  26. sed '/.*/s/.*/server=\/&\/127.0.0.1#5335\nipset=\/&\/gfwlist/' /tmp/gfw.txt >/tmp/ssr-update.$1
  27. rm -f /tmp/gfw.txt