SOCKS反向代理服务器。
项目描述
RSOCKS是一个用于通过SOCKS 4/5代理传输特定主机流量的反向代理服务器。它对于在没有SOCKS代理支持的应用程序中使用SOCKS 4/5非常有用。
安装
$ pip install rsocks
或者
$ easy_install rsocks
要升级到最新版本,您可以执行
$ pip install -U rsocks
资源
使用方法
首先,我们需要创建一个具有以下格式的配置文件
# /path/to/rsocks.toml [servers.foo] proxy = "socks4://user:pass@192.168.1.10:1080" listen_host = "0.0.0.0" listen_port = 5025 upstream_host = "smtp.example.com" upstream_port = 25 upstream_ssl = false
这里有一个通过SOCKS5代理服务器转发Gmail的SMTP/IMAP的示例
[servers.imap] proxy = "socks5://localhost:1080" listen_port = 5993 upstream_host = "imap.gmail.com" upstream_port = 993 upstream_ssl = true [servers.smtp] proxy = "socks5://localhost:1080" listen_port = 5465 upstream_host = "smtp.gmail.com" upstream_port = 465 upstream_ssl = true
接下来,我们启动rsocks服务器
$ rsocks --config=/path/to/rsocks.toml [14:24:44] rsocks.servers.smtp Using proxy server socks5://localhost:1080 [14:24:44] rsocks.servers.smtp Listening 127.0.0.1:5465 [14:24:44] rsocks.servers.imap Using proxy server socks5://localhost:1080 [14:24:44] rsocks.servers.imap Listening 127.0.0.1:5993 [14:24:44] rsocks.pool Prepared "smtp" [14:24:44] rsocks.pool Prepared "imap" [14:24:44] rsocks.servers.smtp Starting server... [14:24:44] rsocks.servers.imap Starting server...
现在不要停止它,打开您的应用程序(例如OS X中的Airmail)并将服务器选项设置为本地转发地址
SMTP: 127.0.0.1:5465 without SSL IMAP: 127.0.0.1:5993 without SSL
现在应用程序的流量将通过代理服务器(socks5://127.0.0.1:1080)转发。
如果您希望以后台方式运行rsocks服务器,请检查平台服务模板。例如,OS X用户可以在~/Library/LaunchAgents中创建com.tonyseek.rsocks.plist文件并将其加载为服务
$ nano ~/.rsocks.toml # create a config file $ wget https://github.com/tonyseek/rsocks/blob/master/misc/platforms/osx-launchd/com.tonyseek.rsocks.plist \ -O ~/Library/LaunchAgents/com.tonyseek.rsocks.plist $ nano ~/Library/LaunchAgents/com.tonyseek.rsocks.plist # edit the template $ launchctl load -w ~/Library/LaunchAgents/com.tonyseek.rsocks.plist
API概览
这里有使用API构建服务器的示例
import os
from rsocks.pool import ServerPool
from rsocks.server import ReverseProxyServer
proxy = os.environ.get('SOCKS_PROXY', 'socks5://localhost:1080')
pool = ServerPool()
with pool.new_server(
name='IMAP',
server_class=ReverseProxyServer,
upstream=('imap.gmail.com', 993),
use_ssl=True) as server:
server.set_proxy(proxy)
server.listen(('127.0.0.1', 5993))
with pool.new_server(
name='SMTP',
server_class=ReverseProxyServer,
upstream=('smtp.gmail.com', 465),
use_ssl=True) as server:
server.set_proxy(proxy)
server.listen(('127.0.0.1', 5465))
if __name__ == '__main__':
pool.loop()
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
rsocks-0.4.0.tar.gz (6.8 kB 查看哈希值)
构建分发
rsocks-0.4.0-py2.py3-none-any.whl (7.9 kB 查看哈希值)
关闭
rsocks-0.4.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 87e5af7fee7a95b7f5134d04a4d115d850b0c58d93373bd86ff9d653e79f4ea7 |
|
MD5 | 1923fc71beca21a1d0afd4ecde668dce |
|
BLAKE2b-256 | 932c1a39b63f4a9278b9f35aa6dfbf80a52a0d225b2b9ca9e3dd9be6236a4085 |
关闭
rsocks-0.4.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56a94ba6864a7b392f5c87cb258210de2f55638398d69b3b7f667a2d24dbee87 |
|
MD5 | 32ddddef032e8471b3a461ce7ddf6d13 |
|
BLAKE2b-256 | 1c9d6788dcf36e246b8ef836f1dcd774b8d162544642fb69d0926bc3a272f96f |