shadowtunnel v1.2 发布,新增 DNS 代理和负载均衡高可用

栏目: 后端 · 发布时间: 6年前

内容简介:shadowtunnel v1.2发布啦!shadowtunnel 是一款可以在你本地机器和远程服务之间建立安全的加密隧道,保护你的 tcp 流量,能高效压缩传输,流量无特征。local machine <----> shadowtunnel <---> service on remote.另外可靠消息,shadowtunnel的openwrt版本luci-app-shadowtunnel.ipx即将问世,支持一键透明代理,让所有链接到你的路由设备自动走shadowtunnel隧道,欢迎关注shadowt

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

下载地址:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Web Design

Head First Web Design

Ethan Watrall、Jeff Siarto / O’Reilly Media, Inc. / 2009-01-02 / USD 49.99

Want to know how to make your pages look beautiful, communicate your message effectively, guide visitors through your website with ease, and get everything approved by the accessibility and usability ......一起来看看 《Head First Web Design》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具