Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mac使用Proxifier报错 #91

Closed
xieqing0428 opened this issue May 14, 2019 · 39 comments
Closed

mac使用Proxifier报错 #91

xieqing0428 opened this issue May 14, 2019 · 39 comments

Comments

@xieqing0428
Copy link

你好 我在服务器上部署使用node app.js -p 65535,在mac本地使用Proxifier配置HTTP IP:65535,NeteaseMusic,输出控制台报错,服务器安全组65535端口已打开

[05.14 15:51:30] ss-local - music.163.com:443 error : Could not connect to music.163.com:443 - connection attempt failed with error 61
@xieqing0428 xieqing0428 changed the title mac使用Proxifier无法使用 mac使用Proxifier报错 May 14, 2019
@nondanee
Copy link
Owner

可是跟 ss-local 有什么关系呢?

@xieqing0428
Copy link
Author

xieqing0428 commented May 14, 2019

可是跟 ss-local 有什么关系呢?

[05.14 21:18:57] com.apple.WebKit.Networking - music.163.com:443 error : Could not connect to music.163.com:443 - connection attempt failed with error 61

主要问题不是这个443嘛…而且我周的歌还是灰色呀

@nondanee
Copy link
Owner

就是这样的,443 会被拒绝,README 里写了降级的原理
README 还写了 726 以上不能降级

@xieqing0428
Copy link
Author

就是这样的,443 会被拒绝,README 里写了降级的原理
README 还写了 726 以上不能降级

唔,那自签证书是我在mac本地生成完后上传到服务器相应地址是吗,那ce那个文件我双击打开钥匙串后好像没反应呀

@nondanee
Copy link
Owner

#48

  1. 装 CA 证书,lanchpad 里找钥匙串,进去手动信任
  2. 开启 https 监听 -p 65535:xxxxx 第二个端口号随便选

其它配置不变

@xieqing0428
Copy link
Author

好的已经配置成功了,但现在还有个小问题…唔,只能在系统-》代理里面填写pac,我用Proxifier写的http 127.0.0.1:65535 NeteaseMusic没法实现……

@nondanee
Copy link
Owner

@xieqing0428
127.0.0.1:65535 type 改成 https 试试
65535 是 http 端口,我翻了下 proxifer 的说明
它的 https 是指这个

HTTPS — HTTP proxy with SSL support for arbitrary ports.
Technical documentation can be found at: http://www.ietf.org/rfc/rfc2817.txt
HTTP proxy with SSL tunnel support is also known as:

  • CONNECT proxy
  • SSL proxy

https://www.proxifier.com/docs/mac-v2/ProxifierMacV2.pdf
跟一般的理解不一样

@xieqing0428
Copy link
Author

@xieqing0428
127.0.0.1:65535 type 改成 https 试试
65535 是 http 端口,我翻了下 proxifer 的说明
它的 https 是指这个

HTTPS — HTTP proxy with SSL support for arbitrary ports.
Technical documentation can be found at: http://www.ietf.org/rfc/rfc2817.txt
HTTP proxy with SSL tunnel support is also known as:

  • CONNECT proxy
  • SSL proxy

proxifier.com/docs/mac-v2/ProxifierMacV2.pdf
跟一般的理解不一样

还是不可以,只能放一些非限制资源

@xieqing0428
Copy link
Author

image
image
image

@nondanee
Copy link
Owner

麻烦提供一下 unblock server 的 log
有没有 看到 MITM > xxx (ssl) ?

@xieqing0428
Copy link
Author

麻烦提供一下 unblock server 的 log
有没有 看到 MITM > xxx (ssl) ?

╭─alessa0@shuangzixing ❤ /Users/alessa0  ‹master*›
╰─TIME:[23:46:06] > $ /Users/alessa0/.nvm/versions/node/v11.14.0/bin/node /Users/alessa0/Public/UnblockNeteaseMusic/app.js -p 65535:65534
HTTP Server running @ http://0.0.0.0:65535
HTTPS Server running @ https://0.0.0.0:65534
TUNNEL > 45.127.128.25:80
TUNNEL > 58.221.28.166:443
TUNNEL > localhost:65534
TUNNEL > 58.218.206.224:80
MITM > music.163.com (ssl)
TUNNEL > localhost:65534
MITM > music.163.com (ssl)
TUNNEL > 58.223.166.254:443
TUNNEL > 58.218.206.224:80

@nondanee
Copy link
Owner

那应该没问题啊,你搜索一下 jay 看看,是不是因为歌单有缓存?

@xieqing0428
Copy link
Author

唔我明天试一下 不过应该不会是这个问题,设置pac的时候只要来回切就好了

@xieqing0428
Copy link
Author

那应该没问题啊,你搜索一下 jay 看看,是不是因为歌单有缓存?

试了一下还是不行> <

