daeuniverse / dae

eBPF-based Linux high-performance transparent proxy solution.
GNU Affero General Public License v3.0
2.61k stars 165 forks source link

[Bug Report] unsupported tunnel type while using shadowsocks with `simple-obfs` #369

Open oluceps opened 6 months ago

oluceps commented 6 months ago

Checks

Current Behavior

Using shadowsocks node with simple-obfs plugin reported error and nodes not appear in node list. Besides this all nodes works fine.

Expected Behavior

Works.

Steps to Reproduce

  1. Adding a node, e.g.

    ss://TEST@test.test.xyz:1023/?plugin=simple-obfs%3Bobfs%3Dhttp%3Bobfs-host%3D53a8633.bing.com
  2. Start dae, following logs appeared.

    
    Dec 19 19:02:42 kaambl dae[1439537]: level=warning msg="handlePkt: failed to GetOrCreate: unknown network unsupported tunnel type: simpleobfs+udp"

...

Dec 17 17:19:33 kaambl dae[779372]: level=debug msg="Connectivity Check Failed" err="unknown network unsupported tunnel type: simpleobfs+udp" network="udp6(DNS)" node=ss



And cannot access to website.

### Environment

- **Dae version (use `dae --version`)**: https://github.com/daeuniverse/dae/commit/89628f1f28c6344c7f948fcf380b99c48dfc4479
- **OS (e.g `cat /etc/os-release`)**: NixOS 24.05.20231211.a9bf124
- **Kernel (e.g. `uname -a`)**: 6.5.13
- **Others**:

### Anything else?

FWIW, `SIP002` URL scheme hadn't define the mode field and `SIP003` plugin seems doesn't support UDP transport, the error info may indicated this.
dae-prow[bot] commented 6 months ago

Thanks for opening this issue!

oluceps commented 6 months ago

Cannot be reproduced for this time. Closed.

oluceps commented 6 months ago

Additional Info

Minimal reproduce configuration

``` global { tproxy_port: 12345 log_level: debug tcp_check_url: 'https://www.apple.com/library/test/success.html,218.58.101.229,2600:1417:1000:89b::1aca' udp_check_dns: 'dns.google.com:53,8.8.8.8,2001:4860:4860::8888' check_interval: 30s check_tolerance: 50ms wan_interface: auto allow_insecure: false dial_mode: ip disable_waiting_network: false auto_config_kernel_parameter: false sniffing_timeout: 100ms tls_implementation: utls } subscription { } node { # desensitived ss://TEST@test.test.xyz:1023/?plugin=simple-obfs%3Bobfs%3Dhttp%3Bobfs-host%3D53a8633.bing.com } dns { ipversion_prefer: 4 upstream { alidns: 'udp://223.6.6.6:53' googledns: 'tcp://dns.google:53' } routing { request { qname(ext:"geosite:category-ads-all") -> reject qname(geosite:cn) -> alidns qname(geosite:geolocation-cn) -> alidns fallback: googledns } response { upstream(googledns) -> accept !qname(geosite:cn) && ip(geoip:private) -> googledns fallback: accept } } } group { all { policy: min_avg10 } } routing { pname(systemd-resolved) && l4proto(udp) && dport(53) -> must_direct pname(systemd-networkd, smartdns) -> must_direct fallback: all } ```

Full Log

https://pb.nyaw.xyz/genuine-gar.txt