Tunnel Doctor (Bác sĩ đường hầm mạng)
Skill chẩn đoán và sửa xung đột giữa Tailscale và các công cụ proxy/VPN (Shadowrocket, Clash, Surge, OrbStack/Docker) trên macOS khi SSH, curl hay Docker bị treo.
Tiện íchNâng cao★ 1,323⑂ 212Điểm AI 8/10Cập nhật lần cuối: 8 thg 8, 2026
Skill này làm gì
Khi bạn dùng Tailscale song song với công cụ proxy/VPN trên macOS, mạng có thể hỏng ở nhiều tầng khác nhau. Skill này bóc tách từng tầng và chỉ đúng cách sửa.
- 5 tầng xung đột: bảng route bị chiếm, biến môi trường
http_proxy, system proxy (browser trả 503), SSH ProxyCommand tạo đường hầm kép, và proxy lan vào VM/container. - Bảng tra triệu chứng → bước xử lý: "tailscale ping được nhưng SSH timeout", "browser 503 mà curl 200", "git push lỗi ngắt quãng", "docker build
apk addbị Connection refused ngay lập tức"... - Cảnh báo số đo bị TUN làm sai:
nc -ztrả 0.00s,pingRTT dưới 1ms tới máy chủ nước ngoài đều là do TUN bắt tay tại máy bạn — skill nhắc dùngtime_appconnectthay vì tin những con số này. - Bẫy DNS: fake IP 198.18.x.x, resolver chết khiến
ssh/curltreo 60 giây dùnslookuptrả ngay, và tình trạng "DIRECT split-brain" khiến toàn bộ site đi đường trực tiếp chết cùng lúc. - Script
scripts/quick_diagnose.pykiểm tra nhanh NO_PROXY, ngoại lệ system proxy, TLS nội bộ và quyền sở hữu route.
Phù hợp với ai
- Lập trình viên dùng Tailscale để SSH vào máy dev từ xa (Mac Mini, WSL) và luôn bật proxy.
- Người làm việc trong mạng bắt buộc qua proxy, hay bị lỗi
docker pull/docker build. - Ai muốn debug mạng bằng bằng chứng thay vì đoán mò.
- Ai đang mắc lỗi
kex_exchange_identificationkhi bật Tailscale SSH cho WSL.
Ví dụ sử dụng
- Chỉ browser lỗi 503: curl trả 200 nhưng browser 503 → skill kết luận Tầng 3 (system proxy) và hướng dẫn thêm
100.64.0.0/10vàoskip-proxycủa Shadowrocket. - Chỉ
git pushchết:ssh -T git@github.comOK nhưng push báofailed to begin relaying via HTTP→ chẩn đoán đường hầm kép, kiểm chứng bằngProxyCommand=nonerồi chuyển sangssh.github.com:443. docker buildhỏng: host curl bình thường nhưngRUN apk addfail trong 0.2s → xung đột transparent proxy của OrbStack với TUN, sửa bằng--network hosthoặc cấu hìnhdocker.jsontrỏ tớihost.internal.
· · · Hướng dẫn cài đặt · · ·
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục tunnel-doctor từ repo GitHub daymade/claude-code-skills vào ~/.claude/skills/tunnel-doctor/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/tunnel-doctor ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở Terminal và clone repo chứa skill:
git clone https://github.com/daymade/claude-code-skills.git - Tạo thư mục skill của Claude Code nếu chưa có:
mkdir -p ~/.claude/skills - Copy nguyên thư mục
tunnel-doctor(để giữ cảscripts/vàreferences/):cp -r claude-code-skills/tunnel-doctor ~/.claude/skills/ - Kiểm tra:
ls ~/.claude/skills/tunnel-doctorphải thấySKILL.md. - Khởi động lại Claude Code, rồi mô tả triệu chứng như "Tailscale ping được nhưng SSH timeout" để skill tự kích hoạt.
- Cần Python 3 cho script chẩn đoán nhanh: kiểm tra bằng
python3 --version. - (Lưu ý an toàn) Skill đề xuất các lệnh thay đổi route, DNS và cấu hình Docker — hãy đọc kỹ và sao lưu cấu hình cũ trước khi chạy.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT