自我搭建梯子代理服务教程

主页-VPN 2024-11-19 Visibility5705 thumb_up567

租用VPS服务器自建翻墙工具一度很流行,以前很多有点技术基础的人也在用这种方法,买了VPS服务器,下载安装脚本文件,就能翻墙了

自建梯子会是一条很好的路,不过,问题就是,自建梯子需要一定的技术能力,成本和门槛都比机场要高,但是,在安全性方面会比较好一些。自己动手,自力更生,让人有更多的安全感.

一、购买VPS

自建梯需要购买一台服务器 VPS。现在你买一台VPS也不贵了,一个月几十元钱。当然,如果需要好的线路得需要多花一些钱,但是也不贵。

购买的 VPS 有几个要点 - “流量” 和 “位置”:

上述的这些东西在后面都会讲到。另外,VPS 建议安装成 Ubuntu,版本用 18.04,20.04,22.04 都行

1.1 常规VPS

对于常规 VPS,主要是一个云服务提供商,大的原厂商都提供免费使用和赠金,所以,可以白嫖一段时间。

Note

1.2 CN2 线路

如果你需要更好更高速的网络服务(比如你要看 Youtube 的 1080P),那么,你需要下面的这些服务器资源了(价格也会高一些)

CN2GIA 是两个关键词。CN2 GIA 全称 China telecom Next Carrier Network- Global Internet Access 电信国际精品网络,特征是路由线路上骨干节点均为59.43开头的IP。如果想要寻找接入CN2线路的国外VPS提供商,建议使用 Next Carrier Network 或者 CN2 这个关键词搜索即可。

多说一句, CN2本身又分为两种类型:

关于 CN2 线路的主机提供商,好些都不靠谱,只推荐下面两个,首推搬瓦工。

更多的可以参考这篇文章《CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机》(注:随时间推移,这篇文章的内容可能会失效)

重点说一下,CN2 GIA + 香港机房,你会得到巨快无比的上网速度(无论你在中国的哪个位置,无论使用哪家运营商,CN2 GIA都是最优的),然而,香港地区的VPS的确是有点贵了。在 Youtube上看 4K 的视频毫无压力。虽然阿里云和腾讯的也有,但是被查到的风险基本上是100%,不建议使用,被抓了别怪我没警告过你。

二、搭建相关代理服务

注:如下的搭建和安装脚本可参看本库的 scripts 目录下的脚本,如: Ubuntu 18.04 Installation Script (感谢网友 @gongzili456 开发),另外,这个脚本可能年久失修,不一定能用,但是可以参考,如果有问题,可以提交 PR

2.1 设置Docker服务

首先,你要安装一个Docker CE 服务,这里你要去看一下docker官方的安装文档:

然后开始设置你的VPN/SS服务

2.2 开启 TCP BBR 拥塞控制算法

TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google设计,于2016年发布的拥塞算法。以往大部分拥塞算法是基于丢包来作为降低传输速率的信号,而BBR则基于模型主动探测。该算法使用网络最近出站数据分组当时的最大带宽和往返时间来创建网络的显式模型。数据包传输的每个累积或选择性确认用于生成记录在数据包传输过程和确认返回期间的时间内所传送数据量的采样率。该算法认为随着网络接口控制器逐渐进入千兆速度时,分组丢失不应该被认为是识别拥塞的主要决定因素,所以基于模型的拥塞控制算法能有更高的吞吐量和更低的延迟,可以用BBR来替代其他流行的拥塞算法,例如CUBIC。Google在YouTube上应用该算法,将全球平均的YouTube网络吞吐量提高了4%,在一些国家超过了14%。

BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。

如果开启,请参看 《开启TCP BBR拥塞控制算法

2.3 申请域名和证书

为了更为的隐蔽,使用 HTTPS 服务,你需要完成如下工作:

1) 一个域名(可以上 GoDaddy,但一定要使用美国版)

2) 然后在 GoDaddy 上修改域名解析服务器,把其指向 Cloudflare —— 当你注册完 Cloudflare 帐号后,Cloudflare 会告诉你怎么做。

3)然后,你在 Cloudflare 上创建一个子域名解析到你的 VPS 上 IP 上(注:不要开启 Cloudflare 的 Proxy 模式)

4)最后,使用 Let's Encrypt 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 certbot,点击 certbot 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。

接下来,你需要申请一个证书(我们使用standalone的方式,然后,你需要输入你的电子邮件和你解析到 VPS 的域名):

$ sudo certbot certonly --standalone

证书默认生成在 /etc/letsencrypt/live/<YOUR.DOMAIN.COM/> 目录下,这个证书90天后就过期了,所以,需要使用一个 cron job 来定期更新(稍后给出)

2.4 用 Gost 设置 HTTPS 服务

gost 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式

