V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yunnysunny
V2EX  ›  程序员

我做了一个浏览器,但是有个致命缺点

  •  
  •   yunnysunny · 22 天前 · 3512 次点击

    前些天在调试 m3u 的地址播放的功能,发现网上公开的一些 m3u 列表使用 video 标签播放时候,会有跨域的问题,单独配置浏览器支持跨域又比较啰嗦。所以我想着是不是可以用 electron 直接做一个简单的浏览器出来,直接跳过跨域限制。

    有了这么一个简单的想法后,我就开始动手了,做出来之后,确实实现了自己想要的效果。但是看着略微有些简陋,传统浏览器都是有 tab 页支持的,所以我又给他加了 tab 页的功能。想着如果能支持收藏网页就更好了,所以我又顺手加了一下收藏功能。

    随着顺手的事情越来越多,我也越来越多的接触到了更多 electron 的基础知识,然后我发现打包完之后的程序,运行起来速度很卡,但是我本地调试的时候运行的飞快。后来经过多方查证,发现是本地运行所在目录的上级是我程序代码的集散地,为了保证电脑运行速度,我将其添加到杀毒软件的排除名单中了,而打包后安装的程序没有在这个名单中,杀毒软件在检测到没有使用合法证书签名的应用时,会单独将其添加到沙箱中观察,观察安全后,再放行,所以就引起了卡顿现象。

    虽然网上有 Let's Encrypt 等免费 HTTPS 证书厂家,但是对于应用签名证书是没有免费版的,我想知道大家开源出来的 Windows 应用,都是如何做签名的,自己花钱购买证书吗?

    附录一下刚才提交的开源项目来献丑一下: https://github.com/whyun-pages/my-browser

    15 条回复    2025-08-15 11:34:45 +08:00
    gaifanking
        1
    gaifanking  
       22 天前   ❤️ 1
    我上次用的个人/小团队开发的浏览器,还是“世界之窗”。建议别耗费精力了,整点其他有用的吧
    ruanimal
        2
    ruanimal  
       22 天前
    仓库建议放点截图
    ykrank
        3
    ykrank  
       22 天前
    跨域是安全问题,除非第一方网站,不然不敢关
    A1exL
        4
    A1exL  
       22 天前
    https://chromewebstore.google.com/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf

    这个插件应该还能用吧……?我以前就是用这个解决 CORS 问题的
    Chicagoake
        5
    Chicagoake  
       22 天前
    @gaifanking 做得真好,小学时候家里电脑配置差用世界之窗比其他浏览器流畅很多,被收购也算是有个好归宿了。
    honkew
        6
    honkew  
       22 天前
    关于跨域,这样启动 chrome 就可以了

    "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=D:\chrome
    abolast
        7
    abolast  
       22 天前
    允许跨域啊,我用的浏览器插件是 modheader ,对于运维来说免费刚刚好用。
    HTravel
        8
    HTravel  
       22 天前   ❤️ 3
    做事之前,先想想有没有价值吧。

    跨域是浏览器为了安全施加的限制。如果放在观看直播视频这个特定领域的话,我用 IINA 、PotPlayer 、VLC 观看 m3u 直播不是功能更完善嘛,而且播放器本身就不会施加跨域限制
    cat
        9
    cat  
       21 天前
    OP 你不觉得本末倒置了吗……
    在浏览器里打开 m3u 是为了方便,如果要专门安装你的浏览器,那为啥不直接用本地播放器?
    skiy
        10
    skiy  
       21 天前
    直接用 mpv 打开 m3u8
    Kirkcong
        11
    Kirkcong  
       21 天前
    5202 年了,为什么还在造 20 年的轮子
    Xheldon
        12
    Xheldon  
       21 天前
    直接说答案:Windows 的签名没有免费的,而且非常贵,得好几千;
    Mac 的签名只需要一个开发者账号就好了。
    weijancc
        13
    weijancc  
       21 天前
    如果只是为了开发用, 完全没必要, 油猴高级设置中有个允许跨域请求, 勾选后就直接可以跳过 cors 了
    natsukage
        14
    natsukage  
       21 天前
    单独配置浏览器支持跨域又比较啰嗦。
    所以我想着是不是可以用 electron 直接做一个简单的浏览器出来

    我把脑细胞烧干了都没想出来这两句话的逻辑关系
    bthulu
        15
    bthulu  
       21 天前
    我还以为你把 chrome 干掉了自己写了个浏览器内核
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5246 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:47 · PVG 15:47 · LAX 00:47 · JFK 03:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.