准备工作
创建clash目录,并在目录下生成config.yaml文件

port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: true
mode: Rule
log-level: warning
external-controller: 0.0.0.0:7070
external-ui: ui
secret: ""
proxies:
    - name: "vmess"
      type: vmess
      server: domain.com
      port: 443
      uuid: d8846cbc-cfe2-48ed-8b2b-6cf161f1dabc
      alterId: 0
      cipher: auto
      udp: false
      tls: true
      skip-cert-verify: false
      servername: domain.com
      network: ws
      ws-opts:
        path: /233blog
        headers:
            Host: domain.com
        early-data-header-name: Sec-WebSocket-Protocol
rules:
  - DOMAIN-SUFFIX,google.com,vmess
  - DOMAIN-KEYWORD,google,vmess
  - DOMAIN,ad.com,REJECT
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT
  - IP-CIDR6,2620:0:2d0:200::7/32,vmess
  - GEOIP,CN,DIRECT
  - MATCH,vmess
dns:
    enable: true
    listen: 0.0.0.0:1053
    enhanced-mode: redir-host
    nameserver:
        - '114.114.114.114'
        - '223.5.5.5'
    fallback:
        - 'tls://1.1.1.1:853'
        - 'tcp://1.1.1.1:53'
        - 'tcp://208.67.222.222:443'
        - 'tls://dns.google'

用上面的文本替换config.yaml
在当前目录下执行以下命令,跑起docker

mkdir clash
cd ~/clash && curl -sSL -O https://github.com/haishanh/yacd/archive/gh-pages.zip && unzip gh-pages.zip && mv yacd-gh-pages ui
docker run --name Clash -d -v ~/clash/config.yaml:/root/.config/clash/config.yaml -v ~/clash/ui:/root/.config/clash/ui  --restart=unless-stopped --network="host" --privileged dreamacro/clash

自动更新代理配置

# 下载节点配置文件
wget -O config.yaml https://你的clash订阅连接
# 有些供应商会把 external-controller 设为 127.0.0.1,导致很多人搭起来连不上。这里替换成 0.0.0.0
sed -i 's/127.0.0.1:9090/0.0.0.0:9090/g' config.yaml
# 重启 clash 容器
docker container restart clash
# 等待 5 秒,clash 服务启动需要一点时间
sleep 5
# 设置你常用的节点。其中 香港 03* 就是我常用节点的名称
curl -X PUT -H "Content-Type: application/json" -d '{"name": "香港 03*"}' "http://192.168.0.5:9090/proxies/PROXY

version: '3.4'

services:
  clash:
    image: dreamacro/clash-premium:2021.07.03
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    restart: unless-stopped
    volumes:
      - ./config.yaml:/root/.config/clash/config.yaml:ro
    network_mode: host
    # When your system is Linux, you can use `network_mode: "host"` directly.
    container_name: clash

参考

https://zhuanlan.zhihu.com/p/423684520

https://1024.ee/index.php/2021/02/25/mac%E4%B8%8A%E9%80%9A%E8%BF%87docker%E6%9D%A5%E8%BF%90%E8%A1%8Cclash%E5%B9%B6%E5%BC%80%E5%90%AFweb-ui/

wget https://raw.githubusercontent.com/oooldking/script/master/superbench.sh
chmod +x superbench.sh
./superbench.sh

安装bestroute

wget https://cdn.ipip.net/17mon/besttrace4linux.zip
apt install unzip
unzip besttrace4linux.zip
chmod +x besttrace

调试三网回程

./besttrace -q 1 -g cn gd.10086.cn          //广东移动
./besttrace -q 1 gd.189.cn              //广东电信
./besttrace -q 1 58.22.96.66   //福建联通

怎么看vps走的什么线路?什么是中国电信163骨干网、cn2 gt线路、cn2 GIA线路 和联通AS4837线路 、AS9929线路、联通CUIP线路、移动CMI线路,上面这些线路如何区分。看下面详细解说:

