为什么这么多软件要内置 proxy 的设置项?
互联网资源分享 · 互联网资源分享 · 于 07-18 05:21发布 · 111 次阅读
发现 mac 版的 spotify ,各种浏览器,微信,docker desktop 等软件都内置了设置代理服务器的选项。 在 vpn 流行的现在,proxy 还有很多人用吗?是在什么 而且为什么各个应用会单独提供设置代理服务器的选项呢?我记得操作系统里一般不是可以统一设置吗? vpn 一般也是统一管理,而不是分应用单独设置呀 企业用户很多还是需要的有些企业没有 NAT 去一个分内外网的企业就知道了 你怎么上的 v 站? 因为企业用的 proxy 容易做域名黑白名单。 在 VPN 流行地现在???嗯???而且这功能超级实用好吗?尤其是对于大陆人来说我甚至找了好久原生内置这个功能地翻墙软件,为啥?因为可以方便自己落地来[避免访问历史被机场记录]+[绕过机场墙]+[固定出口 IP 避免风控]+[获得目前看来没鸟用地 IPV6] 当某些软件没有代理设置选项的时候,又有人会问为何不提供单独设置代理,这么不人性化。 企业内部网络有时候会用到 企业内部网络,没人用 vpn ,都是 proxy 企业都用这玩意。 操作系统提供了这个设置只是类似于一个环境变量, 供软件读取.软件内置这个设置项代表着它给你一个不继承系统指定的 proxy 的自由.以上讨论的不包括 tun 和 tap 这种虚拟网卡级 proxy. 有些公司大内网是有限制的 没用 vpn 的路过vpn 是系统级的,目标一般只有一个,选项为[连,不连]proxy 是软件级,可以多个 proxy 共存互不干扰,各自有[连,不连],组合起来选项就是[连 1 ,连 2 ,连 3 …… 不连]PS: 我有几个梯子,用途不同 各个语言/网络库基本都提供 proxy 的功能,产品上没有太多开发和维护的工作量,并且这是一个很有用的功能 我觉得应该是跟风吧,大多数情况下设置系统代理就够了,但是可能有的用户有不同应用走不同代理的需求,加个选项也不麻烦,就有软件加了,其他软件看到后也跟着加了 Proxy:Proxy 是一个服务,代理软件提供这个服务,App 要使用这个服务代理过程才能跑起来。代理工具没法约束 App 必须使用它的 Proxy 服务,要不要通过 Proxy 服务来访问网络是 App 做主,代理设置是告诉 App 如何使用代理的,也必须要告诉 App 代理配置才有可能走代理。操心系统有一个全局 Proxy 设置,默认 1080 端口,打开时系统会把应用层网络流量发到这个端口,这个也是一些代理工具“全局”的原理,调用系统 API 打开这个设置,然后从( 1080 )拿流量。但这只是一个“全局变量”,并不意味着应用必须听从一个全局变量的安排。基于 Proxy 的代理工具,流量规则的意义不大,因为 Proxy 只能服务应用层网络,底层协议(如 ICMP )没法走 Proxy ,其次,Proxy 是被动方并不能主动的接管流量。VPN:首先,VPN 需要操作系统支持,系统不支持就没法跑。因为 VPN 规范涵盖的网络协议比较底层(如 ICMP 也要走 VPN ),操作系统支持的 VPN 接口一般放到 IP 层。也就是说,在流量数据发给网卡之前,还可以通过 VPN 接口进行处理。这个接口拿到的是网卡的流量,而不是某几个 App 的。不管什么 App 流量总得走网卡出去吧,在总出入口把关啥 App 都跑不了,所以,基于 VPN 接口的代理可以认为是统一设置。它和网络防火墙这类工具比较接近。 软件给你选择难道不是好事吗,我觉得移动端也该学学。iOS 上用过的的 App 里只有 Telegram 支持 App 内代理设置 只有国内才有现在五花八门的 VPN 软件,国外大部分就是标准的 anyconnect ,global procetc 之类的,所有流量都得走 VPN 网关,非常不放。 功能多是个好事情啊,何况这是个很实用的功能,只是你用不上而已。 公司里面通过 proxy 才能上网啊 还有一个场景,家庭网络不想透明的代理的时候,电视可以单独在 smartube 上设置 proxy 举个例子,linux 用 chrome ,当你设置了代理的环境变量的时候,打开 chrome 发现它不走代理,然后你去设置里面找也找不到代理选项,那么怎么让他走代理呢?我找到的解决方案就是启动 chrome 的时候加上参数--http-proxy=…如果 chrome 提供了 GUI 的代理选项,就会方便很多,实际上我刚开始用的时候,因为不知道怎么设置 chrome 的代理,不得不用 Firefox ,因为它在设置里面有代理选项当然现在我使用 clash 的 tun 模式,相当于透明代理,就不在意代理选项了 很多公司内网有外部网络访问限制,但是出于实际需要又会放行个别 APP 的联网权限,通过 APP 中配置代理服务器即可。
qun
共收到 0 条回复:
回复
.NET Core 大润晟泽实验室
.NET Core 开发
VS Code 或者 VS 2019

系统介绍:

系统开发:
ASP.NET Core + EF Core Mysql + Bootstrap
运行环境:
Ubuntu 16.04 + Kestrel

博客介绍: Sufangxu's Blog
Lab: 大润晟泽实验室
服务器时间:2024-05-18 11:51:40
统计信息
  • 社区会员: 344 人
  • 帖子数: 11 个
  • 回帖数: 1022 条