zero-peak / ZeroOmega

Manage and switch between multiple proxies quickly & easily.
GNU General Public License v3.0
1.8k stars 44 forks source link

扩展经常自动切换到系统代理 #8

Closed Amanoki closed 4 months ago

Amanoki commented 5 months ago

SwitchyOmega version / SwitchyOmega 版本

3.2.2

Browser version & OS version / 浏览器名称、版本及操作系统版本

Chrome 125.0.6422.142, Win 10

Problem description / 问题描述

你好,刚刚从 SwitchyOmega 转移到 ZeroOmega。 我一般固定使用一个自定义的情景模式,我发现这个扩展经常会自己悄悄地切换到系统代理。 我所有设置都从 SwitchyOmega 导出导入,使用环境、习惯都与以前一样。在 SwitchyOmega 上从没遇过这个问题。但是试用 ZeroOmega 一周多,这问题几乎每天都发生好几次,正常浏览着网页就发现它不知何时自己切换到了系统代理。

尝试过禁用设置里的“快速切换”,也确认过我应该没有按过任何快捷键,也没安装其他可能冲突的代理扩展。 因为每次都是事后才发现,所以并不知道如何重现。想请问开发者是否有任何头绪,有什么原因、操作可能会触发切换到系统代理。

Steps to reproduce issue / 重现错误所需步骤

Expected behavior / 期望发生的情况

固定在所选的情景模式而不要切换到系统代理。

Actual (or suggested) behavior / 实际发生的情况(或建议修改后的行为)

suziwen commented 5 months ago

我这边一直都是正常的,没有出现你说的情况。

有可以重现的配置文件吗?

Amanoki commented 5 months ago

OmegaOptions_0612.txt 附件传了我的配置文件(因bak无法上传所以后缀改了txt) 除了加了个非常基本的自定义情景模式外应该都是默认配置。初始情景模式、快速切换设置那里选不同选项、启用/禁用了一下也没有什么变化。平时一直开的[clash]情景模式。

再补充一点的话是开始安装ZeroOmega之后,前两三天是在当天第一次启动浏览器的时候发现被切为了系统代理;后几天是浏览器启动时正常,但是使用途中多次自动切为了系统代理。也不知是不是触发了某种“重置”?(因为刚安装的时候默认是系统代理) 我现在正换回使用 SwitchyOmega 对比看看目前环境它会不会出现问题,过了一天它暂时还没有问题。

suziwen commented 5 months ago

用这个配置文件,还是没办法重现。


你试一下用这个 zip 文件,解压后,手动安装到 chrome 里,配置完成后,看下会不会重现。 release.zip

如果重现的话,就到 chrome://extensions/ 看下有什么日志。

image

Amanoki commented 5 months ago

好的,是很难重现,它一天里随机发生的。我试试用这个 zip 几天看看。 点了下刷新图标,情景不会被重置,就是扩展消失了一瞬又重新加载了下而已。

Amanoki commented 5 months ago

你好,zip版用了一周,除了某一天又发生了几次,之后几天几乎没遇到过了。这是发生当时截下的log: log1

Amanoki commented 5 months ago

刚刚上一条回复说完好久没遇过之后这一天忽然又遇到好多次了…… 传了日志图和文件。 这次似乎最开始有一个 restart 为 system profile。 console-1718764143091.log

log3

suziwen commented 5 months ago

你同时使用了多个代理扩展插件?

image

Amanoki commented 5 months ago

安装的有以前使用的 Switchy Omega 以及新装的 Zero Omega。使用一个的时候都会把另一个禁用,所以用 Zero 的时候 Switchy 是禁用的(在装 zip 版的时候也有把商店版卸了)。没有其他的代理、VPN或者可能改变网络的扩展(就我所知)。 另外 Omega 设置页面里说如果有冲突应用的话扩展图标会有红色指示,我这里是从来没出现过这个指示的。

suziwen commented 5 months ago

