Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

手机开启 Xray TPROXY 后 VoLTE 不可用 #38

Closed
snoolee opened this issue Oct 11, 2023 · 4 comments
Closed

手机开启 Xray TPROXY 后 VoLTE 不可用 #38

snoolee opened this issue Oct 11, 2023 · 4 comments

Comments

@snoolee
Copy link

snoolee commented Oct 11, 2023

模块开启后可正常透明代理,但 VoLTE 无法使用(无论 WiFi 或移动数据下)。
由于运营商默认使用 VoLTE,所以导致使用模块时,手机无法拨打/接听电话。

使用 box 的默认配置,仅修改了 bin_name。
使用的 xray 配置也大同小异,仅修改了一些路由和DNS分流规则。
日志中没看到异常,搜索网上也没发现相关资料。

目前尝试了以下方法,问题依然存在:

  1. 设置 xray 路由为全部直连( freedom 出站);
  2. 设置 box 的 proxy_mode 为白名单模式(不代理任何应用);
  3. 将移动网络添加至 ignore_out_list(仅代理 WLAN 和热点)。
    只有将 proxy_mode 设为 core 时 VoLTE 才正常,但也没法透明代理了。

除此之外模块非常方便好用,如果能解决该问题的话不胜感谢。

@CHIZI-0618
Copy link
Owner

使用 blacklist 模式,尝试修改 box.tproxy

改为 uid_list=(1001)

使用 box.tproxy renew 重载透明代理,查看是否解决问题

@snoolee
Copy link
Author

snoolee commented Oct 12, 2023

还是不行,透明代理一开 VoLTE 就失联了。
只能关闭后,再开关飞行模式恢复。

# adb shell su -c "sed -i 's/uid_list=(/uid_list=(1001/' /data/adb/box/scripts/box.tproxy"
# adb shell su -c "cat /data/adb/box/scripts/box.tproxy | grep uid_list="
uid_list=(1001)
# adb shell su -c "/data/adb/box/scripts/box.tproxy renew"
[Warn]: cleaning up ip(6)tables transparent proxy rules.
[Warn]: clean up ip(6)tables transparent proxy rules done.
[Info]: use TPROXY:TCP+UDP.
[Info]: creating ip(6)tables transparent proxy rules.
[Info]: wlan0 swlan0 rndis0 transparent proxy.
[Info]: proxy mode: blacklist,  no transparent proxy.
[Info]: create iptables transparent proxy rules done.
[Warn]: disable IPv6.

@snoolee
Copy link
Author

snoolee commented Oct 21, 2023

找到解决方法了,需要:

  1. 在 box.config 里开启 IPv6
  2. 在 box.tproxy 里的 uid=() 中添加
    uid=("1000" "1001" "10108")

额外添加的这两个 UID 分别是系统 ims 服务和电话应用的 UID。
其他手机的值可能不一样,建议在 package 列表里搜 ims,或者 phone、dialer 相关的应用。
把这些应用的 UID 都加到作者发的那一行代码里,最后开启 IPv6 就可以了。

VoLTE 具体涉及的应用应该还有别的,通过 UID 统一排除暂时可行,以后有时间再测试吧。

@snoolee snoolee closed this as completed Oct 21, 2023
@siyue666
Copy link

找到解决方法了,需要:

1. 在 box.config 里开启 IPv6

2. 在 box.tproxy 里的 uid=() 中添加
   uid=("1000" "1001" "10108")

额外添加的这两个 UID 分别是系统 ims 服务和电话应用的 UID。 其他手机的值可能不一样,建议在 package 列表里搜 ims,或者 phone、dialer 相关的应用。 把这些应用的 UID 都加到作者发的那一行代码里,最后开启 IPv6 就可以了。

VoLTE 具体涉及的应用应该还有别的,通过 UID 统一排除暂时可行,以后有时间再测试吧。

感谢,我是volte一直跳,间断性没网,开启ipv6就好了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants