之前对代理一直半懂不懂,对于如何设置代理软件,一直玩不太明白
今天看了些文档,感觉代理的主要功能就是消息转发。
我按照个人的理解画了个图,大家帮我看看,我的理解有偏差吗?
1
kop1989smurf 2023-03-27 17:49:25 +08:00 1
中间还差了一个拦截的过程。
严格意义上讲,开了代理软件以后,所有的 http 请求都会走代理,只不过有的被分配到 direct ,有的被分配到走节点( PAC/规则模式)。 |
2
kop1989smurf 2023-03-27 17:50:04 +08:00
勘误:“开了代理软件以后” => “打开了代理软件的系统代理模式以后”
|
3
cnuser002 2023-03-27 18:12:57 +08:00
没毛病啊。
|
4
NoOneNoBody 2023-03-27 18:57:30 +08:00 1
没太大毛病
如果只是“玩”(用),也没必要理解得太透彻,搞清每个步骤的进|出协议就够了,中间怎么换就交给软件完成 就如穿几件衣服,不穿别人能直接看到皮肉,穿哪一件在最外面,看到的就是那件的样子 这几件衣服码号是相同或相近的,因为你的身体尺寸摆在那,但具体每一件,拿尺子量还是不同的,因为外套总要考虑里面有其他衣服的厚度 如果几个工具,一个端口接另一个,就是串联,如果没有接起来,就是并联或者独立 你可以在 socket 和 browser 之间再加一个,做其他工作,例如拦截某些域名不发送或者不接收,当防火墙用也行 |
5
leafin 2023-03-27 19:06:42 +08:00 1
socks5 协议是浏览器到代理客户端的协议,客户端到服务器的协议是各种自定义的代理协议
|
6
josexy 2023-03-28 01:02:11 +08:00 via Android 1
一般来说 socks5 客户端和服务端均在本地实现,因为 socks5 是明文传输的。
以 shadowsock 为例,一般分为 ss-local 和 ss-server ,具体的请求流程是:本地浏览器 /用户程序 -> 本地 ss-local(实现 socks 服务器,监听来自 socks 客户端的请求,当然也可以监听 http 请求) --(走 shadowsock 协议)--> ss-server -> 目标服务器(比如 Google ) |
7
sillydaddy 2023-03-28 09:39:46 +08:00
对,就是转发。如果关注隐私的话,还要稍微深入了解一下,比如如果 proxy server 被黑客登录了,那么黑客能不能拿到你的访问记录,或者换个说法,如果你用了别人的机场,他能否看到你的浏览记录。
|
8
Hccake 2023-03-28 17:01:59 +08:00
1. 本机的代理工具,以下简称 client, 一般同时支持 http 代理和 socks5 代理,所以浏览器到 client 之间可以是 http 协议也可以是 socks5 协议,取决于你的配置。
2. client 和 proxy server 之间可以使用各种自定义协议,如 ss 、trojan 等,几乎不会使用 socks5 ,因为 socks5 是明文协议,特征明显,分分钟被 ban. 全流程就是:浏览器将流量发送到 proxy client ,client 接收流量后根据对应的代理协议对原始流量进行包装,并转发到 proxy server, proxy server 接收到数据后再其解包获得原始流量,转发到最终目标地址。 |
9
yezheyu OP @Hccake @kop1989smurf @NoOneNoBody @josephxrays @sillydaddy 首先谢谢大家!
所以,如果浏览器到 proxy client 之间如果使用的 socks5 ,是谁把原本用户使用浏览器发出的 http 请求转换成 socks5 呢? 是 switchyomega 这个插件吗?那这个 switchyomega 实际上也是扮演着一个微型的代理角色是吗? 而在代理软件上,一般我们也可以进行流量的访问控制,所以我们可以把 PAC 写在 switchyomega ,也可以写在 shadowsocks 上对吗? 游戏加速器也是类似这种架构吗? 加速器软件代理游戏发出的 UDP 请求,通过自己的专线发给国外的代理服务器,再交给游戏服务器。收到数据后再原路返回 |
10
Hccake 2023-03-28 21:24:43 +08:00
switchyomega 插件应该只是管理浏览器的代理行为,控制浏览器要不要走代理,走哪个代理,具体的流量请求行为应该是 chrome 内核处理的,所以浏览器才是所谓的 socks5 client 。
proxy client 是个中转服务,肩负多重角色,对于浏览器来说,它是 socks5 server, 对于代理服务器来说,它是代理客户端。 switchyomega 和 proxy client 都可以实现流量的转发控制。 游戏加速器基本流量转发流程一致,主要是多了一个针对指定游戏的流量处理。 |