收起左侧

代理导致飞牛同步无法正常连接,解决方法

1
回复
28
查看
[ 复制链接 ]

2

主题

0

回帖

0

牛值

江湖小虾

适用:windows系统使用了Xbox下载助手、cc-swith等代理导致飞牛同步无法正常连接,即使在系统设置中关闭了代理也无法连接。

代理导致飞牛同步 无法正常启动

1.1需要代理-解决方法

Windows11绕过代理启动:

1.终端

$env:NO_PROXY = "192.168.31.100,.fnos.net"; & "D:\1everyday\飞牛\fn-sync-client.exe"

2.创建快捷方式

桌面右键 → 创建快捷方式,

然后把下面代码加到这个新快捷方式的"目标"里:
cmd /c "set NO_PROXY=192.168.31.100,.fnos.net && "D:\1everyday\飞牛\fn-sync-client.exe""

注意
D:\1everyday\飞牛\fn-sync-client.exe为飞牛同步的位置,在安装目录下。
192.168.31.100为飞牛局域网地址
.fnos.net为飞牛远程访问域名。

创建快捷方式


1.2 关闭代理-依然不行

Xbox下载助手、cc-swith导致
Windows 解决方法

1.2.1 终端查看代理

  1. CMD / PowerShell 通用
netsh winhttp show proxy

看的是 WinHTTP 系统代理(很多系统服务/部分命令行工具走这个),不是浏览器代理

  1. PowerShell(更全,对应"设置 → 代理"里看到的那项)
Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings'

关注几个值:

ProxyEnable= 1 表示开启

ProxyServer= 地址:端口(如 127.0.0.1:7890)

AutoConfigURL= PAC 脚本地址(如果有)

  1. 环境变量代理(很多 CLI 工具认这个,如 pip/curl)
echo %HTTP_PROXY%
echo %HTTPS_PROXY%
:: PowerShell 里用
$env:HTTP_PROXY; $env:HTTPS_PROXY

为空就是没设。

1.2.3 我的windous问题

PS C:\Users\jiu> netsh winhttp show proxy

当前的 WinHTTP 代理服务器设置:

    直接访问(没有代理服务器)。

PS C:\Users\jiu> Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings'


CertificateRevocation    : 1
DisableCachingOfSSLPages : 0
IE5_UA_Backup_Flag       : 5.0
PrivacyAdvanced          : 1
SecureProtocols          : 2720
User Agent               : Mozilla/4.0 (compatible; MSIE 8.0; Win32)
ProxyEnable              : 0
MigrateProxy             : 1
ZonesSecurityUpgrade     : {48, 128, 209, 228...}
EnableNegotiate          : 1
WarnonZoneCrossing       : 0
LockDatabase             : 134270264093067874
ProxyOverride            : 192.168.31.100;127.0.0.1;<local>
ProxyServer              : 127.0.0.1:15721
PSPath                   : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVers
                           ion\Internet Settings
PSParentPath             : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVers
                           ion
PSChildName              : Internet Settings
PSDrive                  : HKCU
PSProvider               : Microsoft.PowerShell.Core\Registry


两个结果为什么不一样

netsh winhttp show proxy→ "直接访问"

这是 WinHTTP 那一层的代理,和浏览器/系统设置 UI 不是同一套。你这套里 WinHTTP 确实是没配的。

注册表里 ProxyEnable = 0,但 ProxyServer = 127.0.0.1:15721

这是 IE/Edge/系统设置 → 代理 那层,ProxyEnable=0说明开关是关的,所以哪怕 ProxyServer还残留着 127.0.0.1:15721,实际并不生效。ProxyOverride里那几个(192.168.31.100;127.0.0.1;)是"不走代理的例外列表",也是残留。

结论

👉 我当前系统代理是关闭状态,浏览器 / 大部分应用不会走 127.0.0.1:15721。

15721这个端口像是某类代理工具(某科学软件 / v2rayN 之类)曾经设过但后来你在"设置→代理"里关掉了,所以 ProxyEnable被置 0,但地址没清。

飞牛同步不能连接,只能这样启动$env:NO_PROXY = "192.168.31.100,.fnos.net"; & "D:\1everyday\飞牛\fn-sync-client.exe"才能用,就是这个影响。

