jiasongji/anytls

By jiasongji

Updated 6 months ago

AnyTLS: High-performance TLS tunnel. Supports IPv4/v6, Socks5/HTTP & URI config.

Image
Networking
0

813

jiasongji/anytls repository overview

🛡️ AnyTLS:高性能 TLS 隧道(Docker 优化版)

AnyTLS 是一个基于 Go 实现的轻量级 TLS 隧道工具,通过标准 TLS 1.3 协议封装流量,具备良好的隐蔽性与性能表现。

本 Docker 镜像针对真实生产环境进行了整理与优化,明确了 可执行文件路径、网络模式差异以及 IPv6 使用注意事项,避免常见的 Docker 部署误区。


🌟 核心特性

  • 💎 TLS 深度伪装:流量特征与标准 HTTPS 完全一致,降低 DPI 识别风险
  • 🌐 IPv4 / IPv6 双栈支持:监听方式天然支持双栈,无需额外配置
  • ⚡ 高性能低占用:Go 原生并发模型,资源消耗极低
  • 🛠️ Docker 友好:明确二进制路径,支持 bridge / host 两种网络模式

🏗️ 一、服务端部署(Server Side)

服务端二进制路径:

/app/anytls-server

⚠️ 本镜像 未将可执行文件加入 $PATH,必须使用绝对路径启动。


1️⃣ Host 网络模式(推荐)

适用于以下场景:

  • Docker Bridge 未启用 IPv6
  • 希望避免端口映射、docker‑proxy
  • 与 naiveproxy / v2ray 等工具保持一致行为
docker rm -f anytls-server 2>/dev/null

docker run -d \
  --name anytls-server \
  --restart always \
  --network host \
  jiasongji/anytls \
  /app/anytls-server \
  -l :<PORT> \
  -p <PASSWORD>

说明:

  • --network host:容器直接使用宿主机网络栈
  • 不要使用 -p 端口映射
  • -l :<PORT>:监听所有地址(IPv4 + IPv6)

2️⃣ Bridge 网络模式(仅在已启用 Docker IPv6 时使用)
docker rm -f anytls-server 2>/dev/null

docker run -d \
  --name anytls-server \
  --restart always \
  -p <PORT>:<PORT> \
  jiasongji/anytls \
  /app/anytls-server \
  -l :<PORT> \
  -p <PASSWORD>

⚠️ 默认 Docker Bridge 不支持 IPv6
若 IPv6 无法连通,请改用 Host 网络模式


3️⃣ Docker Compose 示例
version: "3.8"

services:
  anytls-server:
    image: jiasongji/anytls
    container_name: anytls-server
    restart: always
    # 若 Docker Bridge 未启用 IPv6,建议使用 host 网络
    # network_mode: host
    ports:
      - "<PORT>:<PORT>"
    environment:
      - TZ=Asia/Shanghai
    command: >
      /app/anytls-server
      -l :<PORT>
      -p <PASSWORD>

💻 二、客户端部署(Client Side)

客户端将 AnyTLS 隧道映射为本地 SOCKS5 代理。

docker run -d \
  --name anytls-client \
  --restart always \
  -p 1080:1080 \
  jiasongji/anytls \
  /app/anytls-client \
  -l :1080 \
  -s "anytls://<PASSWORD>@<SERVER_IP>:<PORT>"

⚙️ 三、参数说明与 IPv6 注意事项

参数说明示例
-l监听地址与端口-l :443
-p连接密码-p your_password
-nSNI 域名(可选)-n www.microsoft.com

IPv6 使用说明:

  • 客户端 URI 中 IPv6 地址必须使用中括号
    • 示例:[2001:db8::1]:443
  • 请确认宿主机防火墙(ip6tables)已放行对应端口

❓ 常见问题(FAQ)

Q:启动时报 executable file not found
A:请确认使用的是绝对路径 /app/anytls-server,不要使用 serveranytls server

Q:日志提示 please set password
A:启动命令中必须显式指定 -p <PASSWORD>

Q:IPv6 无法连接?
A:Docker Bridge 默认不支持 IPv6,请使用 --network host


📊 运维与排查

  • 查看日志:
    docker logs -f anytls-server
    
  • 检查监听端口:
    ss -tulpen | grep <PORT>
    

免责声明:本项目仅供技术研究与学习,请在遵守当地法律法规的前提下使用。


✅ 最终核对清单
  • 可执行文件路径:/app/anytls-server
  • Host 网络示例:无端口映射
  • Bridge 网络示例:仅在 IPv6 已启用时使用
  • 所有示例均已移除真实端口、密码与 IP

Tag summary

Content type

Image

Digest

sha256:0dc043f5d

Size

15.6 MB

Last updated

6 months ago

docker pull jiasongji/anytls