能用浏览器单独新建一个会话用户吗?只安装 zeroomega 插件, 导入配置后,观察一段时间,看还是否会重现。


3.2.1 版本修复了类似这种情况,是因为 mv3 的后台是没办法像 mv2 一直保持激活状态, mv3 会在网络空闲时,自动关闭后台进程。当有新网络请求时,就会再启动 zero,导致初始情景模式初始化错误。

但是 3.2.2 后,无法找出稳定重现的步骤,或者说我这边一直没重现你说的情形,就不太好找原因了。

看了发过来的日志,可能埋点还是不够详细,暂时看不出什么原因,我找个时间,再打包个新版本,把日志信息添加更多些。

Amanoki commented 5 months ago

好的我试一下单独建个用户。如果我新用户开个单独窗口装一个 Zero Omega,我的旧用户在另一个窗口仍然开着其他扩展(也装着 Omega)也同时用着,这样可以吗?

顺便我刚才故意安装了一些VPN扩展,和其他 Switchy Omega 的替代扩展,它就会出现那个红色冲突徽标了。所以我平时没见过那个徽标那么我应该确实没有其他冲突扩展。

suziwen commented 5 months ago

好的我试一下单独建个用户。如果我新用户开个单独窗口装一个 Zero Omega,我的旧用户在另一个窗口仍然开着其他扩展(也装着 Omega)也同时用着,这样可以吗?

可以的。

suziwen commented 5 months ago

release.zip

试一下这个版本,重现问题时,可以到关于界面里,保存下日志.

image

Amanoki commented 5 months ago

好的谢谢。不过这几天因为 Chrome 的垃圾更新,我把浏览器换成 Thorium 了,所有设置和扩展都同步过去还是跟 Chrome 时一样,但是用了三天没遇到 ZeroOmega 自动切换的问题,不知会不会就这样自行修复了。我也会装上这版本继续观察久些看看。

Amanoki commented 4 months ago

Thorium 上同样的账号环境用了半月,没再遇到切换系统代理的情况了,我就当它已经没问题了。就是可惜没搞清楚之前在 Chrome 上是什么原因(它的更新让我没法再用它了)。非常感谢开发者耐心跟进,我先把 issue 关了,要是再发生同样情况再重开。

Mishasama commented 4 months ago

Thorium 上同样的账号环境用了半月,没再遇到切换系统代理的情况了,我就当它已经没问题了。就是可惜没搞清楚之前在 Chrome 上是什么原因(它的更新让我没法再用它了)。非常感谢开发者耐心跟进,我先把 issue 关了,要是再发生同样情况再重开。

实际上Chrome和Chromium是不一样的,很多时候这两者都有各自特有的问题。Chrome必须作为一个独立的个体来看待。

当Chrome出现问题的时候,首先考虑给它来个完全卸载清理的重装。(也可以先在虚拟机上测试)通常就会解决问题。这也是为什么很多开发者死活找不到问题而用户却问题多多的原因之一。(开发者的测试环境通常都是纯净的沙盒)

Amanoki commented 4 months ago

Thorium 上同样的账号环境用了半月,没再遇到切换系统代理的情况了,我就当它已经没问题了。就是可惜没搞清楚之前在 Chrome 上是什么原因(它的更新让我没法再用它了)。非常感谢开发者耐心跟进,我先把 issue 关了,要是再发生同样情况再重开。

实际上Chrome和Chromium是不一样的,很多时候这两者都有各自特有的问题。Chrome必须作为一个独立的个体来看待。

当Chrome出现问题的时候,首先考虑给它来个完全卸载清理的重装。(也可以先在虚拟机上测试)通常就会解决问题。这也是为什么很多开发者死活找不到问题而用户却问题多多的原因之一。(开发者的测试环境通常都是纯净的沙盒)