1.3 飞牛同步-代理问题分析

1.3.1 为什么系统代理关了,飞牛同步还得加 NO_PROXY

关键点:fn-sync-client.exe这个程序不是走 Windows 系统代理开关(ProxyEnable那套),它是认 HTTP_PROXY/ HTTPS_PROXY/ NO_PROXY环境变量的(飞牛系客户端基本都是 Go/Electron 打包,走这个逻辑)。

所以哪怕注册表里 ProxyEnable=0,只要用户环境变量里还残留着 HTTP_PROXY=127.0.0.1:15721(多半是之前 某科学软件 / v2rayN / 某科学软件装的时候写进去的,或者你曾经在 PowerShell 里 setx过),fn-sync-client一启动就会读到,然后试图通过 15721去连你的 NAS 192.168.31.100——这代理八成早就没在跑了,或者直接把内网 IP 拦了,就连不上。

加的 NO_PROXY="192.168.31.100,.fnos.net"正好就是告诉它:"这俩地址别走代理,直连"——所以对上了 ✅

(.fnos.net是 FN Connect 远程域名,192.168.31.100是你 NAS 内网 IP)

飞牛官方论坛也有人踩过同一个坑:

💡 "飞牛OS自带的飞牛同步,在安装了某科学软件的 docker 后,windows 打开了手动代理后可能导致无法添加局域网任务……解决方法:使用代理时,注意需手动排除飞牛 NAS 的 IP 地址即可恢复。"

这个比他还"轻"一点——系统代理开关是关的,但环境变量那层还漏着。

1.3.2 根治:别每次都手写 NO_PROXY

先确认残留从哪来的:

Get-ChildItem env: | Where-Object Name -match 'PROXY'

或者更直接:

echo $env:HTTP_PROXY
echo $env:HTTPS_PROXY

