fw876 / helloworld

GNU General Public License v3.0
3.53k stars 2.62k forks source link

SSRP使用“绕过中国大陆IP模式”时,访问控制-不走代理的域名不受控制 #833

Closed Peterzhangnoise closed 1 year ago

Peterzhangnoise commented 2 years ago

我填写了.speedtest.net以及.bilibili.com,流量还是会通过ssr出去

minlang112 commented 2 years ago

嗯,最近版本有这个现象,群晖的DDNS相关域名写进去无效

Peterzhangnoise commented 2 years ago

就在刚才,百度都不受控制了,直接从代理出去了

game1016350768 commented 2 years ago

我今天开使用绕过大陆IP和gfw模式访问国内网站有显示不全或是无法访问的问题 但进外网就没事 必须使用全局模式才能访问国内的网站 不知道是什么问题 关闭SSRp也一样 估计是软路由哪里设置代理的问题 但找一天了没找到.......

xiaojing110 commented 2 years ago

同样的问题 不管哪个模式都经过代理

Peterzhangnoise commented 2 years ago

没人解决了吗?

kennir commented 2 years ago

有同样的问题, 如果让MosDns作为DNS服务器,直连列表无效 如果走默认的dnsmasq,直连列表有效果

不知道是否可以做到mosdns下也有效果

small-white-rabbit commented 1 year ago

同样的问题,想修改gfwlist或者chinalist 好像也不能直接修改,有点烦

zeke2024 commented 1 year ago

cat /usr/share/shadowsocksr/gfw2ipset.sh

有问题的同学执行这个命令看下脚本内容

lucky-beans commented 1 year ago

!/bin/sh

. $IPKG_INSTROOT/etc/init.d/shadowsocksr netflix() { if [ -f "$TMP_DNSMASQ_PATH/gfw_list.conf" ]; then for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done fi cat /etc/ssrplus/netflix.list | sed '/^$/d' | sed '/#/d' | sed "/./s/./server=\/&\/127.0.0.1#$1\nipset=\/&\/netflix/" >$TMP_DNSMASQ_PATH/netflix_forward.conf } mkdir -p $TMP_DNSMASQ_PATH if [ "$(uci_get_by_type global run_mode router)" == "oversea" ]; then cp -rf /etc/ssrplus/oversea_list.conf $TMP_DNSMASQ_PATH/ else cp -rf /etc/ssrplus/gfw_list.conf $TMP_DNSMASQ_PATH/ cp -rf /etc/ssrplus/gfw_base.conf $TMP_DNSMASQ_PATH/ fi case "$(uci_get_by_type global netflix_server nil)" in nil) rm -f $TMP_DNSMASQ_PATH/netflix_forward.conf ;; $(uci_get_by_type global global_server nil) | $switch_server | same) netflix $dns_port ;; ) netflix $tmp_shunt_dns_port ;; esac for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done cat /etc/ssrplus/black.list | sed '/^$/d' | sed '/#/d' | sed "/./s/./server=\/&\/127.0.0.1#$dns_port\nipset=\/&\/blacklist/" >$TMP_DNSMASQ_PATH/blacklist_forward.conf cat /etc/ssrplus/white.list | sed '/^$/d' | sed '/#/d' | sed "/./s/./server=\/&\/127.0.0.1\nipset=\/&\/whitelist/" >$TMP_DNSMASQ_PATH/whitelist_forward.conf cat /etc/ssrplus/deny.list | sed '/^$/d' | sed '/#/d' | sed "/./s/.*/address=\/&\//" >$TMP_DNSMASQ_PATH/denylist.conf if [ "$(uci_get_by_type global adblock 0)" == "1" ]; then cp -f /etc/ssrplus/ad.conf $TMP_DNSMASQ_PATH/ if [ -f "$TMP_DNSMASQ_PATH/ad.conf" ]; then for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done fi else rm -f $TMP_DNSMASQ_PATH/ad.conf fi prc

zeke2024 commented 1 year ago

!/bin/sh . $IPKG_INSTROOT/etc/init.d/shadowsocksr netflix() { if [ -f "$TMP_DNSMASQ_PATH/gfw_list.conf" ]; then for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfwbase.conf; done fi cat /etc/ssrplus/netflix.list | sed '/^$/d' | sed '/#/d' | sed "/./s/._/server=/&/127.0.0.1#$1\nipset=/&/netflix/" >$TMP_DNSMASQ_PATH/netflix_forward.conf } mkdir -p $TMP_DNSMASQ_PATH if [ "$(uci_get_by_type global run_mode router)" == "oversea" ]; then cp -rf /etc/ssrplus/oversea_list.conf $TMP_DNSMASQ_PATH/ else cp -rf /etc/ssrplus/gfw_list.conf $TMP_DNSMASQ_PATH/ cp -rf /etc/ssrplus/gfw_base.conf $TMP_DNSMASQ_PATH/ fi case "$(uci_get_by_type global netflix_server nil)" in nil) rm -f $TMP_DNSMASQ_PATH/netflix_forward.conf ;; $(uci_get_by_type global global_server nil) | $switch_server | same) netflix $dnsport ;; ) netflix $tmp_shunt_dns_port ;; esac for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_base.conf; done for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfw_list.conf; done for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/gfwbase.conf; done cat /etc/ssrplus/black.list | sed '/^$/d' | sed '/#/d' | sed "/./s/._/server=/&/127.0.0.1#$dns_port\nipset=/&/blacklist/" >$TMP_DNSMASQ_PATH/blacklistforward.conf cat /etc/ssrplus/white.list | sed '/^$/d' | sed '/#/d' | sed "/./s/._/server=/&/127.0.0.1\nipset=/&/whitelist/" >$TMP_DNSMASQ_PATH/whitelistforward.conf cat /etc/ssrplus/deny.list | sed '/^$/d' | sed '/#/d' | sed "/./s/.*/address=/&//" >$TMP_DNSMASQ_PATH/denylist.conf if [ "$(uci_get_by_type global adblock 0)" == "1" ]; then cp -f /etc/ssrplus/ad.conf $TMP_DNSMASQ_PATH/ if [ -f "$TMP_DNSMASQ_PATH/ad.conf" ]; then for line in $(cat /etc/ssrplus/black.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done for line in $(cat /etc/ssrplus/white.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done for line in $(cat /etc/ssrplus/deny.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done for line in $(cat /etc/ssrplus/netflix.list); do sed -i "/$line/d" $TMP_DNSMASQ_PATH/ad.conf; done fi else rm -f $TMP_DNSMASQ_PATH/ad.conf fi prc

可能是我的固件版本太老了,和你的代码完全不也一样了。。。

可以找到对应的脚本加上这两行代码

awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"whitelist"'\n",$0)}' /etc/ssr/white.list >>/tmp/dnsmasq.ssr/whitelist_forward.conf awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"whitelist"'\n",$0)}' /etc/ssr/white.list >>/tmp/dnsmasq.ssr/whitelist_forward.conf

bangenlanbai commented 1 year ago

在我的机器上 Xiaomi Redmi Router AX6S 测试结果是: GFW:不走代理的域名 有效, 强制走代理的域名 : 无效 绕过中国大陆IP模式: 不走代理的域名:无效, 强制走代理的域名: 有效 请问这正常吗

Peterzhangnoise commented 1 year ago

不搞了,换passwall了,速度慢点就慢点吧