关于 Leaf

Leaf 是一个我写来代替 V2Ray 使用的客户端代理工具,这并不是说它准备取代 V2Ray,它也取代不了,尽管它在很多方面跟 V2Ray 相似,也在很多方面参考了 V2Ray 的设计,它更多是我个人满足自己需要所开发的工具。

其中一个 V2Ray 无法满足我需要的就是它的负载均衡功能,这也是这篇文章准备讨论的。

请求分发机制

Leaf 不把负载均衡看作是怎样从一组代理服务器里面选出一个最优的来使用,而是考虑拿到一个请求后,用什么样方式去分发它。

这里提到的最优并不一定指速度最快、延迟最低,不同测量方式会给到对最优不同的定义。负载均衡这个词也恐怕不合适用来描述这种功能,反正这么写就这么用吧。

Leaf 大体上有 3 种请求分发机制:

  • random:从组里随机选取一个服务器来发送请求


这篇教程只介绍 tun2socks 命令行用法,如果你在找一个可以全局代理流量的应用,比如像 Proxifier, SSTap, Surge 那种,我建议你尝试下 Mellow,它也可以代理电脑上所有的流量,可以按域名、进程名字、IP 和端口等对请求做分流。

这是一篇在 Windows 上使用 tun2socks 进行全局 TCP/UDP 流量代理的教程,有别于一般仅使用 SOCKS5 代理浏览器请求的方式,这种全局代理不仅可以代理浏览器的请求,还可以代理其它所有应用程序的请求流量,比如代理游戏的流量,代理所有命令行工具的流量。

要使用 tun2socks,需要创建一个虚拟网卡,首先下载 Tap-windows 并安装:

下载地址:http://build.openvpn.net/download …


这篇文章目的是以非技术性例举方式,谈一谈各种 DNS 技术在代理环境中如何工作,主要集中在对 V2Ray 的使用上,因为最近 V2Ray 发布了一个 DNS 相关的功能:https://steemit.com/cn/@v2ray/dns,其用法很多,可以解决很多问题,但如果不理解其工作方式,就很难做出合理的配置。

本文所讨论的也不单纯是 DNS,还涉及 V2Ray 的部分工作原理,因为我们的讨论是依赖于使用 V2Ray 来对 DNS 流量做各种处理的。所以也希望读者看懂了文章中的例子后,可以举一反三,从而更好理解 V2Ray 的整体工作原理。

本文举例范围预计会包括桌面系统(Windows, macOS)、移动端(iOS, Android)、普通浏览器代理(系统代理)、全局代理(tun2soc …


前不久 V2Ray 增加了一些 API,允许通过这些 API 从外部对一个运行中的 V2Ray 实例进行多种操作,详细信息可以看文档:https://www.v2ray.com/chapter_02/api.html

我对其中增加用户和删除用户这两个操作比较感兴趣,所以今天就稍微拿来玩一下。

不说什么废话,直接上配置代码了。

下面是服务器的配置文件,可以看到比起常规的配置文件,还多了:

  • 一个叫 api 的顶级配置项
{
"api": {
"services": [
"HandlerService"
], …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store