我以前曾经写过一个SNI Proxy代理的安装教程,但是当时只写了Ubuntu的,Debian作为我的本命系统,没有教程怎么行,所以我就去Github看了看研究了一下。
Ubuntu安装SNI Proxy代理教程:一个 反代无需证书 适用于DNS/Hosts的小工具 —— SNI Proxy代理 安装教程
目前 SNI Proxy 代理效果不如以前,防火墙针对性更强,如非必须,不推荐使用!
系统要求
本教程只适用于 Debian7 / 8 系统,其他系统都不适用。
安装SNI Proxy依赖需要 最少150MB大小的空间,所以请确保你的系统硬盘空闲空间有 300MB。
简单说明
SNI Proxy 简单的来说是一个 反向代理软件,可以把你的请求原封不动的发送给指定网站,然后再把指定网站返回的数据原封不动的返回给你,目前网上可以 科学上网的Hosts和DNS,都是通过把 谷歌等域名指向 SNI Proxy代理的IP来实现“直连”访问谷歌的,所以在某种程度上,SNI Proxy承担一个流量数据搬运工的作用。
因为 Hosts和DNS科学上网,都必须使用 https 来访问,所以过程都是加密的,而SNI Proxy只会原封不动的把流量转发过去,所以不会去解密(也不能),也就不需要担心安全问题了。
SNI Proxy Github项目:https://github.com/dlundquist/sniproxy
安装步骤
安装依赖
首先为了确保依赖安装正常、完整,我们需要更换系统 软件包源为最新的稳定源 jessie
(本步骤必做,否则很容易出错)。
默认下面的代码是 美国的镜像源,可以更换下面代码 us.sources.list 中的 us
,具体可以看这里。
rm -rf /etc/apt/sources.list && wget -N --no-check-certificate -O "/etc/apt/sources.list" https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/sources/us.sources.list
注意:这个更换 镜像源的步骤,Debian 8、Debian 9 不需要执行,可以直接跳过,Debian 7 必须执行!
然后我们更新软件包列表,并开始安装依赖
apt-get update apt-get install autotools-dev cdbs debhelper dh-autoreconf dpkg-dev gettext libev-dev libpcre3-dev libudns-dev pkg-config fakeroot devscripts build-essential unzip -y # 安装依赖会很大,可能会有 100-300MB大小,所以一开始的镜像源一定要选近的,否则会很慢。
# 在安装过程中可能会提示如下内容,选择 Yes 即可。 ======================== Configuring libc6:amd64 ======================== x ....... x x ....... x x Restart services during package upgrades without asking? x x x x 《Yes》 《No》 x x x =========================================================================
安装SNI Proxy
mkdir sniproxy && cd sniproxy # 新建一个 SNI Proxy文件夹并进入 wget -N --no-check-certificate https://github.com/dlundquist/sniproxy/archive/master.zip # 下载 SNI Proxy 最新软件包 unzip master.zip && cd sniproxy-master # 解压 SNI Proxy 软件包并进入解压后的文件夹 ./autogen.sh && dpkg-buildpackage # 开始构建 deb 包 sniproxy_deb=$(ls ..|grep "sniproxy_.*.deb") && echo ${sniproxy_deb} # 获取构建后的 deb 包的文件名,正常情况下会返回一个类似于 sniproxy_0.X.X_amd64.deb 这样的文件名 [[ ! -z ${sniproxy_deb} ]] && dpkg -i ../${sniproxy_deb} # 判断获取的文件名是否为空,如果不为空就 安装 deb 包。
最后安装完毕,我们可以用 sniproxy -V
来查看是否安装成功,正常情况下会返回版本号。
安装完毕之后,还需要配置一下配置文件,才能使用,具体看这个教程:一个 反代无需证书 适用于DNS/Hosts的小工具 —— SNI Proxy代理 安装教程
DNS服务搭建教程:
- 『原创』快速自建DNS服务器以 科学上网+屏蔽广告 —— dowsDNS 一键脚本
- Linux 使用 dowsDNS 快速自建DNS服务器以 科学上网+屏蔽广告
- Linux 自建DNS 并使用SNI Proxy实现科学上网 —— DNSmasq配置教程
使用说明
启动:/etc/init.d/sniproxy start(如果运行无反应并没有启动,那么请直接使用 sniproxy 来启动试试)
停止:/etc/init.d/sniproxy stop
重启:/etc/init.d/sniproxy restart
查看状态:/etc/init.d/sniproxy status
配置文件:/etc/sniproxy.conf
通过 dpkg -S sniproxy
命令可以查询 SNI Proxy 的所有安装文件。
运行优化说明
建议在运行 SNIProxy前,执行一下这个命令,作用是提高系统的文件符同时打开数量,对于TCP连接过多的时候系统默认的 1024 就会成为速度瓶颈。
ulimit -n 51200
这个命令只有临时有效,重启后失效,如果想要永久有效,请执行:
echo "* soft nofile 51200 * hard nofile 51200" >> /etc/security/limits.conf
然后最后再执行一下 ulimit -n 51200
即可。
添加开机启动
update-rc.d -f sniproxy defaults
取消开机启动
update-rc.d -f sniproxy remove
卸载SNI Proxy
apt-get remove --purge sniproxy
其他系统的SNI Proxy教程,我会看情况写的。
转载请超链接注明:逗比根据地 » Debian 编译安装 SNI Proxy 反向代理教程(可用于Hosts/DNS服务器)
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
或者你可以直接在电脑上设置 hosts,格式:IP空格域名,例如: 1.1.1.1 xxx.com
service sniproxy start
确实无法使用,直接使用sniproxy
启动即可。还有你更换为自建DNS后,Ping一下那些被墙的域名看一看返回的IP是什么,是不是你设置的SNI代理IP?
sniproxy
来启动SNIProxy试试。