如果这俩有值(比如 127.0.0.1:15721或 http://127.0.0.1:15721),源头就在环境变量里。

我的:

PS C:\Users\jiu> Get-ChildItem env: | Where-Object Name -match 'PROXY'

Name                           Value
----                           -----
HTTP_PROXY                     http://127.0.0.1:15721
HTTPS_PROXY                    http://127.0.0.1:15721

清理路径:

注意:先别急着清理,先看完1.4

用户级:设置 → 系统 → 关于 → 高级系统设置 → 环境变量 → 用户变量里找 HTTP_PROXY/ HTTPS_PROXY/ NO_PROXY,删掉

系统级:同上,下面"系统变量"那栏也扫一眼

删完重新开一个 PowerShell/CMD 再验证,echo $env:HTTP_PROXY应该为空

清掉之后,直接双击 fn-sync-client.exe就能连,不用再前缀 NO_PROXY了。

如果你还想留着代理(给浏览器/其他用)

那就反过来,保留 HTTP_PROXY,但把 NO_PROXY 固化到环境变量里,而不是每次启动手敲:

用户变量里加一条:

变量名:NO_PROXY

变量值:192.168.31.100,127.0.0.1,localhost,.fnos.net,.local

这样 fn-sync-client 和其他认环境变量的程序(pip、docker、git 等)都会自动绕开 NAS 和内网。

顺手看下 15721这个端口现在有没有进程在监听?确认下是不是还有代理软件偷偷在跑,还是纯粹残留配置。
在 PowerShell里跑

Get-NetTCPConnection -LocalPort 15721 | Select-Object LocalAddress, State, OwningProcess

如果返回空,说明端口没人监听——换 netstat兜底确认下(有时 PowerShell 那条在老版本 Win 不灵)

netstat -ano | findstr 15721

我的:

LocalAddress  State OwningProcess
------------  ----- -------------
127.0.0.1    Listen          3528

127.0.0.1:15721确实有人在监听,PID 是 3528——不是纯残留,是有个代理程序正活蹦乱跳地跑着。
现在查一下这 3528 到底是谁:

Get-Process -Id 3528 | Select-Object ProcessName, Path

我的:

ProcessName Path
----------- ----
cc-switch   D:\1everyday\cc-switch\v3.16.5\cc-switch.exe

cc-switch = 某科学软件 的社区 GUI 客户端(全称 某科学软件 Community Switch,也有人管它叫 某科学软件 Verge 的魔改分支),v3.16.5这个版本号也对得上。它监听 127.0.0.1:15721就是它的 Mixed 端口(HTTP + SOCKS5 合一,默认常见是 7890,你这个改成了 15721)。
链条彻底对上了
cc-switch在跑,Mixed 端口 15721
它大概率开了"环境变量注入"或"终端代理"(cc-switch 设置里有这开关),所以你的用户环境变量里被它写了 HTTP_PROXY=127.0.0.1:15721、HTTPS_PROXY=127.0.0.1:15721
但它没开"系统代理"(ProxyEnable=0的原因),所以注册表那层是关的,netsh winhttp也看到直连
飞牛 sync 客户端认 HTTP_PROXY→ 被拐去 15721 → cc-switch 收到,目标 192.168.31.100没在绕过规则里 → 要么走远端要么直接拦 → 连不上
所以加 NO_PROXY=192.168.31.100,.fnos.net→ 绕回直连 → 通了 ✅

1.4 cc-switch-修复

终极解决办法:直接修改 Windows 环境变量

之前飞牛同步连不上的根本原因,是因为电脑的环境变量里残留了代理地址,而 CC Switch 可能会时不时去修改它。我们直接在系统底层把这条路“堵死”就行了。

第一步:打开环境变量设置

按下键盘上的 Win键(Windows徽标键),直接输入文字搜索 “环境变量”。

在搜索结果中点击 “编辑系统环境变量”。

在弹出的窗口右下角,点击 “环境变量(N)...” 按钮。

第二步:新建 NO_PROXY 变量(关键!)

在弹出的窗口中,确保你当前选中的是上面的 “<你的用户名> 的用户变量” 这一栏。

点击下方的 “新建(W)...” 按钮。

按照下面的内容准确填写:

变量名(N):NO_PROXY(注意全部大写,中间是下划线)

变量值(V):192.168.31.100,127.0.0.1,localhost,.fnos.net

一路点击 “确定” 保存并关闭所有窗口。

第三步:重启生效

环境变量修改后不会立刻生效。你需要把现在打开的 PowerShell 窗口、CC Switch 软件以及飞牛同步客户端全部关掉,然后再重新打开。

CC Switch 有影响吗
不会有影响,放心用 👍 给你说清楚为什么:

NO_PROXY只管"目标地址",不管"谁发的请求"

我们填的是:
192.168.31.100,127.0.0.1,localhost,.fnos.net,.local

意思是:当某个程序要访问这些地址时,直连,别走代理。

cc-switch 自己干的事是:

监听 127.0.0.1:15721(这是它自己当服务端,不是它去访问这个地址)

你浏览器 / 其他程序 → 把流量发到 15721→ cc-switch → 转发去外网代理节点(比如你买的机场域名/IP)

所以 cc-switch 的"出口目标"是机场服务器,不在你 NO_PROXY列表里 → 它照样走代理逻辑,该翻还是翻,15721也照样在监听。

唯一一个极小概率踩坑点(基本碰不上)

如果你以后在浏览器里手动访问 cc-switch 自己的管理页面(一般是 127.0.0.1:xxxx那个 Dashboard),这个 127.0.0.1正好在你 NO_PROXY 里 → 浏览器会直连,不走 15721。但这反而更健康,因为 Dashboard 是本机服务,本来就不该走代理;而且 cc-switch 的 API 调用大多是本机 loopback,不受 HTTP_PROXY影响(很多程序对本机地址默认就绕)。

1.5 结论

✅ 飞牛 sync → 内网 .fnos.net/ 192.168.31.100直连 ✅ 能连上了

✅ cc-switch → 出口目标是外网机场,不在 NO_PROXY 里 → 继续翻 ✅ 不受影响

✅ 浏览器 / 其他认 HTTP_PROXY的程序 → 内网照样绕,外网照样走 15721

搞完之后重新开个 PowerShell 验证下:

powershell
echo $env:NO_PROXY

能看到那串值,然后直接双击 fn-sync-client.exe试连,通了就完事。cc-switch 该咋用咋用。


收藏
送赞
分享

79

主题

6108

回帖

1235

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家fnOS1.0上线纪念勋章EVO2产品纪念灌水之星AMD适配纪念勋章

你的客户端是哪个版本的?新版没这个问题了。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则