oppo互联你坏事做尽,和tun模式打架,导致tun失效【内附解决方案】

天怒 2026-05-15 03:05 1

因为oppo的虚拟网卡,和tun打架,没法开tun模式。

但是这俩还都要用,于是查到了一个上古解决方案。

clash-verge-rev/issues/244,开关网络共享就好了。

但是每次开机都要弄,就很麻烦,让gpt帮我写了个脚本。

超级笨办法,但是有效,颇有种程序员的风采

能跑就行


$PublicAdapter = "以太网"
$TunAdapter = "vgate0"
$HoldSeconds = 2

$identity = [Security.Principal.WindowsIdentity]::GetCurrent()
$principal = New-Object Security.Principal.WindowsPrincipal($identity)
$isAdmin = $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

if (-not $isAdmin) {
Start-Process powershell.exe -Verb RunAs -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`""
exit
}

function Get-IcsItems {
$manager = New-Object -ComObject HNetCfg.HNetShare
$items = @()

foreach ($conn in $manager.EnumEveryConnection()) {
try {
$props = $manager.NetConnectionProps($conn)
$cfg = $manager.INetSharingConfigurationForINetConnection($conn)

$items += [PSCustomObject]@{
Name = $props.Name
DeviceName = $props.DeviceName
SharingEnabled = $cfg.SharingEnabled
SharingType = $cfg.SharingConnectionType
Config = $cfg
}
} catch {}
}

return $items
}

function Disable-AllIcs {
param($Items)

foreach ($item in $Items) {
try {
if ($item.SharingEnabled) {
Write-Host "Disable ICS on:" $item.Name
$item.Config.DisableSharing()
Start-Sleep -Milliseconds 500
}
} catch {}
}
}

$svc = Get-Service -Name SharedAccess -ErrorAction SilentlyContinue
if ($svc -and $svc.Status -ne "Running") {
Write-Host "Starting SharedAccess service..."
Start-Service -Name SharedAccess
Start-Sleep -Seconds 1
}

$items = Get-IcsItems

Write-Host ""
Write-Host "Available ICS connections:"
$items | Select-Object Name, DeviceName, SharingEnabled, SharingType | Format-Table -Auto
Write-Host ""

$public = $items | Where-Object {
$_.Name -eq $PublicAdapter -or $_.Name -like "*$PublicAdapter*" -or $_.DeviceName -like "*$PublicAdapter*"
} | Select-Object -First 1

$tun = $items | Where-Object {
$_.Name -eq $TunAdapter -or $_.Name -like "*$TunAdapter*" -or $_.DeviceName -like "*Mihomo*" -or $_.DeviceName -like "*Meta Tunnel*"
} | Select-Object -First 1

if (-not $public) {
Write-Host "Cannot find public adapter:" $PublicAdapter -ForegroundColor Red
Pause
exit 1
}

if (-not $tun) {
Write-Host "Cannot find TUN adapter. Make sure TUN is already enabled." -ForegroundColor Red
Pause
exit 1
}

try {
Write-Host "Public adapter:" $public.Name
Write-Host "TUN adapter :" $tun.Name
Write-Host ""

Write-Host "Clearing existing ICS..."
Disable-AllIcs $items
Start-Sleep -Seconds 1

$items = Get-IcsItems
$public = $items | Where-Object {
$_.Name -eq $PublicAdapter -or $_.Name -like "*$PublicAdapter*" -or $_.DeviceName -like "*$PublicAdapter*"
} | Select-Object -First 1

$tun = $items | Where-Object {
$_.Name -eq $TunAdapter -or $_.Name -like "*$TunAdapter*" -or $_.DeviceName -like "*Mihomo*" -or $_.DeviceName -like "*Meta Tunnel*"
} | Select-Object -First 1

Write-Host "Enable private sharing on TUN:" $tun.Name
$tun.Config.EnableSharing(1)

Start-Sleep -Milliseconds 800

Write-Host "Enable public sharing on:" $public.Name
$public.Config.EnableSharing(0)

Write-Host "Hold for" $HoldSeconds "seconds..."
Start-Sleep -Seconds $HoldSeconds
}
finally {
Write-Host "Disable ICS again..."
$items = Get-IcsItems
Disable-AllIcs $items

Write-Host ""
Write-Host "ICS pulse finished."
Write-Host "Now test TUN."
Pause
}

最新回复 (19)
  • Angel 05-15 03:07
    1

    说到这个 小米的互联就好多了 虽然体验是一坨 但是起码不打架^-^^-^^-^^-^^-^

  • 天怒 楼主 05-15 03:12
    2

    每次调用要进终端,有点麻烦。可以直接让gpt封装成exe。这里就不放了,毕竟exe不透明

  • yanaxi 05-15 03:14
    3



    我也是这个 OPPO 互联搞的鬼。之前找了好久的原因没找到,后面才知道是互联搞的,然后 TUN 只要一开就没网。也是写了一个 C 语言的软件就解决了

  • tangyishao 05-15 03:30
    4

    哈哈哈哈哈哈,我更新当天就炸了一晚上的网^-^,我后面发现了火气上来直接给他删了,真不如不用,感觉这些功能也可有可无,投屏也不需要,还是用回我的uu远程好了

  • 刘邦 05-15 03:39
    5

    我靠 我说我这几天tun 模式不能用 原来是这小子搞得鬼

  • raclen 05-15 07:20
    6

    原来他得问题,卸载了Oppo 行不

  • liu 05-15 07:29
    7

    前两天我也遇到了,初步定位的问题在于oppo互联打开了网卡的包转发机制,应该是在为通信共享做准备,这也无可厚非。TUN本来就是较专业的技术。

  • sabbbber 05-15 08:05
    8

    我也在用oppo互联,目前是手机给电脑开热点,然后电脑上开oppo互联,会有概率出现手机连不上的情况,也是开关一下tun模式就好了,不过还真没试过tun模式下在oppo互联里把投屏打开是啥情况。感谢佬友分享,现在修复了也倒是不用试了hhh

  • 𝕶𝖆𝖑. 05-15 08:35
    9

    前几个星期也遇到了,好一顿排障,最后也没有什么解决方法,就是开关了下热点就可以了

  • 钟阮 05-15 08:50
    10

    VIVO 互联倒是不会,难道是有特殊适配

  • huhuya 05-15 09:53
    11

    真是救了大命了。前段时间tun模式突然不好使。该死的oppo互联 ^-^

  • ye 05-15 10:19
    12

    确实恶心,我用"你的手机",反正我用互联基本只是为了快速复制验证码,你的手机功能足够我用了

  • 行思渐远 05-15 11:22
    13

    我是macOS上要用手机USB网络共享,可这个功能跟oppo互联有冲突,二选一 ^-^

  • threeicream 06-03 21:07
    14

    真的神秘,我检查了半天,结果是oppo的问题

  • b1ElUd@mf%2Kv5 06-10 08:32
    15

    很是期待佬发布这个工具 ,谢谢!

  • BigDream 06-10 08:34
    16

    mac好像没有事 我没有出现过这种问题啊

  • fimmy 06-10 14:21
    17

    我当时重置网络,重装v2rayn查了好久,卸载了OPPO互联才把那个tun网卡删了,才知道是OPPO互联的问题。

  • TONYGFX 06-23 18:43
    18

    受害者前来报道,刚刚解决了这个问题困扰了我好久

  • 莱茵河 07-03 14:39
    19

    我特么…

    我现在也是这么解决的, 原来是oppo互联的问题, 我真是服了 感觉天塌了

* 帖子来源Linux.do
返回