@xieqing0428
Copy link
Author

xieqing0428 commented May 15, 2019

SSR-ACL模式:
SSR-ACL模式
SSR-PAC模式:
image
不知道和这个有没有关系……
ss-local是系统守护进程我没法关闭

@nondanee
Copy link
Owner

@xieqing0428
感觉没关系
可能是 Proxifier 实现的问题
从 proxifer 来的请求全都是 IP 请求,理论上目前桌面端应该还不会有 IP 直连
应该是 Proxifier 做了一次域名到 IP 的转换?
部分请求的 IP 不在 hook 列表里面,直接 tunnel 了
现在 hook 检查的是请求的 url 前缀,或许改成检查请求的 headers['host'] 可以正常拦截

不过我自己这边 Proxifier 是可以正常使用的,版本是 700

@xieqing0428
Copy link
Author

@xieqing0428
感觉没关系
可能是 Proxifier 实现的问题
从 proxifer 来的请求全都是 IP 请求,理论上目前桌面端应该还不会有 IP 直连
应该是 Proxifier 做了一次域名到 IP 的转换?
部分请求的 IP 不在 hook 列表里面,直接 tunnel 了
现在 hook 检查的是请求的 url 前缀,或许改成检查请求的 headers['host'] 可以正常拦截

不过我自己这边 Proxifier 是可以正常使用的,版本是 700

唔好纠结T T 试了下700在PAC能用,但是ACL还是不行,主要700红色栏太抢眼了

@nondanee
Copy link
Owner

ACL 又是啥==

@xieqing0428
Copy link
Author

xieqing0428 commented May 15, 2019

ACL 又是啥==

梯子的一种模式 和PAC很像…相当于有白名单的系统全局代理吧

@nondanee
Copy link
Owner

那白名单的规则也是指定应用代理?

@nondanee
Copy link
Owner

加了检查 headers.host,麻烦试一下

@xieqing0428
Copy link
Author

emmm刚到家不好意思哈 明天一早我试试

@nondanee
Copy link
Owner

石锤 proxifier 默认做了 dns
你把 dns 设置改成 resolve hostnames through proxy 试试

屏幕快照 2019-05-16 03 17 40

@xieqing0428
Copy link
Author

石锤 proxifier 默认做了 dns
你把 dns 设置改成 resolve hostnames through proxy 试试

屏幕快照 2019-05-16 03 17 40

我代码也改了,然而……
image

@nondanee
Copy link
Owner

把 server 的 log 贴一下啊
现在显示的应该是 hostname 了
直接被 tunnel 掉的应该很明显吧

@xieqing0428
Copy link
Author

把 server 的 log 贴一下啊
现在显示的应该是 hostname 了
直接被 tunnel 掉的应该很明显吧

HTTP Server running @ http://0.0.0.0:65535
HTTPS Server running @ https://0.0.0.0:65534
TUNNEL > 127.0.0.1:1087
TUNNEL > localhost:65534
MITM > music.163.com (ssl)
TUNNEL > p3.music.126.net:443
TUNNEL > m7c.music.126.net:80
TUNNEL > localhost:65534
MITM > music.163.com (ssl)
TUNNEL > p4.music.126.net:443
TUNNEL > m8.music.126.net:80
TUNNEL > localhost:65534
MITM > music.163.com (ssl)
TUNNEL > m7.music.126.net:80

@nondanee
Copy link
Owner

挺正常的,没问题啊😯
proxifier 的日志也没问题啊😥

@xieqing0428
Copy link
Author

挺正常的,没问题啊😯
proxifier 的日志也没问题啊😥

image
就很奇怪…而且我ss关了也一样

@nondanee
Copy link
Owner

你现在是在本地跑的吧?
客户端 730?
用 proxifier 的 https proxy?

是这样吧?
有没有配别的?

@xieqing0428
Copy link
Author

你现在是在本地跑的吧?
客户端 730?
用 proxifier 的 https proxy?

是这样吧?
有没有配别的?

image
还有个Gmail的,客户端730,Proxifier 2.23 本地跑

@nondanee
Copy link
Owner

那你看一下系统代理设置里面有没有钩,都先去掉吧,proxifier 不走系统代理

@xieqing0428
Copy link
Author

那你看一下系统代理设置里面有没有钩,都先去掉吧,proxifier 不走系统代理

还是一样😥

@nondanee
Copy link
Owner

nondanee commented May 16, 2019