理解你的说法,不过从用户角度不太可能每遇到一个扩展有问题就第一时间想要重装整个已经配置完善长期运作良好的浏览器,除非这是最后一个能用的同类扩展了,实际上更像最后手段。 我觉得扩展毕竟是需要在实际环境中使用的,如果有幸能找到导致问题的原因,要么从扩展侧修复,要么(如果是用户问题)更倾向于针对性地调整我的环境来消除这个原因。 但是你也对,我确实通过换掉整个浏览器解决了。

Mishasama commented 4 months ago

整个已经配置完善长期运作良好的浏览器

哈哈,对于我来说,Chrome是长期运作不良的浏览器😂 唯一可取的大概就是因为它是闭源的,重负载下性能相对好一些。

另外由于是同系统,可以考虑把扩展的数据导出,或者把profile选择性的移植到另一个浏览器里。这样就能减少换壳的成本了。 Edge自带了方便的Chrome迁移工具,其它的我就不知道了。

Amanoki commented 4 months ago

整个已经配置完善长期运作良好的浏览器

哈哈,对于我来说,Chrome是长期运作不良的浏览器😂 唯一可取的大概就是因为它是闭源的,重负载下性能相对好一些。

另外由于是同系统,可以考虑把扩展的数据导出,或者把profile选择性的移植到另一个浏览器里。这样就能减少换壳的成本了。 Edge自带了方便的Chrome迁移工具,其它的我就不知道了。

我指我的浏览器设置、安装的扩展等整套日常使用环境已经正常运作多年了(因此尽量避免因个别的非致命问题就重装),并不是评价 Chrome 作为浏览器是好还是坏啦。倒是因为 Chrome 更新烂到了没法忍的地步所以我最终走人了。

我迁移到 Thorium 就是同步账户+逐个导出导入扩展设置+重新登录大量网站(由于某些加密机制似乎没法直接搬 profile 文件)。不是特别麻烦,但也挺花时间所以不会是很随意地就想做的事情。

Mishasama commented 4 months ago

由于某些加密机制似乎没法直接搬 profile 文件

其实Chrome系的Cookies是使用系统的本地账户的公用密钥进行加密的,只要使用对应的密钥文件即可随意解密并读取。(当然,你重装系统或者更换系统登入的用户就会读不了了。)

而Edge就能方便的导入Cookies来进行平滑迁移,极大的降低了用户的迁移成本。你使用一下就能发现基本上就等同于搬profile,它甚至可以监听profile来随时进行搬运…… 至于Thorium没用过不清楚,只要想做还是能很轻松做出导入工具的,属于事在人为的事。

Amanoki commented 4 months ago

由于某些加密机制似乎没法直接搬 profile 文件

其实Chrome系的Cookies是使用系统的本地账户的公用密钥进行加密的,只要使用对应的密钥文件即可随意解密并读取。(当然,你重装系统或者更换系统登入的用户就会读不了了。)

而Edge就能方便的导入Cookies来进行平滑迁移,极大的降低了用户的迁移成本。你使用一下就能发现基本上就等同于搬profile,它甚至可以监听profile来随时进行搬运…… 至于Thorium没用过不清楚,只要想做还是能很轻松做出导入工具的,属于事在人为的事。

不知是不是同一回事,因为我装的是便携版它有一些设置涉及到整个用户数据的启用禁用加密,当时还特别研究过,得出结论是我没必要的话最好不要乱搞。说到底还是有没有需求的问题呢,我没有频繁卸装浏览器的需求,配置好一次能安稳用很久,手动导入导出对于偶尔的迁移来说已经足够,可能就不会有那么大动力每次重新折腾各种不熟悉的方法。只是说不同用户会有不同的习惯和优先度了。 至于 Edge 也略有耳闻它可以做得非常彻底,不过 Edge 我是作另外用途独立使用的,这方面就没实践过了。

Mishasama commented 4 months ago

配置好一次能安稳用很久

前提是profile不出毛病😏

Chrome是闭源的可能会比较容易被更新出永久性的破坏,因为stable发布前的反馈和测试样本相对较少; Chromium则是开源的大概会更少遇到这样的问题吧……祈祷你换了Chromium后再也不用重装吧😇

