惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
The Cloudflare Blog
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
L
LangChain Blog
Recent Announcements
Recent Announcements
Hugging Face - Blog
Hugging Face - Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
I
InfoQ
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
H
Help Net Security
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

东东's Blog

Memos: MacOS 下编译安装 Aseprite 脚本 日本关西系列|Day 2 京都的半日闲逛 美国Apple官网购买礼品卡订阅 ChatGPT Plus 北京・中关村森林公园(2026) 日本关西系列|Day 1 抵达临空城与大阪首日 Memos: 查询 Apple ID 注册时间 Memos: Ghostty 开箱即用配置 代码考古:用 gitcharts 挖掘 Git 仓库的演变轨迹 烹饪日记:香煎罗非鱼 Memos: 新时代程序员的顶级焦虑 Memos: 博客新增图文布局和轮播图效果支持 Memos: 最适合空气炸锅烤着吃的红薯品类 Memos: 记录「95分」好吃的‘小帅香菇面’ 妻子爷爷的‘朝鲜军功奖章’ Memos: 博客切换为 Shiki 代码高亮方案 Memos: 博客新增划线、重点及荧光笔效果支持 记录博客字体分包与字体子集化 Memos: 邻座吃饭的一家三口 人在囧途之哈囧 哈尔滨・乡村的冬季 查看香烟生产日期 哈尔滨・东北虎林园 Memos: 来自日本的 ndjp 提供免费的三级子域名 Memos: 刚听说 autojump, 真的好用 Memos: 体验 OpenCode + Superpowers + GPT 5.2 开发需求 Memos: 杰我睿爆雷 GoReleaser 自动发布 Go 镜像到 DockerHub & GitHub Release 初识 Volta & Corepack 前端版本管理工具 部署 Beszel 把 “小鸡们” 归拢起来 Memos: Claude Code in Action 中文版教程
AnyTLS 软件的配置与使用
2025-12-04 · via 东东's Blog

本文内容仅用于计算机网络与信息安全的学习与研究,不构成任何形式的技术服务或操作建议,亦不鼓励将相关信息用于非学术目的。


项目地址:https://github.com/anytls/anytls-go

项目介绍:一个试图缓解嵌套的 TLS 握手指纹(TLS in TLS) 问题的代理协议。anytls-go 是该协议的参考实现。

在服务器运行 AnyTLS Server

实验环境下,临时关闭防火墙,放行端口

iptables -F
firewall-cmd --permanent --add-port 8443/tcp
firewall-cmd --reload

到 Release 获取最新版并下载运行

$ wget -O anytls_0.0.12_linux_amd64.zip https://github.com/anytls/anytls-go/releases/download/v0.0.12/anytls_0.0.12_linux_amd64.zip

$ unzip anytls_0.0.12_linux_amd64.zip

$ ./anytls-server -l 0.0.0.0:8443 -p 密码

本地运行 AnyTLS Client

替换服务器的 IP、端口以及连接密码

./anytls-client -l 127.0.0.1:1080 -s 服务器IP:8443 -p 密码

v0.0.12 起支持 URI 格式连接: bash ./anytls-client -l 127.0.0.1:1080 -s "anytls://密码@服务器IP:8443"

本地访问测试

不使用转发

curl https://ip.me

使用 AnyTLS 转发请求

curl -x socks5://127.0.0.1:1080 https://ip.me

预期会打印出服务器的 IP

服务端使用 Mihomo 启动运行

Mihomo 是个高性能、跨平台的代理规则处理核心;

安装 Mihomo 服务

下载地址:https://github.com/MetaCubeX/mihomo/releases

$ wget https://github.com/MetaCubeX/mihomo/releases/download/v1.19.26/mihomo-linux-amd64-v2-go123-v1.19.26.gz

$ gzip -d mihomo-linux-amd64-v2-go123-v1.19.26.gz

$ mv mihomo-linux-amd64-v2-go123-v1.19.26 /usr/local/bin/mihomo
$ chmod +x /usr/local/bin/mihomo

# 添加目录到环境变量
$ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc

我下载的 V2 版本,因为使用 V3 版本报错 “This program can only be run on AMD64 processors with v3 microarchitecture support.”

执行测试

mihomo -v

输出

Mihomo Meta v1.19.26 linux amd64 with go1.23.12 Mon May 31 01:06:20 UTC 2026
Use tags: with_gvisor

