daeuniverse / dae

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

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

Open oluceps opened 10 months ago

oluceps commented 10 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 10 months ago

Thanks for opening this issue!

oluceps commented 10 months ago

Cannot be reproduced for this time. Closed.

oluceps commented 10 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