中国电信的三种不同线路
中国电信是国内最大的网络基础运营商。电信最早期的网络叫做 163骨干网,并一直沿用至今(偶尔扩容),后来电信发现163骨干网跟不上时代发展,又新建了一张网络叫做:中国电信下一代网络Chinatelecom Next Carrier Network(CNCN),又简称CN2。然后CN2网络里面又有二个细分:CN2 GT 和 CN2 GIA

CN2 GIA 优于 CN2 GT 优于 163骨干网

电信163骨干网
163骨干网就是普通民用网络,中国电信最初的骨干线路,网络节点全部都以202.97开头,使用人数最多,优化程度低,国内省与省之间的电信主干道,在出国线路上比较拥堵,速度慢,并且丢包率高。但是总带宽大,近几年还在扩容,速度有稍微的提升。

什么是中国电信163骨干网

CN2 GT线路
CN2线路的全称叫做 CN2 Global Transit,是中国电信的中端产品,在CN2里的等级比较低,在省与省之间还是走163骨干网的202.97的节点,只有在上海、北京、广州等国际出口点位置才换成59.43开头的高速通道到国外落地点。CN2 GT线路闲时速度比较好,但是晚高峰丢包率比较高,有些拥堵。

中国电信CN2线路

CN2 GIA线路
CN2 GIA线路全称CN2 Global Internet Access。
CN2 GIA线路是目前中国电信最高端的民用线路,企业级通道。CN2 GIA线路大多数到省级就走59.43高速通道直达59.43的国际出口,进出国际出口优先级高,线路表现最好、早晚峰都较为稳定。但是总带宽目前还是比较小,价格较贵。

中国电信cn2线路

中国联通的二种线路
中国联通主要分 AS4837(AS10099) 和 AS9929二种线路。 AS4837为中国联通的普通民用网络,AS9929是中国联通和中国网通合并后获得的第二张网络,简称联通A网。
联通的用户比较少,国际出口进出的网络流量比电信低很多,所以使用中国联通宽带的用户会发现 访问国外网站速度会比较快。

联通AS4837(AS10099)线路
联通AS4837:就是联通的民用网络,其通常会经过AS号为4837的路由节点(219.158..),如果你在 ipip.net 中进行测试,会发现他的路由状态:

省级-出国-国际骨干节点多途经:219.158.. 开头的IP,并且全程没有经过:218.105../210.51.. 开头的AS9929节点IP。

最近联通的AS10099节点和 AS4837经常一起出现。
非高峰期轻度负载,堵塞程度较低,速度适中,丢包率可以接受

联通AS4837线路

联通AS9929线路
中国联通AS9929线路,又叫联通A网: 经过AS号为9929的路由节点(218.105../210.51..),并且还会途经少量219.158..开头的AS4837节点IP。在出国线路上表现为非高峰期轻度负载,速度比AS4837快,丢包率更低。对标电信的CN2网络。但是AS9929的总带宽跟电信的CN2网络比不了(只能说联通的用户少,所以较为通畅)。其实AS9929就是以前中国网通被中国联通合并了,中国网通留下的遗产AS9929网络被中国联通继承。

联通AS4837线路

什么是联通CUVIP线路
CU就是中国联通的意思,cuvip 可以直译为联通高级线路。这条线路并不是联通官方自己推出的线路,而是由美国 CeraNetworks 机房自行从上海联通购买了二条100G带宽的联通AS4837商业线路到美国的Cera机房,内部使用(有少量分销)。被网友称之为CUVIP线路。
CUVIP线路具体是怎么样的呢:
去程的话:电信走163骨干网、联通走AS4837,移动走CMI ,总之各走各的到美国Cera机房,但是回程三网均走Ceranetworks拉的那条200G的联通AS4837线路到上海联通。做到去程防DDOS,回程上又有AS4837线路优化速度。丢包较少,速度上也很不错。 比如像:美国的斯巴达vps,就使用的Cera的CUVIP线路,很受站长欢迎。

