请教浏览器大佬,关于换皮浏览器 chromium 内核, firefox,webkit - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
badboy17
V2EX    浏览器

请教浏览器大佬,关于换皮浏览器 chromium 内核, firefox,webkit

  •  
  •   badboy17 2023-07-04 15:09:10 +08:00 4392 次点击
    这是一个创建于 834 天前的主题,其中的信息可能已经有所发展或是发生改变。

    市面上很多的浏览器基于 chromium 内核换皮的,所以基于 chromium 换皮应该是比较好做的 我如果想要基于 firefox 的 gecko 内核和 webkit 内核打包一个自己用的浏览器,可行吗,难度如何

    我在 windows 下可以打包译出一个在 linux 上运行的包吗

    听说 webkit 只是一个内核,缺少了作为一个完整的浏览器的其他部分,包括 ui 等等 那么基于 firefox 火狐重新打包一个自己的浏览器可行性如何

    17 条回复    2023-07-05 18:19:48 +08:00
    codehz
        1
    codehz  
       2023-07-04 15:28:33 +08:00   1
    firefox 没多少人做主要是协议问题,做了必须开源
    webkit 还是有很多人做的,linux 下 gnome 用的哪个浏览器就是 webkit 的
    chromium 肯定不能算好做,因为官方更新太快了,你的修改很容易就会和官方的更新冲突,然后如果你版本锁死不更新的话,那 chromium 这么大占有率,发现个什么漏洞你就完了
    tool2d
        2
    tool2d  
       2023-07-04 15:28:57 +08:00
    electron 有二进制发布,和 chrome 同内核,应该是目前最简单自定义浏览器的方案了。
    PepperEgg
        3
    PepperEgg  
       2023-07-04 15:34:35 +08:00
    可行性 100%,根据官方文档自己编译就行了。
    badboy17
        4
    badboy17  
    OP
       2023-07-04 15:40:22 +08:00
    @codehz 我不需要跟着官方更新,这个主要自己做着玩的,自己用。firefox 的源码我拿来,可以直接编译打包成一个可执行的吗,webkit 是不是只是一个内核,需要自己搞定 ui 组件之类的
    0o0O0o0O0o
        5
    0o0O0o0O0o  
       2023-07-04 15:54:37 +08:00 via iPhone   1
    最近也在搞这方面,个人体验:

    如果只是 chromium 编译,根据官方文档用官方建议的环境/容器,有够好的网络,没什么难度;

    想开发,光成功导入自己常用的 IDE 让它有正常的开发体验这一步我觉得就够难的了;

    想动一些核心组件,热门点的有很多解析文章还可以跟着学,一些比较冷门的就得自己啃了;

    如果还想紧跟上游,那无论是 patch 的方式,还是流程管理,个人都要摸索很久,可以参考 ungoogled-chromium 。
    Finnn
        6
    Finnn  
       2023-07-04 15:58:24 +08:00
    也不是不行, 毕竟洋葱就是出身于 Firefox
    但是你没有这么多资源精力从开源版做起
    qiyuey
        7
    qiyuey  
       2023-07-04 16:30:58 +08:00
    Tor Brower 就是基于火狐
    NoOneNoBody
        8
    NoOneNoBody  
       2023-07-04 16:54:52 +08:00
    主要是你自己“玩”有没有必要做个“浏览器”
    浏览器的概念有点大,需要知道很多网络相关的知识,session 管理,就做一个 block 功能都累死人,各种容错想想都头大……

    我倒是写了几个 webviewUI 脚本,就针对某个 domain/url ,自动加载相应的 css 和脚本,打开提取关注的内容(必要时自动保存),不考虑容错,省事很多
    agagega
        9
    agagega  
       2023-07-04 17:07:20 +08:00
    火狐的源码应该是最完整的,拉下来 mach build 出来就是一个完整的 firefox nightly

    webkit 在 macOS 上编译完需要注入到某个 safari 里才能运行,linux 上有另外的方案( gnome 里好像用到了 webkit ,而 webkit 本来就来自于 kde 的 khtml )
    AoEiuV020JP
        10
    AoEiuV020JP  
       2023-07-04 17:10:49 +08:00
    > 在 windows 下可以打包编译出一个在 linux 上运行的包
    这是想交叉编译?应该是理论上可行但估计没有文档得自己研究,不如直接虚拟机或者 wsl ,
    badboy17
        11
    badboy17  
    OP
       2023-07-04 17:49:07 +08:00
    @NoOneNoBody 暂时我不需要增加什么功能,我只需要能够从源码,在我本地然后经过我的编译,能够在跑起来就行了
    NoOneNoBody
        12
    NoOneNoBody  
       2023-07-04 18:31:26 +08:00
    @badboy17 #11
    感觉对话不在一个频道

    A. 用一个浏览器内核单进程展示一个页面或者几个页面是很简单的
    B. 但达到“浏览”的级别,例如访问不同的网站,要做前进后退、cookies 管理、session 管理这些,就已经是项目了,这些都是浏览器的很基础的功能,并不是增加什么高级需求,但内核是不带这些的,都需要“套壳”时自己写;再进一步,多 tab ,要做 tab 管理,网络并发管理,界面多进程处理等等,这也是现在浏览器的基本功能,但也是需要在“套壳”时自己写的

    所以我说要想清楚是不是要做一个浏览器(B),还是只是展示特定内容(A)就够了

    C. 当然也可以完全下载人家一整套开源的浏览器代码,只改动很少的部分,例如 logo 、字体、配色、一些名称、不影响浏览的排版……这样重新编译也是简单的,只是我觉得这样没太大意思(意义)
    badboy17
        13
    badboy17  
    OP
       2023-07-04 20:36:08 +08:00
    @NoOneNoBody 谢谢大佬的耐心解释,浏览器内核我不太清楚,所以一开始理解有误,我以为内核套上 ui 控件,就基本可用了,我其实我的本意是想基于这些开源内核自己做一个指纹浏览器,所以我希望只修改跟指纹有关的部分,控件和 sesseion ,cookie 管理我都没有必要自己花时间写,我希望拿到一个完整的代码,然后自己编译
    rb6221
        14
    rb6221  
       2023-07-04 21:17:15 +08:00
    不是有个 waterfox 吗,就是基于 firefox 的
    yuekcc
        15
    yuekcc  
       2023-07-04 22:08:12 +08:00
    ms 的 webview2 也可以考虑一下。理论上 vb6 也可以操作 webview2 (未证实)。毕竟古时候 vb6 也可以搞个套壳 ie 出来的。还有一个 cef 控件,.net 也能用。

    现代最方便开发定制浏览器还是利用 electron 。成品有 https://github.com/yessGlory17/programmer-browserhttps://github.com/minbrowser/min ,都是很有特色的产品。
    sloknyyz
        16
    sloknyyz  
       2023-07-05 09:38:15 +08:00
    自己编译的浏览器上大多数网站都没问题,但是像 Netflix 这种就不行,没有被认可的签名过的程序没法看视频。
    realpg
        17
    realpg  
    PRO
       2023-07-05 18:19:48 +08:00
    @NoOneNoBody #12
    他想换皮,就是 firefox 改改图标 字符串替换一下就 i 成他的产品了
    其他代码逻辑功能一概不想动
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1215 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:36 PVG 07:36 LAX 16:36 JFK 19:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86