Abbott

身体和灵魂,必须有一个在路上

分享技术,分享生活


Welcome Abbott's world

ShadowSocks全局上网

如果用过ShadowSocks的朋友,可能会慢慢意识到,ShadowSocks开启后,在浏览器上好使,但是我们在使用terminal终端的时候,发现一些wget、curl、git、brew等命令行工具都会变得很慢。。 这是为什么呢,可能大家像我一样困惑,那么下面我们来简单介绍下,出现这种问题的原因,以及该如何去做呢?

首先我们先了解一些ShadowSocks的基本工作原理。用一张图简单来表示下。 ShadowSocks的基本工作原理

简单来说,ShadowSocks分为客户端和服务端,用户发出的请求基于Socks5协议与ShadowSocks客户端进行通信,一般情况下SS客户端都在本机,通过ShadowSocksX、GoAgentX等应用启动,所以这一步是不会经过GFW的,然后ShadowSocks提供了多种加密方式供客户端和服务端之间进行通信,并且在经过GFW时是普通的TCP协议数据包,没有明显的特征,而且GFW也无法解密分析,从而实现绕墙访问资源。

由于是基于socket5协议,我也就导致了使用ShadowSocks代理的局限性。即只有支持socket协议的软件才能正常翻墙使用。而我们在使用terminal终端进行网络连接的时候,都是基于http协议,我就导致了我们不能正常的代理上网。

可能大家会疑问,浏览器本身不也是使用http协议上网的,为什么就能通过ShadowSocks进行翻墙上网呢,这是因为chrome浏览器本身是支持从http转换为socket协议的。(并非所有的浏览器都支持socket协议的)

ps:为什么vpn就可以直接全局上网,这是因为vpn本身是经过一道加密的通道进行上网,所以开启vpn后就是全局的走vpn通道了。

所以为了使不支持socket协议的应用也能够使用ShadowSocks代理上网,所以我们需要使用工具进行一层转换。其中最经典的就是使用proxifier了。关于proxifier的工作原理,我们也用一个图做一个简单介绍

proxifier代理转换

Proxifier的客户端下载地址

操作步骤如下

一、添加socket代理

选择proxies–>add

image.png

二、设置rulues

image.png

在defalut对应的栏目中,设置action为我们设置的代理即可。这样,表示默认所有请求都走这个代理。

其它配置,请大家根据需要自己配置即可。

 

最近的文章

Android SDK目录及版本号区别

SDK目录add-ons这里面保存着附加库,第三方公司为android 平台开发的附加功能系统。比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。docs这里面是Android SDKAPI参考文档,所有的API都可以在这里查到。extras该文件夹下存放了==Android support v4,v7,v13,v17包==;还有google提供额USB驱动、Intel提供的硬件加速等附加工具包,和market_licensing作为AndroidMa...…

sdk-android-工具介绍继续阅读
更早的文章

多图合并框架实现

现在多数app里面加入聊天已经是一个非常普遍的现象了,而微信和qq则是通讯领域的鼻祖了。如果产品经理在考虑做聊天设计的时候,多数会参考。常常你会听到,你看微信和qq都是这么做的,你就这么来吧,虽然心理有一万个不痛快,但谁叫我们是有一个有追求的程序员呢。所以产品的要求是实现类似微信的群头像。类似如下作为程序员,首先会评估下工作量吧。在产品眼里,就是把图片合成一起嘛,有啥难度吗?所以工作时间决定了你能做成什么样吧方案分析:方案1、直接写成布局,然后按照不同的布局加载不同张数的图片。而大家通用的...…

框架|图片加载继续阅读