接下来就是启动 gost 服务了,我们这里使用 Docker 的方式建立 gost 服务器。

#!/bin/bash

# 下面的四个参数需要改成你的
DOMAIN="YOU.DOMAIN.NAME"
USER="username"
PASS="password"
PORT=443

BIND_IP=0.0.0.0
CERT_DIR=/etc/letsencrypt
CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem
KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem
sudo docker run -d --name gost \
    -v ${CERT_DIR}:${CERT_DIR}:ro \
    --net=host ginuerzh/gost \
    -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com"

上面这个脚本,你需要配置:域名(DOMAIN), 用户名 (USER), 密码 (PASS) 和 端口号(PORT) 这几个变量。

关于 gost 的参数, 你可以参看其文档:Gost Wiki,上面我设置一个参数 probe_resist=code:404 意思是,如果服务器被探测,或是用浏览器来访问,返回404错误,也可以返回一个网页(如:probe_resist=file:/path/to/file.txt 或其它网站 probe_resist=web:example.com/page.html

Note开启了探测防御功能后,当认证失败时服务器默认不会响应 407 Proxy Authentication Required,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。对于上面的例子,我们的knock参数配置的是www.google.com,所以,你需要先访问一下 https://www.google.com 让服务端返回一个 407 后,SwitchyOmega 才能正常工作。

如果认证信息(也就是用户名和密码)中包含特殊字符,则可以(应该是必须!否则客户端一侧会有很多不兼容)通过auth参数来设置,下面是使用 auth 参数的例子(注意,需要 gost 在 2.9.2+ 以上版本):

DOMAIN="YOU.DOMAIN.NAME"
USER="username"
PASS="password"
PORT=443
AUTH=$(echo -n ${USER}:${PASS} | base64)

BIND_IP=0.0.0.0
CERT_DIR=/etc/letsencrypt
CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem
KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem
sudo docker run -d --name gost \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ -L "http2://${BIND_IP}:${PORT}?auth=${AUTH}&cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.go ogle.> com"

如无意外,你的服务就启起来了。 你可以使用如下命令在检查有没有启动成功:

你可以使用下面的命令验证你的 gost 服务是否正常。

curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PASS'

接下来就是证书的自动化更新。

可以使用命令 crontab -e 来编辑定时任务:

0 0 1 * * /usr/bin/certbot renew --force-renewal
5 0 1 * * /usr/bin/docker restart gost

这样,服务器就配置完成了。客户端请移动后面的客户端章节。

使用 Cloudflare 的注意事项上述的方法并不支持 Cloudflare CDN,如果你想使用了 Cloudflare CDN,你需要使用 WebSocket 协议,如下所示,你需要使用 mwss 协议。
gost -L=mwss://username:password@:443?cert=/path/to/your/cert/file\&key=/path/to/your/key/file
在 CloudFlare 上,请将TLS/SSL设置为 完全如果你的客户端只能使用 socks 协议,你还要在客户端这边转一下:
gost -L socks://:YourLocalPort -F mwss://username:[email protected]:443

然后在其他软件中设置socks5代理即可

2.5 设置 ShadowSocks 服务 (不推荐)

(注:ShadowSocks 被查的机率非常大,不推荐使用)

(如果有隧道转发,可以使用)

ShadowSocks 的 Docker 启动脚本 (其中的 SS_PORTSS_PASSWD 需要重新定义一下)

#!/bin/bash

SS_PORT=1984
SS_PASSWD=MyPasswd

sudo docker run -dt --name ss \
   -p ${SS_PORT}:${SS_PORT} mritd/shadowsocks \
   -s "-s 0.0.0.0 -p ${SS_PORT} -m aes-256-cfb -k ${SS_PASSWD} --fast-open"

2.6 设置L2TP/IPSec服务 (不推荐)

注:VPN方式被查的机率非常大,不推荐使用)

L2TP/IPSec 的启动脚本,其中的三个环境变量 USERPASSPSK 需要替换一下。

#!/bin/bash

USER=someone
PASS=password
PSK=psk_key

sudo docker run -d  --privileged \
    -e PSK=${PSK} \
    -e USERNAME=${USER} -e PASSWORD=${PASS} \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -p 1701:1701/tcp \
    -p 1194:1194/udp  \
    siomiz/softethervpn

三、客户端设置

3.1 电脑端设置

3.1.1 Chrome 代理设置

你可以使用 Chrome 插件 SwitchyOmega进行代理设置。在 SwitchyOmega 中,你需要设置一个代理服务器。

  1. 打开 SwitchyOmega 的设置页面,点击左边导航栏上的“New Profile”,输入一个名字,比如“代理”。
  2. 然后在 Protocol 中选择 HTTPS, 填上你的 Gost 的 VPS 服务器和端口号。
  3. 点后面的 🔒 按钮,输入 Gost 服务器的用户名和密码。

