内容简介:shadowtunnel v1.2发布啦!shadowtunnel 是一款可以在你本地机器和远程服务之间建立安全的加密隧道,保护你的 tcp 流量,能高效压缩传输,流量无特征。 local machine <----> shadowtunnel <---> service on rem...
shadowtunnel v1.2发布啦!shadowtunnel 是一款可以在你本地机器和远程服务之间建立安全的加密隧道,保护你的 tcp 流量,能高效压缩传输,流量无特征。
local machine <----> shadowtunnel <---> service on remote.
另外可靠消息,shadowtunnel的openwrt版本luci-app-shadowtunnel.ipx即将问世,支持一键透明代理,让所有链接到你的路由设备自动走shadowtunnel隧道,欢迎关注shadowtunnel,获取最新动态.
更新内容:
新增了-daemon参数,后台运行功能.
新增了-forever参数,永久运行功能,异常退出会自己重启.
新增了-log参数,设置日志输出到文件.
新增了-profiling参数,调试分析功能,用于遇到性能问题的时候可以获取调试信息用于解决问题.
新增了-nolog参数,禁用日志输出功能,可以节省CPU.
新增了DNS代理功能,提供安全的DNS解析,详细信息参考手册DNS部分.
新增了负载均衡高可用功能,详细情况查看命令帮助-lb开头参数.
使用
Usage of ./shadowtunnel: -E outbound connection is encrypted -U outbound connection is udp -c compress traffic -cache string dns query cache file path (default "cache.dat") -daemon daemon mode -debug show debug info -dns string local dns server listen on address -dns-proxy is dns endpoint or not -dns-server string remote dns server to resolve domain (default "8.8.8.8:53") -e inbound connection is encrypted -f weight forward address,such as : 127.0.0.1:8080 or with @weight: 127.0.0.1:8080@1 -forever forever mode -l string local listen address, such as : 0.0.0.0:33000 (default ":50000") -lb-activeafter int host going actived after this success count (default 1) -lb-hashtarget hash use target address to choose parent for LB, only worked for LB's hash method and using `-redir` (default true) -lb-inactiveafter int host going inactived after this fail count (default 2) -lb-method string load balance method when use multiple parent,can be <roundrobin|leastconn|leasttime|hash|weight> (default "leasttime") -lb-onlyha high availability mode use only high availability mode to choose parent for LB -lb-retrytime int sleep time milliseconds after checking (default 2000) -lb-timeout int tcp milliseconds timeout of connecting to parent (default 3000) -log string logging output to file -m string method of encrypt/decrypt, these below are supported : aes-128-cfb,aes-192-cfb,des-cfb,cast5-cfb,rc4-md5,chacha20,aes-256-cfb, aes-128-ctr,aes-192-ctr,aes-256-ctr,bf-cfb,rc4-md5-6,chacha20-ietf (default "aes-192-cfb") -nolog turn off logging -p string password of encrypt/decrypt (default "shadowtunnel") -profiling profiling mode, in this mode, you should stopping process by : Ctrl+C or 'kill -s SIGHUP $PID_OF_shadowtunnel' -redir read target from socket's redirect opts of iptables -t int connection timeout seconds (default 3) -ttl int cache seconds of dns query , if zero , default ttl used. (default 300) -u inbound connection is udp -v show version
示例
1.http 代理
假设有一个 vps,它的 IP 是 2.2.2.2
首先在 2.2.2.2 启动一个 http 代理 然后下载 http 代理程序,使用 root 权限在 vps 上执行下面的命令:
wget https://github.com/snail007/goproxy/releases/download/v4.9/proxy-linux-amd64.tar.gz && tar zxfv proxy-linux-amd64.tar.gz && rm proxy-linux-amd64.tar.gz && mv proxy /usr/bin/ && proxy http -p 127.0.0.1:38080 &
2.在 vps 启动一个隧道
下载 shadowtunnel 程序,使用 root 权限在 vps 上执行下面的命令:
wget https://github.com/snail007/shadowtunnel/releases/download/v1.1/shadowtunnel-linux-amd64.tar.gz && tar zxfv shadowtunnel-linux-amd64.tar.gz && rm shadowtunnel-linux-amd64.tar.gz && mv shadowtunnel /usr/bin/
在 vps 上监听 :50000 并转发到 127.0.0.1:38080 :
shadowtunnel -e -f 127.0.0.1:38080 -l :50000
3.在本地机器上启动一个隧道
在本地机器上监听 :50000 并转发到 2.2.2.2:50000 :
shadowtunnel -E -f 2.2.2.2:50000 -l :50000
4.在 chrome 中设置 http 代理配置
设置本地 chrome 的http代理配置如下:
ip: 127.0.0.1 port: 50000
5.完成
TCP over UDP
1.http 代理
假设有一个 vps,它的 IP 是 2.2.2.2
首先在 2.2.2.2 启动一个 http 代理 然后下载 http 代理程序,使用 root 权限在 vps 上执行下面的命令:
wget https://github.com/snail007/goproxy/releases/download/v4.9/proxy-linux-amd64.tar.gz && tar zxfv proxy-linux-amd64.tar.gz && rm proxy-linux-amd64.tar.gz && mv proxy /usr/bin/ && proxy http -p 127.0.0.1:38080 &
2.在 vps 启动一个隧道
下载 shadowtunnel 程序,使用 root 权限在 vps 上执行下面的命令:
wget https://github.com/snail007/shadowtunnel/releases/download/v1.1/shadowtunnel-linux-amd64.tar.gz && tar zxfv shadowtunnel-linux-amd64.tar.gz && rm shadowtunnel-linux-amd64.tar.gz && mv shadowtunnel /usr/bin/
在 vps 上监听UDP :50000 并转发到TCP 127.0.0.1:38080 :
shadowtunnel -u -e -f 127.0.0.1:38080 -l :50000 -p your-password
3.在本地机器上启动一个隧道
在本地机器上监听TCP :50000 并转发到UDP 2.2.2.2:50000 :
shadowtunnel -U -E -f 2.2.2.2:50000 -l :50000 -p your-password
4.在 chrome 中设置 http 代理配置
设置本地 chrome 的http代理配置如下:
ip: 127.0.0.1 port: 50000
5.完成
Deamon & Forever & Log
-daemon:
使用参数-daemon可以让shadowtunnel脱离当前命令行,后台运行.
-forever:
使用参数-forever可以让shadowtunnel以创建并监控子进程的方式运行,
如果发生异常退出,会重启子进程,保证服务永远在线.
-log
使用参数-log可以设置日志输出到文件,而不是在命令行输出.
-nolog
使用参数-nolog可以从彻底关闭日志输出,节省CPU占用.
一般是-daemon -forever -log /tmp/st.log 三个参数联合使用,这样出问题时,也可以通过看日志发现问题原因.
实例:
shadowtunnel -u -e -f 127.0.0.1:38080 -l :50000 -p your-password -daemon -forever -log /tmp/st.log
DNS服务
shadowtunnel可以在提供本地DNS查询服务,同时具有缓存功能,可以提高解析速度.
在本地启动端口转发的同时启动一个DNS服务,需要有上级配合.
-dns 参数可以设置本地DNS服务监听的IP和端口,比如:0.0.0.0:5353
-dns-server 参数可以设置最终用来解析域名的DNS服务器,要求是服务器必须支持TCP方式的DNS查询,默认是:8.8.8.8:53.
本地实例:
shadowtunnel -E -f 2.2.2.2:50000 -l :50000 -p your-password -dns :5353 -dns-server 8.8.8.8:53
上级实例:
如果上级是链式,那么链条中需要执行DNS代理的上级需要加上-dns-proxy参数.
shadowtunnel -e -f 127.0.0.1:38080 -l :50000 -p your-password -dns-proxy
DNS缓存
-ttl 参数可以设置DNS查询结果缓存时间,单位秒,如果是0,使用查询结果的ttl.
-cache 参数设置DNS缓存文件位置,防止程序重启缓存消失,降低性能.
负载均衡
支持上级负载均衡,多个上级重复-f参数即可.
shadowtunnel -E -f 2.2.2.2:50000 -f 3.3.3.3:50000 -l :50000
设置重试间隔和超时时间
shadowtunnel -E -f 2.2.2.2:50000 -f 3.3.3.3:50000 -l :50000 -lb-method leastconn -lb-retrytime 300 -lb-timeout 300
设置权重
shadowtunnel -E -f 2.2.2.2:50000@2 -f 3.3.3.3:50000@1 -l :50000 -lb-method weight -lb-retrytime 300 -lb-timeout 300
使用目标地址选择上级
shadowtunnel -E -f 2.2.2.2:50000@2 -f 3.3.3.3:50000@1 -l :50000 -lb-method hash -lb-hashtarget -lb-retrytime 300 -lb-timeout 300
下载地址:
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Nginx负载均衡高可用
- Nginx负载均衡+Keepalived高可用
- 高可用负载均衡集群之 HAProxy 部署
- Keepalived+Nginx搭建高可用负载均衡集群
- 利用saltstack一键部署高可用负载均衡集群
- 搭建高可用负载均衡器: haproxy+keepalived
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
微信小程序入门指南
知晓程序 / 电子工业出版社 / 2017-6-1 / 49
《知晓程序:微信小程序入门指南》是一本分析小程序生态、解读小程序产品设计与开发的入门图书。全书共 9 章,全面讲解了小程序的基本知识、大家如何看待小程序、小程序对行业的影响、小程序对开发者的影响、小程序对用户的影响、开发小程序需要的准备工作等内容,并深入解读了小程序的官方文档。 读者在阅读《知晓程序:微信小程序入门指南》之后可以清楚小程序与订阅号、服务号的区别,了解小程序适用的场景,认识小程......一起来看看 《微信小程序入门指南》 这本书的介绍吧!