Amanoki commented 4 months ago

配置好一次能安稳用很久

前提是profile不出毛病😏

Chrome是闭源的可能会比较容易被更新出永久性的破坏,因为stable发布前的反馈和测试样本相对较少; Chromium则是开源的大概会更少遇到这样的问题吧……祈祷你换了Chromium后再也不用重装吧😇

确实是不太有毛病,我一直都是重装电脑时装了 Chrome 一次之后就用很多年,直到下一次换电脑/装系统。这次纯粹是最新的 UI 更新大大降低了操作效率让我根本没法用了,不然平时确实很少遇到特别影响使用的功能问题。所以重装浏览器对我来说是低优先级的选择。 不过换成便携版的 Thorium 后应该在这方面更方便了吧,我应该可以随时重装那个 exe 或者更换不同版本而直接应用原来的用户数据(只要它还是 Thorium 而不是跨浏览器)。

Mishasama commented 4 months ago

更换不同版本而直接应用原来的用户数据

不一定,版本升级可能伴随着数据库结构升级……有时候倒霉了就会遇到升了就不能降了😂 如果不是特别重视安全性,只要没有功能特性上的需求,便携版一般不升级用到老就完事了。


话说你指的是CR2023吗?那个可以在flags里关掉的吧? 具体怎么影响你的效率了?

Amanoki commented 4 months ago

不一定,版本升级可能伴随着数据库结构升级……有时候倒霉了就会遇到升了就不能降了😂 如果不是特别重视安全性,只要没有功能特性上的需求,便携版一般不升级用到老就完事了。

据过往经验我一般没有降级需求,也很少遇到会破坏我使用的更新,只是顺着升的话应该不会有大问题吧?

话说你指的是CR2023吗?那个可以在flags里关掉的吧? 具体怎么影响你的效率了?

应该是 2023 UI Refresh 吧,自 126 之后似乎没有办法关掉了。(而且之前用那个 flag 还真的会破坏某些其他功能) 它把菜单(设置菜单、书签菜单等)增加了巨多的间隔,我以前有整个屏幕高的右键菜单需要频繁使用,给更新成一次显示 1/4~1/3,每次要滚动才能点到我要的选项,于是就完全没法用了。 还有扩展栏原来已经捉襟见肘了,更新也是增大了间隔于是显示得更少了。纯粹的莫名其妙和没有必要。

Mishasama commented 4 months ago

自 126 之后似乎没有办法关掉了。

这不就要降级了么😂 一般发现原来设置的flags突然失效了的时候都可以用temporary-unexpire-flags来应急,比如126下的: chrome://flags/#temporary-unexpire-flags-m124chrome://flags/#temporary-unexpire-flags-m125 通过这两个开关来比对,确认你最后能用的一个版本。比如124有效,那126就是你最后能用的版本;如果是125,则最后能用的版本就是127。

一次显示 1/4~1/3,每次要滚动才能点到我要的选项

这个怎么说呢,一是对小分辨率友好,避免过长的菜单超出屏幕而无法操作。二是能减少鼠标的移动距离,只要滚动一下就好了,对鼠标运动空间有限的用户友好。 但是也会造成像你这样用屏幕识别的宏的用户造成无法使用的问题。(我猜的)

扩展栏原来已经捉襟见肘了,更新也是增大了间隔于是显示得更少了。

我恨不得像FF那样单独给它一行用来放扩展……不过它这样改相对触摸屏来说会友好很多就是了。

CR23感觉是更倾向移动设备的设计,只能说是大势所趋了……PC用户还是Edge或者Firefox吧😅

Amanoki commented 4 months ago

这不就要降级了么😂 一般发现原来设置的flags突然失效了的时候都可以用temporary-unexpire-flags来应急,比如126下的: chrome://flags/#temporary-unexpire-flags-m124chrome://flags/#temporary-unexpire-flags-m125 通过这两个开关来比对,确认你最后能用的一个版本。比如124有效,那126就是你最后能用的版本;如果是125,则最后能用的版本就是127。

