#!/bin/bash

# giving user passwordless sudo privileges
USER=`whoami`
MYPATH=$(cat /etc/passwd|grep $USER|awk -F: '{print $6}')

# need to be run as root
if [[ "$EUID" -ne 0 ]]; then
    echo "This script must be run as root"
    exit 1
fi

#parse args
while getopts "c:i:p:I:P:z:h" arg
do
    case $arg in
        c) CONFIG=$OPTARG
           if [[ ! -f "$CONFIG" ]]; then
               echo " unvalid arg for -c, ple make sure the config file is exist "
               exit 1
           fi
           ;;
        i) PROXY_IP=${OPTARG:-127.0.0.1} ;;
        p) PROXY_PORT=${OPTARG:-8888} ;;
        I) SERVER_IP=$OPTARG ;;
        P) SERVER_PORT=$OPTARG ;;
        z) ZTE_PROXY=${OPTARG:-proxysh.zte.com.cn}  ;;
        h)
           echo " -------------args for setting up stunnel--------------------"
           echo " -c: client certification"
           echo " -i: proxy ip, default to localhost
           echo " -p: proxy port, default to 8888"
           echo " -I: server ip
           echo " -P: server port listened in server"
           echo " -z: zte proxy, need to be consistent with system network set"
           echo "-------------------------------------------------------------"
           exit 0
           ;;
        ?) echo "unvalid arg"
           exit 1
           ;;
    esac
done

if [[ ! $CONFIG || ! $SERVER_IP || ! $SERVER_PORT ]]; then
    echo " need args, ple use -h for help..."
    exit 1
fi

HTTP_PROXY=http://$PROXY_IP:$PROXY_PORT
NO_PROXY=localhost,127.0.0.1,10.*.*.*/8

# use internal apt-source
INTER_APT_SOURCE=10.62.99.232

function use_internal_apt_source {
    sudo mv /etc/apt/sources.list /etc/apt/sources.list.bk
    sudo cat <<EOF >/etc/apt/sources.list
deb http://$INTER_APT_SOURCE/common/ubuntu trusty main restricted multiverse universe

deb http://$INTER_APT_SOURCE/common/ubuntu trusty-security main restricted multiverse universe

deb http://$INTER_APT_SOURCE/common/ubuntu trusty-updates main restricted multiverse universe

deb http://$INTER_APT_SOURCE/common/ubuntu trusty-proposed main restricted multiverse universe

deb http://$inter_apt_source/common/ubuntu trusty-backports main restricted multiverse universe
EOF

    sudo apt-get update
}

# if use internal apt-source to install stunnel,
# after install stunnel successfully, ple change back original apt-source
function change_back_apt_source {
    sudo mv /etc/apt/sources.list.bk /etc/apt/sources.list
}

# (optional) if can not connect to wwww, user internal apt-source
use_internal_apt_source

sudo apt-get install -y stunnel
# (optional) no matter if stunnel package is installed, change back to origin apt-source
change_back_apt_source

sudo cat << EOF > /etc/stunnel/client.conf
chroot = /var/lib/stunnel4/
setuid = stunnel4
setgid = stunnel4
pid = /stunnel4-client.pid
client = yes
cert = /etc/stunnel/client.pem
sslVersion = SSLv3

socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

[squid]
accept = $PROXY_PORT
protocol = connect
protocolHost = $SERVER_IP:$SERVER_PORT
connect = $ZTE_PROXY:80
EOF

sudo cp $CONFIG /etc/stunnel/client.pem
sudo sed -i -r "s/ENABLED=0/ENABLED=1/g" /etc/default/stunnel4

# restart stunnel
sudo service stunnel4 restart

#config proxy: append to $MYPATH/.profile
cat <<EOF >> /$MYPATH/.profile
export http_proxy=$HTTP_PROXY
export https_proxy=$HTTP_PROXY
export no_proxy=$NO_PROXY
EOF

sudo cat <<EOF > /etc/apt/apt.conf
Acquire::http::proxy \"$HTTP_PROXY/\";
Acquire::https::proxy \"$HTTP_PROXY/\";
EOF

source $MYPATH/.profile
sudo apt-get update

  

