移动端 | 加入收藏 | 设为首页 | 最新ss | 赞助本站 | RSS
 

freefq.comfree——免费、自由fq——翻墙

困在墙内,请发邮件到freefqcom#gmail.com获得最新免费翻墙方法!
您当前的位置:首页 > 网络翻墙技巧

stunnel+tinyproxy一鍵腳本

时间:2016-04-12  来源:翻墙集  作者:@twfcc 条评论
 在第一個網誌寫了安裝stunnel + tinyproxy的流程,竟然有數百網友圍觀,出乎意料,
於是有了動力,決定編寫一鍵安裝腳本,方便需要的網友,也正好自己更換/新購vps
不用每次重複勞動,一舉两得 :) 代碼如下
 
[code]
#! /bin/bash
# author: twfcc@twitter
# $PROG: install_sslproxy.sh
# $Usage: $0 -s|--standard -n|--nat
# description: install stunnel+tinyproxy on NAT IPv4 Share VPS(OpenVZ) or Standard VPS(OpenVZ)
# Public Domain use as your own risk!
 
Usage="$0 -s|--standard -n|--nat"
msg1="-s or --standard install https proxy on standard openvz vps."
msg2="-n or --nat install https proxy on nat ipv4 share openvz vps"
argu=$1
 
# Are you root?
 
if [ $UID -ne 0 ] ; then
    echo "You must be root to execute this script." >&2
    exit 5
fi
 
# Check argument
 
case "$argu" in
     -s|--standard) flag=0 ;;
          -n|--nat) flag=1 ;;
                 *) printf "\n$Usage\n$msg1\n$msg2\n\n" >& 2
                    exit 6
                    ;;
esac
 
# First, we need to install some component and update OS
apt-get update && apt-get upgrade -y
apt-get install build-essential -y
if ! which openssl &> /dev/null ; then
     apt-get install openssl -y
fi
if ! which curl &> /dev/null ; then
    apt-get install curl -y
fi
 
# get vps public IPv4
myip=$(curl -s v4.ifconfig.co)
 
# what is the type of this vps?
 
