shadowsock 是如何获取网页或者应用程序对互联网的请求的
例如 shadowsock 的 sslocal 监听 127.0.0.1 的 1080 端口,浏览网页的时候并不会将数据发往此端口 那么 sslocal 是如何接受到这个数据 并发往 sserver 的呢
大致研究了下 SS 好像并没有发现这方面的代码
求大佬们指点迷津
1
helloccav 2017-02-21 18:16:52 +08:00
浏览器经过设置后,会主动将数据发往 127.0.0.1:1080
|
2
b821025551b 2017-02-21 18:22:17 +08:00 1
|
3
sheldor 2017-02-21 18:22:29 +08:00
浏览网页的时候为什么不会把数据发往那个端口? ss 客户端启动之后直接修改了系统的代理配置
|
4
paradoxs 2017-02-21 18:34:45 +08:00 via iPhone
把数据发到 ss 指定端口是系统的功能
|
5
dongoo 2017-02-21 18:43:26 +08:00 via Android
就是,系统代理被修改了。一般软件都会使用系统代理设置。
如果使用 Firefox 就不会自动发送了, Firefox 自带代理设置 |
8
zealerzxx OP @b821025551b 嗯对的 一开启这边就设置了
|
12
gwind 2017-02-21 23:14:07 +08:00
没有用过 ss, 没有研究过 ss 代码,以下是个人经验:
原理应该都是一样的,使用代理是操作系统 /软件(如 firefox,chrome)的支持行为,通常 firefox, chrome 都支持 socks , http 类型代理。另外,大多数软件也支持使用系统设置的一个全局的代理服务器。 ss 一类代理软件做的事情,只需把系统 /软件的代理服务器配置好即可。 另外,如 openvpn 一类的不是这样,它是通过修改系统的网卡配置,增加一个虚拟路由实现的“代理”。本质是虚拟局域网,并不是传统代理的概念 |