具体的教程可以参看官方教程 - 《最新 SwitchyOmega 使用教程快速入门篇

如果无法直接配置 HTTPS 代理,具体原因可能是因为你设置了probe_resist以开启探测防御功能。这里,你需要在服务器端设置 knock 参数(参看 用 Gost 设置 HTTPS 服务 中的“注意”一节 )

或是,干脆使用 gost 客户端在本机启动一个 SOCKS 5的代理服务用来代替(gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'),然后在 SwitchyOmega 配置代理为'127.0.0.1:1080'即可。

3.1.2 全局 Clash 代理设置

在电脑上,使用 Clash 一个就可以了。Clash 支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell,Trojan。 而且支持多个代理服务器的分组和负载均衡。

Clash 的客户端支持多种平台,包括 Windows, MacOS, Linux 等,你可以在 Clash 的 Release 页面 下载到最新的版本。这个是命令行版本,但配置其实并不复杂。

另外,有一些比较高级的功能,如:开启 Tun 网卡,需要使用 Clash Premium,这个版本不收费,但是是闭源的。

当然,如果你要安装 GUI 版本,你可以通过如下的项目安装:

下面是 Clash 安装完后的配置目录结构:

├── clash                <- 建一个 clash 的目录
│   ├── clash            <- 运行文件
│   ├── config.yaml      <- 配置文件
│   ├── Country.mmdb     <- IP地址库
│   └── ui               <- Clash 的 UI
│       ├── index.html
│       ├── ...

说明一下:

下面是个示例:

port: 7890
socks-port: 7891
redir-port: 7892
mixed-port: 7893
ipv6: false
allow-lan: true
mode: Rule
log-level: info
external-controller: '0.0.0.0:9090'
external-ui: ui
secret: ''
tun:
  enable: true
  stack: system
  dns-hijack:
    - tcp://8.8.8.8:53
    - udp://8.8.8.8:53
dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  default-nameserver:
    - 114.114.114.114
  #enhanced-mode: redir-host
  enhanced-mode: fake-ip #如果要玩netflix,需要使用fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - 114.114.114.114
    - 223.5.5.5
    - tls://8.8.8.8:853
  fallback:
    - tls://8.8.8.8:853

# 两个代理服务器
proxies:
  # http
  - name: "https01"
    type: http
    server: https.server.domain
    port: 443
    username: user
    password: "password"
    tls: true # https
    skip-cert-verify: true
  - name: "https01"
    type: http
    server: https.server.domain
    port: 443
    username: user
    password: "passowrd"
    tls: true # https
    skip-cert-verify: true

# 配置 Group
proxy-groups:
  # 自动切换
  - name: "auto"
    type: url-test
    proxies:
      - us01_https
      #- us02_https
      #- hk_https
    # tolerance: 150
    url: 'https://www.google.com/'
    interval: 300
  # 按需选择 - 可以在UI上选择
  - name: "netflix"
    type: select
    proxies:
      - us01_https
      - us02_https
      - hk_https

rules:
# LAN
  - DOMAIN-SUFFIX,local,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT

# Netflix
  - DOMAIN-SUFFIX,fast.com,netflix
  - DOMAIN-SUFFIX,api-global.netflix.com,netflix
  - DOMAIN-SUFFIX,netflix.com,netflix
  - DOMAIN-SUFFIX,netflix.net,netflix
  - DOMAIN-SUFFIX,nflxext.com,netflix
  - DOMAIN-SUFFIX,nflximg.com,netflix
  - DOMAIN-SUFFIX,nflximg.net,netflix
  - DOMAIN-SUFFIX,nflxso.net,netflix
  - DOMAIN-SUFFIX,nflxvideo.net,netflix

# 最终规则(除了中国区的IP之外的,全部翻墙)
  - GEOIP,CN,DIRECT
  - MATCH,auto

更多的规则网上可以找到很多,也可以参看这里:SS-Rule-Snippet/LAZY_RULES/clash.yaml

Note

除了 Clash 外,你可以安装原生的客户端。如:

1) VPN 客户端

对于L2TP/IPSec,几乎所有的客户端操作系统(无论是Windows/Mac/Linux的电脑,还是iPhone/Android)都支持,你可以自行Google。

2) Shadowsocks 客户端

对于 Shadowsocks 客户端,可以到这里查看 Shadowsocks Clients

注:关于 Shadowsocks 客户端的配制, 加密协议必须是跟 Shadowsocks 服务端相一致。可以自行约定在 Shadowsocks , 如:之前章节示例中使用的是 aes-128-gcm

3) Gost 客户端

Gost 并不支持智能代理(也就是该翻的时候翻,不用翻的时候不翻), 所以我们可以重用 ShadowSocks 的客户端。

