SagerNet / SagerNet/sing-tun

使用tun模式时抖音打视频有一部分流量会绕过核心处理

Open
#45 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
237
Forks
228
PR merge metrics
No merged PRs in 30d

Description

{
  "log": {
    "disabled": false,
    "level": "warn",
    "timestamp": true
  },
  "dns": {
    "servers": [
      {
        "tag": "dns_proxy",
        "address": "tcp://8.8.8.8",
        "detour": "Proxy"
      },
      {
        "tag": "dns_direct",
        "address": "223.5.5.5",
        "detour": "direct"
      },
      {
        "tag": "dns_fakeip",
        "address": "fakeip"
      }
    ],
    "rules": [
      {
        "outbound": "any",
        "server": "dns_direct",
        "disable_cache": true
      },
      {
        "query_type": [
          "A",
          "AAAA"
        ],
        "action": "route",
        "server": "dns_fakeip",
        "rewrite_ttl": 1
      }
    ],
    "fakeip": {
      "enabled": true,
      "inet4_range": "198.18.0.0/15",
      "inet6_range": "fc00::/18"
    },
    "final": "dns_proxy",
    "independent_cache": true
  },
  "inbounds": [
    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "tun0",
      "address": [
        "172.18.0.1/30",
        "fd00::1/126"
      ],
      "stack": "system", //gvisor system mixed
      "auto_route": true,
      "auto_redirect": true,
      "strict_route": true
    }
  ],
  "outbounds": [
    {
      "type": "trojan",
      "tag": "Proxy",
      "server": "xxxxxxxxx",
      "server_port": 8080,
      "password": "xxxxxxxxxxxxx",
      "multiplex": {
        "enabled": true,
        "protocol": "h2mux",
        "max_streams": 10
      },
      "transport": {
        "type": "httpupgrade",
        "host": "xxxxxx",
        "path": "xxx"
      }
    },
    {
      "type": "direct",
      "tag": "direct"
    }
  ],
  "route": {
    "rules": [
      {
        "inbound": "tun-in",
        "action": "sniff"
      },
      {
        "type": "logical",
        "mode": "or",
        "rules": [
          {
            "protocol": "dns"
          },
          {
            "port": 53
          }
        ],
        "action": "hijack-dns"
      },
      {
        "ip_is_private": true,
        "action": "reject",
        "method": "drop"
      },
      {
        "type": "logical",
        "mode": "or",
        "rules": [
          {
            "port": 853
          },
          {
            "network": "udp",
            "port": 443
          },
          {
            "protocol": "stun"
          }
        ],
        "action": "reject",
        "method": "drop"
      }
    ],
    "final": "Proxy",
    "auto_detect_interface": true
  },
  "experimental": {
    "clash_api": {
      "external_controller": "127.0.0.1:9090",
      "external_ui": "ui"
    },
    "cache_file": {
      "enabled": true,
      "store_fakeip": true
    }
  }
}

手机已root直接跑核心运行,版本为1.10.1,在打抖音视频时观看yacd面板对应手机上流量显示,发现的部分流量没经过核心处理直接绕过了,还装有流量使用监控,发现是每次打抖音视频时才出现的部分流量绕过核心处理,经过测试如果不在路由规则屏蔽tcp 443udp stun,打视频时绕过核心处理的流量更多

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with sing-tun 1.10.1 using the provided TUN configuration, then compare YACD traffic with the device's traffic monitor while playing a Douyin video. Inspect the TUN routing and auto_redirect behavior, especially TCP 443 and UDP/STUN handling. Done means the video traffic is consistently processed by the core rather than bypassing it.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.