5个版本
0.2.0 | 2024年4月7日 |
---|---|
0.1.3 | 2023年5月6日 |
0.1.2 | 2023年5月6日 |
0.1.1 | 2023年5月6日 |
0.1.0 | 2021年7月18日 |
在网络编程中排名第664
每月下载量51次
45KB
1K SLoC
dispatch
在网络接口之间平衡流量的SOCKS代理。
应适用于macOS、Windows和Linux。目前仅在macOS上进行测试。
这是对dispatch-proxy的Rust重写,最初是用CoffeeScript编写的,针对Node.js。
快速链接
安装
从预构建的二进制文件
您可以从发布页面下载macOS、Windows和Linux的预构建二进制文件。
从crates.io
您需要Rust版本1.51.0或更高版本。您可以使用rustup安装Rust编译器工具链的最新版本。
cargo install dispatch-proxy
原理
您经常发现自己有多个未使用的互联网连接——无论是5G移动热点还是免费的Wi-Fi网络——系统不允许您在主连接旁边使用它们。
例如,我第一个学生宿舍曾经为我提供有线和无线互联网接入。两者都分别限制在1,200kB/s的带宽。我的3G移动互联网接入为我提供了额外的400kB/s。将所有这些与dispatch和下载管理器结合使用,结果得到了2,800kB/s的有效带宽!
用例
可能性无限
- 与下载管理器或BitTorrent客户端一起使用,在下载单个文件时结合多个连接的带宽;
- 将您有权访问的所有接口组合成一个单一生成平衡接口;
- 在多个代理(例如,用于平衡下载/上传)上运行不同的应用程序;
- 在家中创建一个热点代理,通过以太网和5G卡连接到所有您的移动设备;
- 等等。
使用方法
$ dispatch
A SOCKS proxy that balances traffic between network interfaces.
Usage: dispatch [OPTIONS] <COMMAND>
Commands:
list Lists all available network interfaces
start Starts the SOCKS proxy server
help Print this message or the help of the given subcommand(s)
Options:
-d, --debug Write debug logs to stdout instead of a file
-h, --help Print help
-V, --version Print version
$ dispatch start -h
Starts the SOCKS proxy server
Usage: dispatch start [OPTIONS] <ADDRESSES>...
Arguments:
<ADDRESSES>... The network interface IP addresses to dispatch to, in the form of <address>[/priority]
Options:
--ip <IP> Which IP to accept connections from [default: 127.0.0.1]
--port <PORT> Which port to listen to for connections [default: 1080]
-h, --help Print help
示例
$ dispatch list
列出所有可用的网络接口。
$ dispatch start 10.0.0.0 fdaa:bbcc:ddee:0:1:2:3:4
将入站连接分配到本地地址 10.0.0.0
和 fdaa:bbcc:ddee:0:1:2:3:4
。
$ dispatch start 10.0.0.0/7 10.0.0.1/3
在10次中有7次将入站连接分配到 10.0.0.0
,在10次中有3次分配到 10.0.0.1
。
工作原理
每当SOCKS代理服务器接收到对一个地址或域名的连接请求时,它将使用加权轮询算法从提供的本地地址中选择一个。此后所有连接流量都将通过所选本地地址对应的接口。
注意:如果请求的地址或域名解析为IPv4(或IPv6)地址,则必须提供IPv4(或IPv6)本地地址。
许可证
根据您的选择,此软件受Apache License,版本2.0或MIT许可证许可。除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在此软件包中的任何贡献,都将按上述方式双重许可,而不附加任何额外条款或条件。
依赖项
~14–44MB
~686K SLoC