什么是中国移动CMI线路
中国移动CMI究竟是什么意思?CMI的全称为China Mobile International Limited,翻译过来也就是中国移动国际有限公司。CMI(中国移动国际有限公司)是中国移动的子公司,成立于2010年12月,总部位于香港,面向全球开展国际互联网业务,目前已经在全球20个国家和地区开展业务。
走移动CMI线路的VPS服务器,在进出北上广国际出口时,一般会途经:
223.120.X.X - 223.118.X.X 这个IP段(AS号是AS58453),就表明走的是移动的CMI线路。

移动CMI回程线路

什么是CIA线路
然后是 CIA 线路。CIA 基本上就是电信版的 cuvip。cuvip 是去程走三网各自网络,回程走Cera的联通 as4837 200G带宽专线;CIA 是去程走电信 163 骨干网,回程走 CN2。CIA 这么设计有什么好处呢?因为 CN2 线路的总带宽不够大,所以难以防御大规模 DDOS 攻击。去程走电信 163 骨干网,有大带宽可以抗住 DDOS 攻击,回程走 CN2 保证网络速度与质量。提供 CIA 线路的主机商有hostdare 等。

综合上述测试VPS服务器的线路:

1、移动CMI线路途经 223.120.X.X / 223.118.X.X 节点到国内(AS58453)
2、联通AS4837线路途经219.158.X.X节点到(AS10099/AS4837)
3、联通AS9929线路途经218.105 / 210.51节点( AS9929)
4、电信普通线路走163骨干网,途经202.97省会到北上广202.97节点出国 (AS4134)
5、电信CN2 GT线路: 一般只在北上广告国际出口跳一次59.43.X.X节点出国
6、电信CN2 GIA线路:多次途经 59.43.x.X节点 (AS4809)。

然后很多站长会发现:
CN2 GIA线路最好、AS9929次之。但是都价格贵。
三网AS4837回程优化和三网CMI回程优化的VPS也不错,更具性价比。

国外最普通的VPS表现为: 电信163、联通AS4837、移动CMI。三网和走各的。类似 Vultr、Virmach、Buyvm等等。价格便宜。

双程CN2 GIA线路是最快的,一般电信和联通去程CN2 GIA,三网回程CN2 GIA。
比如:DMIT洛杉矶Premium系列 和 瓦工洛杉矶DC6机房/ 日本JPTYO_8机房

去程163/AS4837/CMI,三网回程CN2 GIA线路适合建站: Cera服务器

三网联通的AS9929回程优化线路,比如 Olink德国 和 IDC.wiki AS9929款

三网联通AS4837回程优化的线路,比如 斯巴达VPS西雅图机房 和 ioncloud

三网走移动CMI回程优化线路VPS,比如: DMIT日本机房的Lite系列

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

修改my.cnf配置文件
bind-address = 0.0.0.0
skip-network为注释状态

use mysql;
create user 'xxxxx'@'%' identified by 'password';
flush privileges;
grant all privileges on *.* to 'xxxxx'@'%' identified by 'password' with grant option;

下载openwrt最新代码

apt install unzip
apt-get install libncurses5-dev libncursesw5-dev
https://github.com/openwrt/openwrt.git
git clone https://github.com/openwrt/openwrt.git
./scripts/feeds update -a
./scripts/feeds install -a

更新package,否则luci等package通过make menuconfig 不能显示
配置目标系统
make menuconfig
选择vmdk目标文件格式
开启配置页面选项
选择luci,选luci后就会有配置页面
如果报错,可能要执行下面的语句

make package/feeds/luci/luci-base/compile V=s

make V=99

以后再编译的话

git pull
./scripts/feeds update -a && ./scripts/feeds install -af

make clean
make dirclean
rm -rf ./tmp && rm -rf .config
make menuconfig
make download -j8 V=s

优先使用多线程编译,出错则使用单线程并输出详细信息

make -j$(nproc) || make -j1 V=s