这次就是我所说的平时不常见的,致命的特例啰。 它是之前还能用 flag,后来 flag 没了改成启动参数,到 126 连启动参数也失效了。(在 Chrome 上试了下那 unexpire 开关似乎没有变化)我听说是旧 UI 代码在 126 被整个移除了。 125 我其实都阻止了 googleapis 的地址禁用了更新,某天不留意它还是连上去给我升了。与其装个旧版我想不如直接换浏览器,换到像 Chromium,Throrium 能够无缝保留原界面体验还有保留升级功能、控制升级时机等等好处。

这个怎么说呢,一是对小分辨率友好,避免过长的菜单超出屏幕而无法操作。

原 UI 超出屏幕部分会自行变为可滚动,仍然是可以操作的。新 UI 问题是间距太大导致相同空间容纳的东西更少了,实际上对小分辨率更灾难了,小分辨率空间更小 > 元素更大 > 显示内容更少,3-5 个选项就给你整出个滚动。

我只是普通的鼠标点菜单,不知道屏幕识别宏是啥。从顶部到底部 30-40 个选项不需要鼠标花费 0.1 秒移动一厘米(实际使用往往从中间点击,甚至没那么大跨度),并不觉得新 UI 的 花几秒滚动 2-5 次 > 眼睛花几秒找选项 > 点击 比原来更方便。 另外新 UI 菜单会根据点击位置动态更改长度,根据你的位置(这要求你特意移动鼠标到达这个位置)它仍然可以占满整个屏幕高,但显示的东西会比原来少。所以我觉得你说的小分辨率和减少移动这两点不成立。

根据我看过的 Chrome 自己开发人员对此的评论,大间隔就是为了触屏,如果它就这样一刀切完全不在乎其他类型的用户,就不怪用户直接跑路了(所述开发人员实际上鼓励你这么做)。

Mishasama commented 4 months ago

不如直接换浏览器

嗯……最重要还是不能恶心自己。

开发人员实际上鼓励你这么做

经典索尼行为,目中无人,店大欺客,大厂通病😏

不过综合下来看,貌似真就Chrome的运行效率是所有浏览器中最高的……对于我这种几十个扩展和分页的家伙好像还没得挑了😩 (其实最主要还是第三方开发者的支持态度问题……一听到你用的不是Chrome就马上甩锅了,简直没有人权😂)

Amanoki commented 4 months ago

不如直接换浏览器

嗯……最重要还是不能恶心自己。

开发人员实际上鼓励你这么做

经典索尼行为,目中无人,店大欺客,大厂通病😏

不过综合下来看,貌似真就Chrome的运行效率是所有浏览器中最高的……对于我这种几十个扩展和分页的家伙好像还没得挑了😩 ~(其实最主要还是第三方开发者的支持态度问题……一听到你用的不是Chrome就马上甩锅了,简直没有人权😂)~

回想起来我在听说要淘汰 MV2 的时候就动了换浏览器的心思了,不过这也不仅仅是涉及 Chrome 一个的问题。 现在用 Thorium 挺好的,体验上 99% 跟以前一样,虽然不懂内里的细节区别。我快 100 个活动扩展似乎也正常(还解决了我这个 issue 的问题)。尽管也遇到了一些与扩展无关的非常具体的小毛病。 不过它还在 124 版,其他一些基于 chromium 的仍然保留原 UI 浏览器都还没经历 126,要看看之后更新它们能不能撑得过去了。

Mishasama commented 4 months ago

要淘汰 MV2

貌似这一波就Chrome受影响,其它Chromium暂时都没事。

不过它还在 124 版

这就有很大的安全隐患了…… 而且API大幅滞后的话还有可能遇上扩展不兼容的问题,没遇到还好,遇上了就哑巴吃黄连了😂

要看看之后更新它们能不能撑得过去了。

期待你未来的回报😏