stunnel-client的更多相关文章

  1. Stunnel使用2

    1.首先测试一下stunnel.exe,是否能正常运行,正常的话,不会报错,在桌面右下角位置显示. 2.第一步完成后,打开stunnel.conf,对stunnel进行配置,需要修改一下几项:(mys ...

  2. squid+stunnel+用户密码认证的三种玩法

    没办法,应用越来越深入,就会越来越多要求. squid+stunnel+用户密码认证的场景至少以下三个,我会遇到. 1,标准玩法 在服务器上建一个SQUID,加密码认证,然后,其它人通过它上网.(不要 ...

  3. AWS + Stunnel + Squid ***

    [需求] 第一,能***. 第二,在企业网络要能突破端口限制. [原理] 利用AWS提供的一年免费EC2服务,搭建一台自己的VPS,在VPS中利用Stunnel与本机建立加密连接,将本地http请求通 ...

  4. stunnel-server

    #!/bin/bash # need to be run as root ]]; then echo "must to be run as root" exit fi # givi ...

  5. 【原】基于64位Centos6.2的mcrouter使用简介

    此文转载必须注明原文地址,请尊重作者的劳动成果!  http://www.cnblogs.com/lyongerr/p/5040071.html 目录 文档控制... 2 1 mcrouter简介.. ...

  6. 用ccproxy + stunnel做个加密代理

    https://www.stunnel.org/downloads.html ccproxy + stunnel做个加密http代理和socks5代理 目前国内用户无法访问某些国外网站,如http:/ ...

  7. stunnel+CCProxy,搭建加密代理

    总所周知,不可抗拒的特别有用心的原因,我们无法访问youtube,picasa,Twitter……国外优秀网站,很多人采用了代理服务器的方法访问. 如果您有一台放在海外的服务器,这个就好办了.下载一个 ...

  8. Windows系统Stunnel客户端的配置

    Stunnel官方就有Windows版本,到下面的地址下载: https://www.stunnel.org/downloads.html 选择”stunnel-X.XX-installer.exe“ ...

  9. Stunnel使用

     建立加密隧道 使用 Stunnel 建立加密隧道 附件中的 Server 和 Clinet 都是已经配置好了的,只需修改 Server 的 stunnel.conf 的 connect 为实际的ip ...

随机推荐

  1. Laravel框架 mysql 数据库 —— 基本使用

    增删改查 配置完数据库连接,就可以使用DB类进行查询了. 查询 $results = DB::select('select * from users where id = ?', array(1)); ...

  2. MSP430FR5739串口程序

    今天急着用这个片子的串口,匆忙中调试串口也话费了一段时间,在网上下了一个程序,忽然就把所有问题搞清楚了,只是中断就看着头文件中寄存器写的,虽然通讯正常,不过不确定有没有写错.代码如下: #includ ...

  3. IIS7 404 模块 IIS Web Core 通知 MapRequestHandler 处理程序 StaticFile 错误代码 0x80070002

    <system.webServer> <!--添加--> <modules runAllManagedModulesForAllRequests="true&q ...

  4. K2新网站(官网和BPM社区)正式上线了

    K2新网站(官网和BPM社区)正式上线了 K2新网站(官网和BPM社区)正式上线了 K2新网站(官网和BPM社区)正式上线了 通常重要的事情要讲三遍, 官网:www.k2software.cn 社区: ...

  5. CSipSimple配置系统

    称作配置系统未免太大了一点,不过它的配置管理这一块确实有加以设计,一方面以增加灵活性,另一方面以支持第三方扩展.通过分析源码,粗略画出如下的结构图: 一.类分析 SharedPreference 一切 ...

  6. jdbc执行预处理,批处理,LOB字段处理,调用存储过程

    (1)jdbc执行预处理 PreparedStatment预备语句 eg:String sql="insert into user(id,name,birthday,money) value ...

  7. Spring MVC 3.0 深入及对注解的详细讲解

    核心原理 1.       用户发送请求给服务器.url:user.do 2.       服务器收到请求.发现Dispatchservlet可以处理.于是调用DispatchServlet. 3.  ...

  8. 黑马程序员——OC基础 三种特性之封装

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三种特性之一封装 (一)set方法和get方法 1)  set方法 1&g ...

  9. 4.3.5 使用Http:// (Https://)协议连接到ActiveMQ 2015年9月28日

    用到的几点地方: 1.服务器端 ActiveMQ的文件activemq.xml中,预先要定义好有关本协议http的传输连接器格式,抓图如下: 2.    然后,开启Eclipse环境,在publish ...

  10. IOS导航栏颜色渐变与常用属性

    (转:http://www.cnblogs.com/Lingchen-start/archive/2015/10/23/4904361.html) 今年很忙,忙的写日志的时间都很少.  少的可怜. 自 ...