为什么用stunnel来做翻墙,基本上我目前都是使用v2ray,但家里路由器性能不太好,用来跑v2ray除了慢也不稳定,在工作的外地有一台自己的nas同时也是路由器,日常都跑着v2ray,所以就考虑其他软件来替代一下家里路由器的v2ray,经过各种测试之后,stunnel的综合性能和稳定性还可以,于是用zerotier做了内网穿透,用stunnel来加密外网的socks5代理,再配合kumasocks配合来做透明代理。zerotier非必须,如果有公网IP的话可以做动态域名,然后做端口转发也可实现同样的功能。先说下基本的使用环境:nas上跑了docker、openwrt路由等,题外话:目前本站就运行在这个nas的debian docker上,通过外网反代,同样是用zerotier做内网穿透。内网IP:172.16.22.2通过zerotier推送了静态路由,家里的openwrt路由器可以直接访问这个内网IP。在debian docker上安装stunnel4.apt update && apt install stunnel4 -y生成证书cd /etc/stunnel
现在是特殊时期,各种代理的封锁疯狂程度已经可以比得上每年的6月了,我自用的v2ray也被墙了,使用的是mkcp+tls,思前想后,最关键还是没有防探测的意识,单纯依赖软件实在太难以防得住。当然,有人会说如果用tls+nginx反代就不会有问题,这种方式确实是比较不容易被封,但是问题是这种方式速度不够快,特别是电信这种坑爹出国的各种限速,根本无法满足个人看youtube 1080p的需求。痛定思痛,重新换了ip复活,为了不再浪费gfw的资源,节省一点纳税人的钱,也节省一点自己换ip的成本,部署了防探测到服务器,具体防探测防封锁的效果目前暂时还在验证中,如果有一天仍然被墙了,我会上来报告一下,如果没有,说明它仍然有效。补充说明一下目前我使用的代理方式,由于新版v2ray(4.22.1)的mkcp有些问题,我现在使用v2ray的tcp+kcptun,实测效果不输mkcp,唯一缺点可能就是带宽有些浪费,流量小的慎用。大体的思路其实很多人都有提过,就是不对外开放端口,靠防火墙来给自己开一条私有通道。除了你自己,别人无法访问这个端口,也就让gfw没有探测的条件。本次实现环境服务器和客户端均为Deb
之前写过一篇 基于Openwrt的路由器自动翻墙方案 ,基于geoip将国内和国外的流量分流,最近由于特殊需要,开始使用gfwlist黑名单模式,用了一段时间感觉还可以,记录一下。代理方面推荐用V2ray,Shadowsocks和ShadowsocksR已经有些过时,特别是去年被封了几次之后就转用V2ray了,具体V2ray的部署就不写了,网上教程很多。以下主要注重iptables规则和ipset规则,无论用V2ray或者SSR都可以适用,透明代理可使用ssr-redir或者V2ray的dokodemo-door。具体规则要比之前那篇更简单些,具体应用平台Openwrt或者Linux均可适用。Openwrt需要安装的软件opkg update && opkg remove dnsmasq && opkg install iptables-mod-nat-extra ipset dnsmasq-full在/etc/rc.local中加入下面ipset的规则,以便开机就生效。因为gfwlist主要以域名为特征码,所以部分软件的登陆可能会有些问题,下面规则中添
上一次本文提到了在Linux下交叉编译Openwrt下的shadowsocks,刚好今天又一次编译了,但编译的是shadowsocks的一个新变种ShadowsocksR,名字多了一个“R”,这个新变种基本功能差不多,就是多了一些协议混淆的功能。这次编译的步骤比上一次节省了好多,所以本文所有内容都重新来过。本次编译环境在Debian 8下进行,目标环境为联想Newifi,第一件要做的是先把编译环境准备好,开始安装必须的编译环境。apt-get update && apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils libncurses5-dev ncurses-term zlib1g-dev gawk git ccache asciidoc下载官方提供的SDK工具包以及ShadowsocksR的源码sudo su cd ~ wget http://downloads.openwrt.org/chaos_calmer/15
本篇以Debian为例,安装ShadowsocksR单用户版,文章最后有一键安装脚本。安装一些必要的软件,以Supervisor运行ShadowsocksR,用非root用户运行,如果不介意用root用户运行的话可不装Supervisor,注意以Supervisor运行的话,ShadowsocksR的监听端口不能小于1024,如果需要1024以下端口,可以用iptables转发来实现。apt-get install python-m2crypto python-gevent supervisor build-essential git -y安装libsodium以支持chacha20等加密方式wget https://github.com/jedisct1/libsodium/releases/download/1.0.15/libsodium-1.0.15.tar.gz tar zxf libsodium-1.0.15.tar.gz && cd libsodium-1.0.15 ./configure && make -j2 && ma