ss客户端以及tcp,udp,dns代理ss-tproxy在线安装版--centos7.3 x64以上(7.3-7.6x64测试通过)
#!/bin/sh
#
# Script for automatic setup of an SS-TPROXY server on CentOS 7.3 Minimal.
#
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
exiterr() { ; exit ; }
exiterr2() { exiterr "'yum install' failed."; }
bigecho() { echo; echo -e "\033[36m $1 \033[0m"; }
# Disable FireWall
bigecho "Disable Firewall..."
systemctl stop firewalld.service
systemctl disable firewalld.service
# Install Lib
bigecho "Install Library, Pleast wait..."
yum -y install git gettext gcc autoconf libtool make asciidoc xmlto c-ares-devel libev-devel \
openssl-devel net-tools curl ipset iproute perl wget gcc bind-utils vim || exiterr2
# Install haveged
>/dev/null; then
bigecho "Install Haveged, Pleast wait..."
HAVEGED_VER=-
HAVEGED_URL="http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/h/haveged-$HAVEGED_VER.el7.x86_64.rpm"
yum -y install "$HAVEGED_URL" || exiterr2
systemctl start haveged
systemctl enable haveged
fi
# Install pdnsd
>/dev/null; then
bigecho "Install Pdnsd, Pleast wait..."
PDNSD_VER=1.2.9a
PDNSD_URL="http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-$PDNSD_VER-par_sl6.x86_64.rpm"
yum -y install "$PDNSD_URL" || exiterr2
fi
# Build aclocal-1.15, it's needed by dnsforwarder
>/dev/null; then
bigecho "Build aclocal-1.15, Pleast wait..."
AUTOMAKE_VER=1.15
AUTOMAKE_FILE="automake-$AUTOMAKE_VER"
AUTOMAKE_URL="https://ftp.gnu.org/gnu/automake/$AUTOMAKE_FILE.tar.gz"
if ! wget --no-check-certificate -O $AUTOMAKE_FILE.tar.gz $AUTOMAKE_URL; then
bigecho "Failed to download file!"
exit
fi
tar xf $AUTOMAKE_FILE.tar.gz
pushd $AUTOMAKE_FILE
./configure
make && make install
popd
fi
# Build dnsforwarder
>/dev/null; then
bigecho "Build dnsforwarder, Pleast wait..."
git clone https://github.com/holmium/dnsforwarder.git
pushd dnsforwarder
./configure --enable-downloader=no
make && make install
popd
fi
# Build chinadns
>/dev/null; then
bigecho "Build chinadns, Pleast wait..."
CHINADNS_VER=
CHINADNS_FILE="chinadns-$CHINADNS_VER"
CHINADNS_URL="https://github.com/shadowsocks/ChinaDNS/releases/download/$CHINADNS_VER/$CHINADNS_FILE.tar.gz"
if ! wget --no-check-certificate -O $CHINADNS_FILE.tar.gz $CHINADNS_URL; then
bigecho "Failed to download file!"
exit
fi
tar xf $CHINADNS_FILE.tar.gz
pushd $CHINADNS_FILE
./configure
make && make install
popd
fi
# Build Libsodium
if [ ! -f "/usr/lib/libsodium.so" ]; then
bigecho "Build Libsodium, Pleast wait..."
LIBSODIUM_VER=
LIBSODIUM_FILE="libsodium-$LIBSODIUM_VER"
LIBSODIUM_URL="https://download.libsodium.org/libsodium/releases/$LIBSODIUM_FILE.tar.gz"
if ! wget --no-check-certificate -O $LIBSODIUM_FILE.tar.gz $LIBSODIUM_URL; then
bigecho "Failed to download file!"
exit
fi
tar xf $LIBSODIUM_FILE.tar.gz
pushd $LIBSODIUM_FILE
./configure --prefix=/usr && make
make install
popd
ldconfig
fi
# Build MbedTLS
if [ ! -f "/usr/lib/libmbedtls.so" ]; then
bigecho "Build MbedTLS, Pleast wait..."
MBEDTLS_VER=
MBEDTLS_FILE="mbedtls-$MBEDTLS_VER"
MBEDTLS_URL="https://tls.mbed.org/code/releases/$MBEDTLS_FILE-gpl.tgz"
if ! wget --no-check-certificate -O $MBEDTLS_FILE-gpl.tgz $MBEDTLS_URL; then
bigecho "Failed to download file!"
exit
fi
tar xf $MBEDTLS_FILE-gpl.tgz
pushd $MBEDTLS_FILE
CFLAGS=-fPIC
make DESTDIR=/usr install
popd
ldconfig
fi
#Build shadowsocksr-libev
>/dev/null; then
bigecho "Build shadowsocksr-libev, Pleast wait..."
git clone https://github.com/shadowsocksr-backup/shadowsocksr-libev.git
pushd shadowsocksr-libev
./configure --prefix=/usr/local/ssr-libev
make && make install
popd
pushd /usr/local/ssr-libev/bin
mv ss-redir ssr-redir
mv ss-local ssr-local
ln -sf ssr-local ssr-tunnel
mv ssr-* /usr/local/bin/
popd
rm -fr /usr/local/ssr-libev
fi
# Install SS-TPROXY
>/dev/null; then
bigecho "Install SS-TProxy, Pleast wait..."
git clone https://github.com/zfl9/ss-tproxy.git
pushd ss-tproxy
git checkout v1-tcponly
cp -af ss-tproxy /usr/local/bin/
cp -af ss-switch /usr/local/bin/
chown root:root /usr/local/bin/ss-tproxy /usr/local/bin/ss-switch
chmod +x /usr/local/bin/ss-tproxy /usr/local/bin/ss-switch
-p /etc/tproxy
cp -af pdnsd.conf /etc/tproxy/
cp -af chnroute.txt /etc/tproxy/
cp -af chnroute.ipset /etc/tproxy/
cp -af ss-tproxy.conf /etc/tproxy/
cp -af dnsforwarder.conf /etc/tproxy/
chown -R root:root /etc/tproxy
/etc/tproxy/*
popd
# Systemctl
pushd ss-tproxy
cp -af ss-tproxy.service /etc/systemd/system/
popd
systemctl daemon-reload
systemctl enable ss-tproxy.service
fi
# Display info
bigecho "#######################################################"
bigecho "Please modify /etc/tproxy/ss-tproxy.conf before start."
bigecho "#ss-tproxy update_chnip"
bigecho "#ss-tproxy start"
bigecho "#######################################################"
exit 0
原文:
https://gist.github.com/YahuiWong/c5f47f9f13dfd2cb560046f28c7aecd0
记得在最后设置允许访问的局域网IP段
## iptables 配置
iptables_intranet=(0.0.0.0/0) # 内网网段,多个空格隔开
目前软件的机制是:
cat /etc/tproxy/chnroute.txt,这个IP表里都是cnip,如果满足这里的就走默认的操作系统本身网关出去上网,
否则就走代理网关出去。所以你如果想全局走代理网关出去,那么可以把chnroute.txt里的IP清空,那么就全局走代理了。
ss客户端以及tcp,udp,dns代理ss-tproxy在线安装版--centos7.3 x64以上(7.3-7.6x64测试通过)的更多相关文章
- ss客户端以及tcp,udp,dns代理ss-tproxy本地安装版--centos7.3 x64以上(7.3-7.6x64测试通过)
因为下载的文件,从cn下载很慢,或者下不动,所以我弄了一个本地安装版 本地安装的文件,我是从网上单独下载了,这里就不提供了. 记得在最后设置允许访问的局域网IP段 ## iptables 配置ipta ...
- Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理
nginx反向代理: 方案 使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址 ...
- TCP/UDP端口列表
http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表 本条目可通过翻译外语维 ...
- TCP/UDP 常用端口列表
计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...
- TCP/UDP端口列表(WIKIpedia)
计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...
- 二十.Nginx反向代理、Nginx的TCP/UDP调度器、Nginx常见问题处理
proxy client web1 web2 1.nginx反向代理 使用Nginx实现Web反向代理功能,实现如下功能: 后端Web服务器两台(web1 192.168.2.100 web2 ...
- java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端
java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端 启动界面如下图: 首先启动服务器: 客户端登陆,登陆成功后为: 默认发送是全部用户,是多人发送. 当在边列 ...
- TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...
- ubuntu 14.04 LTS 安装ss客户端
附: 配置pac模式 ss客户端 ss客户端 前提环境 python (用最新的就行) pip (注:python工具) build-essential 以上可以通过一条命令解决: sudo apt- ...
随机推荐
- TCP建立连接为什么是三次握手,为什么不是两次或四次?
什么是三次握手 学过网络编程的人,应该都知道TCP建立连接的三次握手,下面简单描述一下这个过程. 如图所示 第一次握手:客户端发送TCP包,置SYN标志位为1,将初始序号X,保存在包头的序列号(Seq ...
- cl 命令行配置
VS2013啊什么老是要license,而且打开还特别庞大. 当想测试一个小东西的时候,我并不需要创建一个很大的工程,只需要编译下,运行下即可. 这时候采用 cl 命令编译会快很多. 下面是步骤: 1 ...
- c函数创建文件和路径
bool NewFileName(const char* filename) { size_t len; < (len = strlen(filename))) { char* tmpbuf, ...
- python之路--迭代器和生成器
迭代: 迭代器协议: 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代 ...
- Python中的lambda的简单介绍
在学习python的过程中,lambda的语法经常出现,现在将它整理一下,以备日后查看. 1.lambda是什么? 举个例子如下: func=lambda x:x+1 print(func(1)) p ...
- python全栈开发笔记---------字符串格式化
字符串格式化 %s 可以接收任何值, %d只能接收整形 .其他类型报错 msg ='i am %s my body' %'ales' print(msg) #i am ales my body msg ...
- 使用matlab生成用于ROM初始化的coe文件(转)
reference:https://www.cnblogs.com/chensimin1990/p/9759368.html t=0:2*pi/2^12:2*pi; y=0.5*sin(t)+0.5; ...
- java运算符和流程图
- Oracle数据库统一审核的启用测试与关闭
环境:windows server 2008.Oracle 12c R2 下面的步骤,连接为sysdba,除非指定了其它方式. (1)运行如下查询,确定统一审核是否启用了: select value ...
- 如何利用 Git 与 GitHub 进行多人协作开发
方法一:添加 Collaborators Collaborators 类似于Team模式. Repository的拥有者Owner 可以直接添加合作者到自己的仓库中, 让合作者拥有几乎等同拥有者的权限 ...