因为下载的文件,从cn下载很慢,或者下不动,所以我弄了一个本地安装版

本地安装的文件,我是从网上单独下载了,这里就不提供了。

记得在最后设置允许访问的局域网IP段

## iptables 配置
iptables_intranet=(0.0.0.0/0) # 内网网段,多个空格隔开

目前软件的机制是:

cat /etc/tproxy/chnroute.txt,这个IP表里都是cnip,如果满足这里的就走默认的操作系统本身网关出去上网,

否则就走代理网关出去。所以你如果想全局走代理网关出去,那么可以把chnroute.txt里的IP清空,那么就全局走代理了。

原文:

https://gist.github.com/YahuiWong/c5f47f9f13dfd2cb560046f28c7aecd0

  1. #!/bin/sh
  2. #
  3. # Script for automatic setup of an SS-TPROXY server on CentOS 7.3 Minimal.
  4. #
  5.  
  6. export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  7.  
  8. exiterr() { ; exit ; }
  9. exiterr2() { exiterr "'yum install' failed."; }
  10. bigecho() { echo; echo -e "\033[36m $1 \033[0m"; }
  11.  
  12. # Disable FireWall
  13. bigecho "Disable Firewall..."
  14. systemctl stop firewalld.service
  15. systemctl disable firewalld.service
  16.  
  17. # Install Lib
  18. bigecho "Install Library, Pleast wait..."
  19. yum -y install git gettext gcc autoconf libtool make asciidoc xmlto c-ares-devel libev-devel \
  20. openssl-devel net-tools curl ipset iproute perl wget gcc bind-utils vim || exiterr2
  21.  
  22. # Install haveged
  23. >/dev/null; then
  24. bigecho "Install Haveged, Pleast wait..."
  25. #HAVEGED_VER=-
  26. #HAVEGED_URL="http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/h/haveged-$HAVEGED_VER.el7.x86_64.rpm"
  27. -.el7.x86_64.rpm || exiterr2
  28. systemctl start haveged
  29. systemctl enable haveged
  30. fi
  31.  
  32. # Install pdnsd
  33. >/dev/null; then
  34. bigecho "Install Pdnsd, Pleast wait..."
  35. #PDNSD_VER=1.2.9a
  36. #PDNSD_URL="http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-$PDNSD_VER-par_sl6.x86_64.rpm"
  37. yum -y localinstall pdnsd-1.2.9a-par_sl6.x86_64.rpm || exiterr2
  38. fi
  39.  
  40. # Build aclocal-1.15, it's needed by dnsforwarder
  41. >/dev/null; then
  42. bigecho "Build aclocal-1.15, Pleast wait..."
  43. #AUTOMAKE_VER=1.15
  44. #AUTOMAKE_FILE="automake-$AUTOMAKE_VER"
  45. #AUTOMAKE_URL="https://ftp.gnu.org/gnu/automake/$AUTOMAKE_FILE.tar.gz"
  46. #if ! wget --no-check-certificate -O $AUTOMAKE_FILE.tar.gz $AUTOMAKE_URL; then
  47. # bigecho "Failed to download file!"
  48. # exit
  49. #fi
  50. tar xf automake-1.15.tar.gz
  51. pushd automake-1.15
  52. ./configure
  53. make && make install
  54. popd
  55. fi
  56.  
  57. # Build dnsforwarder
  58. >/dev/null; then
  59. bigecho "Build dnsforwarder, Pleast wait..."
  60. git clone https://github.com/holmium/dnsforwarder.git
  61. pushd dnsforwarder
  62. ./configure --enable-downloader=no
  63. make && make install
  64. popd
  65. fi
  66.  
  67. # Build chinadns
  68. >/dev/null; then
  69. bigecho "Build chinadns, Pleast wait..."
  70. #CHINADNS_VER=
  71. #CHINADNS_FILE="chinadns-$CHINADNS_VER"
  72. #CHINADNS_URL="https://github.com/shadowsocks/ChinaDNS/releases/download/$CHINADNS_VER/$CHINADNS_FILE.tar.gz"
  73. #if ! wget --no-check-certificate -O $CHINADNS_FILE.tar.gz $CHINADNS_URL; then
  74. # bigecho "Failed to download file!"
  75. # exit
  76. #fi
  77. .tar.gz
  78. pushd chinadns-
  79. ./configure
  80. make && make install
  81. popd
  82. fi
  83.  
  84. # Build Libsodium
  85. if [ ! -f "/usr/lib/libsodium.so" ]; then
  86. bigecho "Build Libsodium, Pleast wait..."
  87. #LIBSODIUM_VER=
  88. #LIBSODIUM_FILE="libsodium-$LIBSODIUM_VER"
  89. #LIBSODIUM_URL="https://download.libsodium.org/libsodium/releases/$LIBSODIUM_FILE.tar.gz"
  90. #if ! wget --no-check-certificate -O $LIBSODIUM_FILE.tar.gz $LIBSODIUM_URL; then
  91. # bigecho "Failed to download file!"
  92. # exit
  93. #fi
  94. .tar.gz
  95. pushd libsodium-
  96. ./configure --prefix=/usr && make
  97. make install
  98. popd
  99. ldconfig
  100. fi
  101.  
  102. # Build MbedTLS
  103. if [ ! -f "/usr/lib/libmbedtls.so" ]; then
  104. bigecho "Build MbedTLS, Pleast wait..."
  105. #MBEDTLS_VER=
  106. #MBEDTLS_FILE="mbedtls-$MBEDTLS_VER"
  107. #MBEDTLS_URL="https://tls.mbed.org/code/releases/$MBEDTLS_FILE-gpl.tgz"
  108. #if ! wget --no-check-certificate -O $MBEDTLS_FILE-gpl.tgz $MBEDTLS_URL; then
  109. # bigecho "Failed to download file!"
  110. # exit
  111. #fi
  112. -gpl.tgz
  113. pushd mbedtls--gpl
  114. CFLAGS=-fPIC
  115. make DESTDIR=/usr install
  116. popd
  117. ldconfig
  118. fi
  119.  
  120. #Build shadowsocksr-libev
  121. >/dev/null; then
  122. bigecho "Build shadowsocksr-libev, Pleast wait..."
  123. git clone https://github.com/shadowsocksr-backup/shadowsocksr-libev.git
  124. pushd shadowsocksr-libev
  125. ./configure --prefix=/usr/local/ssr-libev
  126. make && make install
  127. popd
  128. pushd /usr/local/ssr-libev/bin
  129. mv ss-redir ssr-redir
  130. mv ss-local ssr-local
  131. ln -sf ssr-local ssr-tunnel
  132. mv ssr-* /usr/local/bin/
  133. popd
  134. rm -fr /usr/local/ssr-libev
  135. fi
  136.  
  137. # Install SS-TPROXY
  138. >/dev/null; then
  139. bigecho "Install SS-TProxy, Pleast wait..."
  140. git clone https://github.com/zfl9/ss-tproxy.git
  141. pushd ss-tproxy
  142. git checkout v1-tcponly
  143. cp -af ss-tproxy /usr/local/bin/
  144. cp -af ss-switch /usr/local/bin/
  145. chown root:root /usr/local/bin/ss-tproxy /usr/local/bin/ss-switch
  146. chmod +x /usr/local/bin/ss-tproxy /usr/local/bin/ss-switch
  147. -p /etc/tproxy
  148. cp -af pdnsd.conf /etc/tproxy/
  149. cp -af chnroute.txt /etc/tproxy/
  150. cp -af chnroute.ipset /etc/tproxy/
  151. cp -af ss-tproxy.conf /etc/tproxy/
  152. cp -af dnsforwarder.conf /etc/tproxy/
  153. chown -R root:root /etc/tproxy
  154. /etc/tproxy/*
  155. popd
  156.  
  157. # Systemctl
  158. pushd ss-tproxy
  159. cp -af ss-tproxy.service /etc/systemd/system/
  160. popd
  161. systemctl daemon-reload
  162. systemctl enable ss-tproxy.service
  163. fi
  164.  
  165. # Display info
  166. bigecho "#######################################################"
  167. bigecho "Please modify /etc/tproxy/ss-tproxy.conf before start."
  168. bigecho "#ss-tproxy update_chnip"
  169. bigecho "#ss-tproxy start"
  170. bigecho "#######################################################"
  171.  
  172. exit 0

ss客户端以及tcp,udp,dns代理ss-tproxy本地安装版--centos7.3 x64以上(7.3-7.6x64测试通过)的更多相关文章

  1. 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 ...

  2. Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理

    nginx反向代理: 方案 使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址 ...

  3. TCP/UDP端口列表

    http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表     本条目可通过翻译外语维 ...

  4. TCP/UDP 常用端口列表

    计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...

  5. TCP/UDP端口列表(WIKIpedia)

    计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...

  6. 二十.Nginx反向代理、Nginx的TCP/UDP调度器、Nginx常见问题处理

    proxy client web1 web2 1.nginx反向代理   使用Nginx实现Web反向代理功能,实现如下功能:   后端Web服务器两台(web1 192.168.2.100 web2 ...

  7. java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端

    java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端 启动界面如下图: 首先启动服务器: 客户端登陆,登陆成功后为: 默认发送是全部用户,是多人发送. 当在边列 ...

  8. TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端

    目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...

  9. ubuntu 14.04 LTS 安装ss客户端

    附: 配置pac模式 ss客户端 ss客户端 前提环境 python (用最新的就行) pip (注:python工具) build-essential 以上可以通过一条命令解决: sudo apt- ...

随机推荐

  1. Android设备终端监控可能用到的工具

    先记录工具,以后详细分析 add-property-tagcheck-lost+foundcpueatercpustatsdaemonizedexdumpdirectiotestfiokexecloa ...

  2. WIFI 万能钥匙万玉权:团队之中要有跨三界之外的“闲人” [转]

      在团队规模较小时,很多事情都可以变得特别简单.比如架构的选择,大部分情况下,最初的架构越简单越好,随着业务的演进,架构才不断完善. 连尚网络经历了从几人到上百人的管理过程,其自主创新研发的产品 W ...

  3. 数据结构之二分查找——Java语言实现

    场景描述:给出一个数据序列长度为N,然后查找 一个数是否在数据序列中,若是,则返回在序列中的第几个位置. 首先可能第一个想到的就是按照顺序,从前到后一个一个进行查找,直到找到为止,若最后都没有,则说明 ...

  4. labeled statement:标签语句

    foo: for (var i=0; i< 5; i++) { for (var j=0; j<5; j++) { if ( i == j ) { // 跳到 foo 的下一个循环 // ...

  5. ssh连接虚拟机centos

    ssh连接虚拟机centos 虚拟机下CentOS7开启SSH连接 注意:安装虚拟机的时候,网络一定选择桥接模式.

  6. Mysql 监控脚本

    cat mysql_status_output.py #coding=utf-8import jaydebeapiimport sysimport pymysqlimport osfrom prome ...

  7. c语言:开平方根sqrt程序01

    #include <stdio.h> int sqrt01(int x); void main(void){ int x=49,y; y=sqrt01(x); if(y<0) pri ...

  8. CentOS7 linux下yum安装redis以及使用

    1.安装redis数据库 yum install redis 2.下载fedora的epel仓库 yum install epel-release 3.启动redis服务 systemctl star ...

  9. angualr Material Icons

    首先需要项目引入 angualr meterial icons的资源库 图标资源链接 https://klarsys.github.io/angular-material-icons/ <md- ...

  10. eclipse工具类及插件(设置注释模板)

    (摘抄原地址)https://blog.csdn.net/xb12369/article/details/79850476(设置注释模板) 首先打开Eclipse配置选项:Window->Pre ...