if [ $flag -ne 0 ] ; then
     internal_ip=$(ifconfig venet0:0 \
                  | awk -F: '$2 ~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/{print $2}' \
                  | cut -d" " -f1)
     port=$(echo -e ${internal_ip##*.})20 #nat-vps we use the last fixed port  
else
     pick=($(for i in {19901..19999} ;do echo $i ;done)) #ports from 19901-19999
     count=${#pick[@]} #how many ports
     port=${pick[$((RANDOM%count-1))]} #pick a random port
fi
 
# install stunnel and tinyproxy
 
apt-get install stunnel tinyproxy -y
 
# edit /etc/tinyproxy.conf ; just listen local port
tinyconf="/etc/tinyproxy.conf"
mv -f "$tinyconf" "$tinyconf".bak # backup orginal conf
sed 's/#Listen 192.168.0.1/Listen 127.0.0.1/' $tinyconf.bak > $tinyconf
 
service tinyproxy restart # restart tinyproxy
 
# setup stunnel ; generate self-signed certificate first
openssl genrsa -out privatekey.pem 2048
openssl req -new -x509 -key privatekey.pem -subj \
"/C=CN/ST=MyTunnel/L=Mytunnel/O=$myip/CN=$myip" \
-out publickey.pem -days 1095
 
#copy both pem together and make a crt for browser
 
if [ -e privatekey.pem ] && [ -e publickey.pem ] ; then
   cat privatekey.pem publickey.pem > /etc/stunnel/stunnel.pem
   cat publickey.pem > publickey.crt
fi
 
# we create stunnel.conf
 
cat >stunnel.conf<<EOF
client = no
debug = 7
output = /var/log/stunnel4/stunnel.log
[tinyproxy]
accept = $port
connect = 127.0.0.1:8888
cert = /etc/stunnel/stunnel.pem
 
EOF
 
mv -f stunnel.conf /etc/stunnel/
 
# set stunnel as a deamon
 
cp -f /etc/default/stunnel4 /etc/default/stunnel4.bak
sed -i 's/^ENABLED=0$/ENABLED=1/' /etc/default/stunnel4
service stunnel4 restart
if netstat -nlp | grep -i 'tinyproxy' &> /dev/null \
   && netstat -nlp | grep -i 'stunnel4' &> /dev/null 
then
   printf "HTTPS/SSL Proxy is running.\nCopy publickey.crt to browser.\n"
   printf "\nYour IPv4:${myip}\n Port:${port}\nEnjoy!\n"
else
   printf "Failed to install HTTPS/SSL proxy.\n" >&2
   exit 1
fi
exit 0
[/code]
 
已在nat ipv4 share vps的debian 7/8 x86_64,ubuntu 14.04 x86,普通的vps
ubunbu 1404 x86,debian 8 x86_64成功通過測試,失敗的只有ubuntu 15.05,
這腳本會在nat-vps會選用供應商分配給你的20個端口最後一個:XXX20,前面的三
個數字是你的內網ip最後一組數字,腳本會自動找到,標準vps它會在19901-19999
之間隨機選一個端口,這避免太多人使用腳本安裝變成固定端口(其實沒幾人用,多餘
的做法),安裝前兼查一下該端口/該一段端口有否被佔用中,不然會錯誤
 
 
最後付上腳本下載連結
礙於編程功力,代碼非常難看,歡迎散播,改進,詢問和建議
我的twitter id: @twfcc
来自http://victor-notes.blogspot.com/2016/04/stunneltinyproxy_9.html
来顶一下
返回首页
返回首页
欢迎评论:免登录,输入验证码即可匿名评论 共有条评论
用户名: 密码:
验证码: 匿名发表

推荐资讯

Octohide VPN:快如闪电的免费VPN
Octohide VPN:快如闪
原子网络加速器 - 免费高速VPN 一键链接 方便快捷
原子网络加速器 - 免费
foxovpn绿狐VPN——即连即用、快速、安全
foxovpn绿狐VPN——即
Dubai VPN - Free, Fast & Secure VPN下载
Dubai VPN - Free, Fa
相关文章
栏目更新
栏目热门
墙外新闻
读者文摘

你可以访问真正的互联网了。You can access the real Internet.

管理员精中特别提醒:本网站域名、主机和管理员都在美国,且本站内容仅为非中国大陆网友服务。禁止中国大陆网友浏览本站!若中国大陆网友因错误操作打开本站网页,请立即关闭!中国大陆网友浏览本站存在法律风险,恳请立即关闭本站所有页面!对于您因浏览本站所遭遇的法律问题、安全问题和其他所有问题,本站均无法负责也概不负责。

特别警告:本站推荐各种免费科学上网软件、app和方法,不建议各位网友购买收费账号或服务。若您因付费购买而遭遇骗局,没有得到想要的服务,请把苦水往自己肚子里咽,本站无法承担也概不承担任何责任!

本站严正声明:各位翻墙的网友切勿将本站介绍的翻墙方法运用于违反当地法律法规的活动,本站对网友的遵纪守法行为表示支持,对网友的违法犯罪行为表示反对!

网站管理员定居美国,因此本站所推荐的翻墙软件及翻墙方法都未经测试,发布仅供网友测试和参考,但你懂的——翻墙软件或方法随时有可能失效,因此本站信息具有极强时效性,想要更多有效免费翻墙方法敬请阅读本站最新信息,建议收藏本站!本站为纯粹技术网站,支持科学与民主,支持宗教信仰自由,反对恐怖主义、邪教、伪科学与专制,不支持或反对任何极端主义的政治观点或宗教信仰。有注明出处的信息均为转载文章,转载信息仅供参考,并不表明本站支持其观点或行为。未注明出处的信息为本站原创,转载时也请注明来自本站。

鉴于各种免费翻墙软件甚至是收费翻墙软件可能存在的安全风险及个人隐私泄漏可能,本站提醒各位网友做好各方面的安全防护措施!本站无法对推荐的翻墙软件、应用或服务等进行全面而严格的安全测试,因此无法对其安全性做保证,无法对您因为安全问题或隐私泄漏等问题造成的任何损失承担任何责任!

S. Grand Ave.,Suite 3910,Los Angeles,CA 90071

知识共享许可协议
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。