对于电脑来说,你同样可以 下载 gost 程序,然后使用下面的命令行:

# 此处的ss服务端加密协议(eg: aes-128-gcm)必须是ss客户端支持的协议
gost -L ss://aes-128-gcm:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443'

这样用 gost 在你的本机启动了一个 ShadowSocks 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。

┌─────────────┐  ┌─────────────┐            ┌─────────────┐
│ ShadowSocks │  │             │    WAN     │             │
│    Client   ├──► Gost Client ├────────────► Gost Server │
│ (PAC Auto)  │  │             │            │             │
└─────────────┘  └─────────────┘            └─────────────┘

ShadowSocks Client 主要完成:自动设置操作系统代理服务器的 pac (自动设置翻墙或是不翻墙的路由)

这样,你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。

3.2 手机端设置

3.2.1 Android

3.2.2 iPhone

对于 Apple 上的 iPhone/iPad,就比较麻烦了。因为相关的客户端在国内的 App Store 上全都被下架了。所以,你需要注册一个美国的苹果ID,然后 iTunes/App Store 用这个美区的ID登录(不是退出iCloud ,而是退出App Store)。

关于如何注册美区 Apple ID账号,你需要有两个前提条件:

关于如何搞到美国的手机号以及美国的 PayPal 账号以及其必要性,可以参看5. 美国手机和支付

然后,你就可以用电脑登录 https://appleid.apple.com/ 全新注册一个帐号,注册的时候,你需要选择美国的地区,然后,你需要用你的美国手机号码接收验证码,最后,你需要用你的美国 PayPal 账号来绑定你的信用卡。

iPhone 上的客户端我推荐使用下面这两个(需要付费),这两个客户端都支持很多协议,如:ShadowSocks, HTTP(s), VMess, Socks5,等。

NotePotatso 作为 shadowsocks 的客户端也是可以的,而且免费,但是无法使用 Gost 的 HTTPS 代理,所以,我不推荐使用。

3.3 平板端设置 (服务端使用gost代理)

3.3.1 iPad

ShadowRocket:打开app,点击右上角+号添加服务器,配置如下几项即可(其余条目采用默认值即可)

Type: HTTPS

Address: $DOMAIN

Port: 443

User: $USER

Password: $PASS

其中,$DOMAIN为服务器的域名/子域名,$USER与$PASS分别为服务端启动gost代理时设定的用户名和密码

=================================================================================

最后还是给大家推荐个一键快速搭建梯子的脚本( V2Ray 脚本),懒人及小白必备(从安全角度出发不是特别建议)

新的一键 V2Ray 脚本,经过笔者的测试,安装简单方便,自动关闭防火墙,自动安装 BBR 加速,因此推荐大家使用!

安装命令:

输入以下命令一键安装,回车执行(shift+insert可粘贴)

bash <(curl -s -L https://git.io/v2ray-setup.sh)
COPY

老鸟可以用这个自定义安装:

bash <(curl -s -L https://git.io/v2rayinstall.sh)
COPY

如果要解锁 ChatGPT 可以执行以下命令(利用 CloudFlare WARP 解锁)

先不解锁直接用代里访问ChatGPT, 如果可以正常访问就不需要解锁了.
bash <(curl -s -L https://raw.githubusercontent.com/xyz690/v2ray/master/unlock_chatgpt.sh)


bug_report自我搭建梯子代理服务教程无法访问?

建议用手机浏览器打开“自我搭建梯子代理服务教程”。

微信/QQ可能屏蔽了“自我搭建梯子代理服务教程”网站,首先保证网址是从浏览器/手机浏览器打开的,因为微信/QQ会屏蔽一些站。

建议使用不会屏蔽网址的浏览器。

如果浏览器提示“自我搭建梯子代理服务教程”该网站违规,并非真的违规。而是浏览器厂商屏蔽了这个站。推荐原生态不会屏蔽网站的浏览器,苹果可以用自带的浏览器,Alook浏览器、X浏览器、VIA浏览器、微软Edge等

通常打不开“自我搭建梯子代理服务教程”都是因为网络问题。

好的网站会针对三大运营商(电信、移动、联通)进行优化,所以小网站会遇到一些网络打不开。可以来快导航网寻找“自我搭建梯子代理服务教程”最新网址、“自我搭建梯子代理服务教程”发布页和“自我搭建梯子代理服务教程”备用网址。一劳永逸的话,我们推荐使用加速器(将自己的网络切换成更稳定的运营商,比如电信)。部分网站需要科学上网,比如google等(这边不推荐,除非你真的用于学习资料的查询。)

以上三点均能解决99.99%网站打不开的问题了。

如有疑问,可通过邮件的方式联系我们。

share分享
favorite点赞
kid_star收藏
gpp_bad报错
无法正常访问
资源版权侵权
涉嫌违法违纪