装了虚拟机试了下
我这边情况更奇怪了
除了 dns resolve hostname through proxy,其他默认设置下我这边除了第一个请求过了代理,其他都没过
Screen Shot 2019-05-16 at 13 24 55
必须再钩上 handle direct connections 才会显示其他 log
application 显示为 com.apple.WebKit.Networking
Screen Shot 2019-05-16 at 13 35 20
rule 里直接加上这个 com.apple.WebKit.Networking 就能拦截到了,但加上这个可能也会代理其他应用
Screen Shot 2019-05-16 at 13 41 14
应该是网易云改了实现,和 proxifier 的 application filter 不兼容,我没法解决,不再跟进这个 issue
我试了系统代理没有问题,所以请换用使用系统代理实现的 host/ip-rule-based proxy agent 比如 clashx 之类的
虚拟机太卡了...

proxifier 官网下的 v2.23
网易云 2.0.0(730)
macOS mojave 10.14 (18A391)

@xieqing0428
Copy link
Author

好的 可能以后升级了自己就解决了……

@xieqing0428
Copy link
Author

装了虚拟机试了下
我这边情况更奇怪了
除了 dns resolve hostname through proxy,其他默认设置下我这边除了第一个请求过了代理,其他都没过
Screen Shot 2019-05-16 at 13 24 55
必须再钩上 handle direct connections 才会显示其他 log
application 显示为 com.apple.WebKit.Networking
Screen Shot 2019-05-16 at 13 35 20
rule 里直接加上这个 com.apple.WebKit.Networking 就能拦截到了,但加上这个可能也会代理其他应用
Screen Shot 2019-05-16 at 13 41 14
应该是网易云改了实现,和 proxifier 不兼容,我没法解决,不再跟进这个 issue
我试了系统代理没有问题,所以请换用使用系统代理实现的 proxy agent 比如 clashx 之类的
虚拟机太卡了...

proxifier 官网下的 v2.23
网易云 2.0.0(730)
macOS mojave 10.14 (18A391)

唔那问下web.push.126.net,music.163.com之类的host都有哪些呀,我把它们都加入com.apple.WebKit.Networking的target hosts里面

@nondanee
Copy link
Owner

nondanee commented May 19, 2019

@xieqing0428
抱歉没看到你的回复

应该是这些

hook.target.host = [
'music.163.com',
'interface.music.163.com',
'interface3.music.163.com',
'apm.music.163.com',
'apm3.music.163.com',
'mam.netease.com',
'api.iplay.163.com'
// 'crash.163.com',
// 'clientlog.music.163.com'
]

macOS 客户端应该只会用到前两个?

@xieqing0428
Copy link
Author

@xieqing0428
抱歉没看到你的回复

应该是这些

hook.target.host = [
'music.163.com',
'interface.music.163.com',
'interface3.music.163.com',
'apm.music.163.com',
'apm3.music.163.com',
'mam.netease.com',
'api.iplay.163.com'
// 'crash.163.com',
// 'clientlog.music.163.com'
]

macOS 客户端应该只会用到前两个?

好嘞 谢谢啦

lizeyan pushed a commit to lizeyan/UnblockNeteaseMusic that referenced this issue Sep 10, 2019
@laggardkernel
Copy link

laggardkernel commented Oct 31, 2019

网易云音乐macOS客户端调用了Webkit内核,对应进程名为 com.apple.WebKit.Networking只对进程名 NeteaseMusic 无效。 只针对进程名好像也有效。

        <Rule enabled="true">
            <Name>Unblock Netease Music</Name>
            <Applications>
                NeteaseMusic;
                com.apple.WebKit.Networking;
            </Applications>
            <Targets>
                *.music.163.com; 
                *.interface.music.163.com; 
                *.interface3.music.163.com; 
                *.apm.music.163.com; 
                *.apm3.music.163.com; 
                *.mam.netease.com; 
                *.api.iplay.163.com;
            </Targets>
            <Action type="Proxy">100</Action>
        </Rule>

其实把Applications部分拿掉,只使用域名匹配更好。

@finalxcode
Copy link

装了虚拟机试了下
我这边情况更奇怪了
除了 dns resolve hostname through proxy,其他默认设置下我这边除了第一个请求过了代理,其他都没过
Screen Shot 2019-05-16 at 13 24 55
必须再钩上 handle direct connections 才会显示其他 log
application 显示为 com.apple.WebKit.Networking
Screen Shot 2019-05-16 at 13 35 20
rule 里直接加上这个 com.apple.WebKit.Networking 就能拦截到了,但加上这个可能也会代理其他应用
Screen Shot 2019-05-16 at 13 41 14
应该是网易云改了实现,和 proxifier 不兼容,我没法解决,不再跟进这个 issue
我试了系统代理没有问题,所以请换用使用系统代理实现的 proxy agent 比如 clashx 之类的
虚拟机太卡了...
proxifier 官网下的 v2.23
网易云 2.0.0(730)
macOS mojave 10.14 (18A391)

唔那问下web.push.126.net,music.163.com之类的host都有哪些呀,我把它们都加入com.apple.WebKit.Networking的target hosts里面

谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants