V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
p412726700
V2EX  ›  分享发现

介于年久失修以及 Chrome 马上不能支持 v2 版本插件,所以重写了 Switchy Omega 的功能

  •  3
     
  •   p412726700 · 251 天前 · 8046 次点击
    这是一个创建于 251 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Proxy Rock

    https://chromewebstore.google.com/detail/proxy-rock/dkeknkogllphlkmcfdjllhpbpnmkmgea

    为什么做这个项目

    大家对 Switchy Omega 应该都不陌生,在上古时代代理生态还比较匮乏的时候此插件是为数不多用起来还不错的项目。此外,特别是做前端开发的小伙伴,在开发过程经常会用到其提供的转发功能来保可以用域名进行请求。即使是现在仍有大批的用户在使用该插件。

    但该插件又不能说毫无槽点,GitHub issue 中也有不少用户进行反馈,如在浏览器扩展栏中点击小图标会出现弹出页面加载失败的情况,配置失败导致插件崩溃继而引发浏览器崩溃,加载资源失败等等,以及 10 年前的界面风格,上次更新距今也过去 4 年了。

    所以,想着能不能对插件重构一下,其实正式的重构在今年春节的时候就开始了(比较巧的是 2 月份 Google 宣布 6 月份开始不支持 manifest v2 版本的插件),由于 Switchy Omega 是用 coffeescript 构建,加之项目本身的复杂度看起来还是有点难度的,所以基本上是从头进行开发了,以至于拖拖拉拉到了现在,但核心功能已经基本可用了。

    目前支持的功能

    核心功能其实均已经支持,具体如下。

    模式配置

    • Proxy 模式,即 so ( Switchy Omega ) 中的 Proxy Profile ,此模式下配置好本地的代理服务,根据请求 schema 选择对应的协议。

    • Auto 模式,即 so 中 Switch Profile ,此模式下可以根据设置的 Host 规则路由到不同的 Proxy 中,也可以下载在线的 PAC 格式资源进行匹配后再转发。

    • Pac 模式,即 so 中 Pac Profile ,此模式下直接使用在线或者手动录入的 PAC 内容作为配置规则。建议熟悉 PAC 文件的同学使用。

    规则切换

    • 插件栏中点击小图标,可将配置好的规则展现出来,点击即可进行切换,同样在配置页面可以选择是否在切换时进行刷新。

    • 另外,配置的规则会根据名字生成唯一的颜色标识,选中的配置所对应的颜色同样会在状态栏插件中体现出来

    计划支持的功能

    还有很多功能计划未来逐步添加,暂定每半个月一个版本的节奏。

    • 导入导出
    • 规则颜色可配
    • 深色模式,跟随系统
    • 点击小图标规则跳转配置页
    • 异常配置检测

    最后

    由于目前还在密集开发中,使用中有什么问题的话可随时到 https://github.com/proxy-rock/proxy-rock/issues 进行反馈。

    感谢 Switch Omega 的作者给我们带来如此优秀的项目 :+1: 。

    第 1 条附言  ·  250 天前

    今天抽空把大佬们的评论一一看了下,直接在这里 append 下就不占用公共资源开新帖了。

    首先根据评论和 GitHub issue 里的建议,增加了几条待实现功能。

    • firefox 支持
    • 一键配置网站规则
    • http 协议支持账号密码

    这几条会和之前的放在一起看,在 GitHub Milestone 上进行管理。

    另外,可能有些大佬顾及现在没开源插件里会不会放后门什么的,这个顾虑也在情理之中,毕竟是在网络安全意识也越来越重要的当下。这里我可以说明一下,插件没有任何后门系统,相信评论里也有很多对网络大佬熟悉,可以自行抓包进行分析。

    而关于开源这个事情本身,有计划但现在感觉时机还不太成熟,初步打算在下下个版本,也就是大概 5 月份进行开源。

    最后希望大家尽量在 GitHub Issue 里反馈问题哈,晚点会做个 issue 模板出来,这样我也能统一追踪反馈,对问题进行有效管理。[respect]

    61 条回复    2024-05-06 11:14:57 +08:00
    HughRyu
        1
    HughRyu  
       251 天前
    支持,再迭代几个版本,我就上...
    BaseException
        2
    BaseException  
       251 天前
    牛皮 你真说干就干啊
    loveshuyuan
        3
    loveshuyuan  
       251 天前   ❤️ 6
    没开源,暂时不敢上
    siweipancc
        4
    siweipancc  
       251 天前 via iPhone
    经常 502 的问题修了吗
    Rannnnnnn
        5
    Rannnnnnn  
       251 天前
    期待开源
    28Sv0ngQfIE7Yloe
        6
    28Sv0ngQfIE7Yloe  
       251 天前
    图标有点不符合我的审美
    lixiaobai913
        7
    lixiaobai913  
       251 天前
    在用,感谢大佬开发的插件
    roswellian
        8
    roswellian  
       251 天前
    支持!!!
    Fish1024
        9
    Fish1024  
       251 天前
    非常好
    tuwulin365
        10
    tuwulin365  
       251 天前
    支持支持
    ysc3839
        11
    ysc3839  
       251 天前 via Android   ❤️ 3
    个人选择 SmartProxy ,支持 manifest v3 。选这个主要是 Firefox 下支持整个标签页代理。
    https://github.com/salarcode/SmartProxy
    allin1
        12
    allin1  
       251 天前
    @ysc3839 1.4.5 版有 bug ,先避开。已经有报修了
    nonone
        13
    nonone  
       251 天前
    很早之前用的了,不过后来都让 surge 管控全局了,不需要这个插件了
    ZR91b424aaQ98Y9o
        14
    ZR91b424aaQ98Y9o  
       251 天前
    @ysc3839 #11 smartProxy 用的不习惯,之前换过,又换回来了
    ZR91b424aaQ98Y9o
        15
    ZR91b424aaQ98Y9o  
       251 天前
    @nonone #13 win 上有类似的软件嘛?
    l22576283
        16
    l22576283  
       251 天前
    支持一个,等你支持 Switchy Omega 的 PAC 导入之后我来用一下
    body007
        17
    body007  
       251 天前   ❤️ 1
    我选择禁用 chrome 更新,过两年再看看哪个插件混得好,再更新 chrome😁
    Excepti0n
        18
    Excepti0n  
       251 天前
    真 说干就干
    jixiangqd
        19
    jixiangqd  
       251 天前
    牛逼,前两天还在找替代品
    xuanyuanaosheng
        20
    xuanyuanaosheng  
       251 天前
    支持
    idragonet
        21
    idragonet  
       251 天前
    SmartProxy 挺好用。
    jixiangqd
        22
    jixiangqd  
       251 天前
    暂时用不了: http 协议代理不支持账号密码,Edge 版本加 proxy 类型的规则会变成 auto 的规则。。
    jixiangqd
        23
    jixiangqd  
       251 天前
    @loveshuyuan #3 确实,谁知道是不是钓鱼的呢
    keakon
        24
    keakon  
       251 天前
    提个 bug:应该是「鉴于」

    另外,仓库里没有源码么?
    jixiangqd
        25
    jixiangqd  
       251 天前
    @idragonet #21 看上去好像不如停更多年的 SO ?
    M2K4
        26
    M2K4  
       251 天前 via Android
    原来只是借 omega 的大名推广
    elechi
        27
    elechi  
       251 天前
    makr 一下
    tyrone2333
        28
    tyrone2333  
       251 天前
    数据同步能做吗? SwitchyOmega 加个几条就会提示 此情景模式使用存储空间过多,因此无法进行同步。
    ikichen
        29
    ikichen  
       251 天前
    支持,加油!!
    Jirajine
        30
    Jirajine  
       251 天前   ❤️ 1
    没人用 foxyproxy 吗,一直都被 Mozilla 扩展商店推荐,也支持 mv3 。
    不过 Firefox 下为 container 配置代理用的更舒服。
    jqtmviyu
        31
    jqtmviyu  
       251 天前
    Manifest V2 extensions are going to be disabled starting June 2024 on Google Chrome.

    火狐要崛起了吗?
    mingwiki
        32
    mingwiki  
       251 天前
    我一直在用 switchyomega ,很多年了,专门写了一个脚本维护 switchy 规则。年纪大了不会折腾了
    nagisaushio
        33
    nagisaushio  
       251 天前 via Android
    配享太庙
    bigtear
        34
    bigtear  
       251 天前
    这种东西有开源的还是会用开源的,毕竟同类开源项目也不少。闭源的如果只是优化了 UI 和操作并不值得更换新的插件
    DAPTX4869
        35
    DAPTX4869  
       251 天前   ❤️ 7
    已经有它的修改版了
    https://github.com/suziwen/ZeroOmega
    body007
        36
    body007  
       251 天前
    @DAPTX4869 加入我的备选。感谢+10086
    xiaofengchen
        37
    xiaofengchen  
       251 天前
    @Jirajine #30 foxyproxy 代理规则不好配,官方不支持订阅 GFW 规则集,大佬有什么好方式来处理吗?
    showgood163
        38
    showgood163  
       251 天前 via Android
    等开源了再换

    现在在用 smartproxy ,虽然配置起来不爽但用起来没啥问题
    Jirajine
        39
    Jirajine  
       251 天前
    @xiaofengchen #37 你要这样用直接用 pac 就行,或者随手写个脚本把你要的规则集转换成能导入的格式。
    如果你用 Firefox 我更建议用 container ,你可以为不同的 container 设置不同出口的全局代理,然后在这个 container 里打开的网站就全部都会走对应代理。
    比如你在“proxy”这个 container 里打开 v2ex.com ,在浏览过程中的所有请求、点开的所有外链都会走设置好的代理,然后你还可以一键添加“总是在某个 container 中打开该网站”,这样你的规则中就只包含 v2ex.com 主站一条,无需把各种 cdn/跳转域名也加入到列表中,就可以准确的代理一整个网站。同理为 openai 、Netflix 网站等设置单独的 container 和代理就不用多说了。
    xiaofengchen
        40
    xiaofengchen  
       251 天前
    @Jirajine #39 懂了,感谢大佬,我还有个小问题,比如我访问一些不常见的站点,国内网络就是打开比较慢或者打不开,你是怎么处理的呢?给某个 container 开全局代理吗?

    我目前直接用的 Firefox 自带的 sock5 代理,连到 clash 上,用 clash 分流了,坏处是有时 127.0.0.1 打不开,clash 故障正常网页也打不开
    loveqianool
        41
    loveqianool  
       251 天前 via Android
    有计划支持 Firefox 吗?
    charley008
        42
    charley008  
       251 天前
    @DAPTX4869 终于找到了替代。感谢
    lekai63
        43
    lekai63  
       251 天前 via iPhone
    感谢楼主
    yyzh
        44
    yyzh  
       251 天前 via Android
    感谢大佬!
    icaolei
        45
    icaolei  
       251 天前 via Android
    @merlynr #15 各种代理客户端基本都支持 tun 模式
    icaolei
        46
    icaolei  
       251 天前 via Android
    马一个,开源了叫一声
    miaomiao888
        47
    miaomiao888  
       251 天前
    @jixiangqd 难听话少说,你要审查代码安全性的话编译版本也可以审查。
    tokifc
        48
    tokifc  
       251 天前
    我想问一下,为什么这种插件都不支持 ss 之类的协议,楼主将来会考虑支持吗
    dianso
        49
    dianso  
       251 天前
    可以开源吗?

    目前是分流,有时候不太方便,还是需要插件。
    NoOneNoBody
        50
    NoOneNoBody  
       250 天前
    @tokifc #48
    这些插件本身并不实现翻,只是管理梯子和浏览器之间桥梁的工具,所以只有浏览器支持的协议
    Jirajine
        51
    Jirajine  
       250 天前
    @xiaofengchen #40 你开一个不带分流的 socks 代理端口,给某个 container 绑定到这个代理上就行了。
    qweruiop
        52
    qweruiop  
       250 天前
    等待开源,要不不敢用。
    bywenshu
        53
    bywenshu  
       250 天前 via Android
    小建议:Chrome 插件介绍页面的“介于 SwitchyOmega 不再维护”的“介于”应该改为“鉴于”。再次感谢你提供的插件。
    siweipancc
        54
    siweipancc  
       249 天前
    感谢, 已经换到 ZeroOmega , 开源大法好
    jixiangqd
        55
    jixiangqd  
       248 天前
    @DAPTX4869 #35 这个是真的好东西,多谢
    nonone
        56
    nonone  
       248 天前
    @merlynr 基本不用 win 不清楚。
    xiaofengchen
        57
    xiaofengchen  
       248 天前
    @Jirajine #51 我导出了下备份,发现 container 绑定的是 proxies 中设定的代理,类似这种格式
    "container": {
    "incognito": "",
    "container-1": "127.0.0.1:7890",
    "container-2": "127.0.0.1:7890",
    "container-3": "",
    "container-4": ""
    },

    而不是如页面设置的 proxy ,其实 proxy 中设定的规则根本没生效…
    Jirajine
        58
    Jirajine  
       248 天前
    @xiaofengchen #57
    那你试试这个 https://addons.mozilla.org/en-US/firefox/addon/container-proxy/
    不需要根据目的 ip/域名的规则,代理都是全局的,只要把想要代理的网站在 container 里打开就行。
    157003892
        59
    157003892  
       248 天前 via iPhone
    配享太庙
    rejectall
        60
    rejectall  
       220 天前
    mark 下,用了 n 年的 Switchy Omega 了,等楼主开源了回头来看。支持楼主一下下
    qinsi
        61
    qinsi  
       199 天前
    开源优先
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   958 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 21:31 · PVG 05:31 · LAX 13:31 · JFK 16:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.