生成自签证书


openssl req -x509 -newkey ec:<(openssl ecparam -name prime256v1) \
  -keyout server.key \
  -out server.crt \
  -days 825 \
  -nodes \
  -sha256 \
  -subj "/CN=bing.com" \
  -addext "subjectAltName=DNS:bing.com,DNS:www.bing.com"

# 移动到配置目录
mkdir -p /etc/mihomo
mv server.key /etc/mihomo
mv server.crt /etc/mihomo

其中 server.crt 是自签证书,server.key 是 EC 私钥。

生成 Mihomo 配置文件

(注意替换配置文件中的用户名密码)

cat > config.yaml << 'EOF'
listeners:
- name: anytls-in-1
  type: anytls
  port: 8443
  listen: 0.0.0.0
  users:
    username1: 密码1
    username2: 密码2
  certificate: /etc/mihomo/server.crt
  private-key: /etc/mihomo/server.key
  padding-scheme: |
   stop=8
   0=30-30
   1=100-400
   2=400-500,c,500-1000,c,500-1000,c,500-1000,c,500-1000
   3=9-9,500-1000
   4=500-1000
   5=500-1000
   6=500-1000
   7=500-1000
EOF

将配置文件移动到配置目录

mkdir -p /etc/mihomo

mv config.yaml /etc/mihomo/

运行测试

-d 参数是 mihomo 的工作目录,会在其中查找配置文件、规则文件等

mihomo -d /etc/mihomo

# 后台运行
nohup /usr/local/bin/mihomo -d /etc/mihomo > /var/log/mihomo.log 2>&1 &

# 结束进程
pkill -f mihomo

启动后使用 tail -f /var/log/mihomo.log

time="2025-08-15T11:06:20.771313086Z" level=info msg="Start initial configuration in progress"                                  
time="2025-08-15T11:06:20.771797889Z" level=info msg="Geodata Loader mode: memconservative"                                     
time="2025-08-15T11:06:20.771829776Z" level=info msg="Geosite Matcher implementation: succinct"                                 
time="2025-08-15T11:06:20.772283187Z" level=info msg="Initial configuration complete, total time: 0ms"                          
time="2025-08-15T11:06:20.812756242Z" level=info msg="Sniffer is closed"         
time="2025-08-15T11:06:20.814453853Z" level=info msg="AnyTLS[anytls-in-1] proxy listening at: [::]:8443"                        
time="2025-08-15T11:06:20.814654607Z" level=info msg="Start initial compatible provider default"

Mihomo 服务端启动完毕,在本地 anytls-client 客户端启动的情况下,可以在本地请求获取自己的 IP,预期为服务器的 IP

curl -x socks5://127.0.0.1:1080 https://ip.me

本地 Clash Verge 加载配置

目前不太会配置本地 Clash Verge 客户端的 config 配置,用 AI 精简了一个订阅的配置,勉强能用

mode: rule
mixed-port: 7897
allow-lan: false
log-level: warning
ipv6: true
unified-delay: true
external-controller-unix: /var/tmp/verge/verge-mihomo.sock

bind-address: '*'

profile:
  store-selected: true

proxies:
  - name: "Mihomo-anytls"
    type: anytls
    server: 23.xx.xx.xx   # 替换为你的 Mihomo 服务器 IP/域名
    port: 8443            # 替换为你的 Mihomo 配置端口
    username: dong        # 替换为 Mihomo 用户名
    password: qq123456    # 替换为 Mihomo 密码
    tls: true
    skip-cert-verify: true # 自签证书保留 true,可信证书可去掉

proxy-groups:
  - name: "Mihomo-Group"
    type: select
    proxies:
      - "Mihomo-anytls"

rules:
  - MATCH,Mihomo-Group

Firefox 浏览器使用的 SmartProxy 扩展,Clash Verge 使用系统代理模式。

访问 https://www.ipaddress.my/ ,已显示为服务器 IP,可以有效的保护个人隐私。

01.webp

PS:之前有忘记了这个 VPS 是在哪里买的,感谢其显示了 VPS 的 ISP 信息。


生态支持情况

目前 AnyTLS 已获得 sing-box、Mihomo 等主流代理软件的服务端与客户端支持,Shadowrocket(iOS)也在 v2.2.65+ 中增加了客户端支持。详细配置请参考各软件官方文档。