一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

core:实践指南

时间:2026-09-11 08:22:01 编辑:袖梨 来源:一聚教程网

实际评估core时,我先确认它解决的具体问题:Midori Web 浏览器 - 使用 WebKit 和 GTK+ 的轻量级、快速且免费的 Web 浏览器。实际做网页与浏览器自动化时,经常会碰到登录状态、页面变化和失败恢复往往不稳定,所以功能列表并不能代替验证。落地前可以选择一个权限清楚的网页流程做端到端短测,用会话保持、元素定位、错误恢复和工件留存判断它是否真的省事。编辑判断上,需要可观测网页自动化流程的开发者可以优先研究它;其他团队不必为了热门标签勉强接入。

Midori a lightweight, fast and free web browser

Midori 是一款轻量级但功能强大的网络浏览器,它不仅可以在以美味糕点命名的小型嵌入式计算机上运行,也可以在核心温度超过地球温度的大型机器上运行。这样做看起来也不错。哦,当然它是免费软件。

开箱即用的隐私

  • Adblock 过滤器列表支持
  • 私人浏览
  • 管理 cookie 和脚本

生产力功能

  • 立即打开 1000 个标签页
  • 轻松创建网络应用程序
  • 可定制的侧面板
  • 用户脚本和样式类似于 Greasemonkey
  • 由 WebKit 提供支持的 Web 开发人员工具
  • 跨浏览器扩展兼容 Chrome、Firefox、Opera 和 Vivaldi

请将意见、建议和错误报告至: https://github.com/midori-browser/core/issues

加入 Freenode 上的 #midori IRC 频道 或 电保群!

在 Linux 上安装 Midori

如果 您的发行版支持快照 您可以安装 最新稳定 版本的 Midori 使用单个命令从快照存储 获取 :

snap install midori

剧透: 对于那些更具冒险精神的人来说,尝试下一个版本的预览只需切换一个频道即可。

您还可以从 FlatHub 安装 Midori。

flatpak install flathub org.midori_browser.Midori

在 Android 上安装 Midori

您可以在 Play 商店 上选择加入 [测试版。

从源头构建

要求

  • GLib 2.46.2
  • GTK 3.12
  • WebKitGTK 2.16.6
  • libsoup 2.48.0
  • sqlite 3.6.19
  • 瓦拉 0.30
  • GCR 2.32
  • 菜豆
  • JSON-Glib 0.12

在 Astian OS、Ubuntu、Debian 或其他基于 Debian 的发行版上安装依赖项:

sudo apt install cmake valac libwebkit2gtk-4.0-dev libgcr-3-dev libpeas-dev libsqlite3-dev libjson-glib-dev libarchive-dev intltool libxml2-utils

在 openSUSE 上安装依赖项:

sudo zypper in cmake vala gcc webkit2gtk3-devel libgcr-devel libpeas-devel sqlite3-devel json-glib-devel libarchive-devel fdupes gettext-tools intltool libxml2-devel

在 Fedora 上安装依赖项:

sudo dnf install gcc cmake intltool vala libsoup-devel sqlite-devel webkit2gtk3-devel gcr-devel json-glib-devel libpeas-devel libarchive-devel libxml2-devel

使用 CMake 构建 Midori:

mkdir _build
cd _build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install

剧透:-G Ninja 传递给 CMake 以使用 Ninja 而不是 make(在 Ubuntu/Debian 上安装 ninja-build)。

Midori 可以在不安装的情况下运行

_build/midori

测试

单元测试

如果您正在测试新版本或贡献自己的更改,则需要对代码进行单元测试:

xvfb-run make check

手动检查表

  • 浏览器窗口正常启动,命令行上带有可选的 URL(s)
  • 选项卡有图标,如果有多个选项卡,则有一个关闭按钮,并且可以切换
  • Urlbar 从键入的搜索或 URL 中建议,从历史记录中完成并突出显示关键
  • 私人数据可以清除
  • 快捷方式窗口显示最重要的热键
  • 下载按钮列出了正在进行的和已完成的下载
  • javascript:alert("test")javascript:confirm("test")javascript:input("test") 工作
  • 网站可以(取消)切换全屏模式
  • 缩小窗口会将浏览器和页面操作移动到相应的菜单中

发布流程

我们处于 8/4 周期,这意味着 8 周的功能和 4 周的稳定期 上限为每 3 个月发布一次,即。在第三个月的最后一天。

CMakeLists.txt中的CORE_VERSION更新为10.0。 添加一个部分到 CHANGELOG.md。 添加版本到data/org.midori_browser.Midori.appdata.xml.in

git commit -p -v -m "Release Midori 10.0"
git checkout -B release-10.0
git push origin HEAD
git archive --prefix=midori-v10.0/ -o midori-v10.0.tar.gz -9 HEAD

建议发布 PR。 在 https://github.com/midori-browser/core/releases 上发布版本 将https://snapcraft.io/midori/release上的snap升级到stable通道

故障排除

测试已安装的版本可能会发现崩溃程序或内存损坏,这需要从本地构建进行调查并获取堆栈跟踪(回溯、崩溃日志)。

gdb _build/midori
run
…
bt

如果问题是警告,而不是崩溃 GLib 有一个方便的功能

env G_MESSAGES_DEBUG=all gdb _build/midori

在 Windows 上,您可以打开安装 Midori 的文件夹,然后双击 gdb.exe,这将打开命令窗口:

file midori.exe
run
…
bt

要验证回归,您可能需要恢复特定更改:

# Revert only d54c7e45
git revert d54c7e45

扩展

跨浏览器网络扩展

Midori 支持以下 API 规范:

manifest.json
  name
  version
  description
  background:
    page: *.html
    scripts:
    - *.js
  browser_action:
    default_popup: *.html
    default_icon: *.png
    default_title
  sidebar_action:
    default_panel: *.html
    default_icon: *.png
    default_title
  content_scripts:
    js:
    - *.js
    css:
    - *.css
  manifest_version: 2

*.js
  browser (chrome)
    tabs
      create
      - 网址: 网址
      executeScript
      - 代码:字符串
    notifications
      create
      - 标题:字符串
        message: string

行话

  • 冻结:一段时间的错误修复,例如。 4/2周期意味着4周的功能和2周的稳定
  • PR:拉取请求,提议审查的分支,类似于 MR(合并请求)与 Bazaar
  • ninja:内部选项卡,通常为空标签,用于截图
  • fortress:在 Raspberry Pie、Debian、Ubuntu 上发现的 0.4.3 等古老版本的用户
  • katze、sokoke、虎斑猫:传统的 API 名称和巧合的猫品种
  • Web 扩展:跨浏览器扩展(插件) - 或者在 webkit 上下文中,多进程 api

Android 版 Midori

在 Android 上构建、开发和测试 Midori 的最简单方法是使用 Android Studio (snap)。

使用命令行时,设置 JAVA_HOME 至关重要:

export JAVA_HOME=/snap/android-studio/current/android-studio/jre/

之后你可以像这样运行命令:

./gradlew lint test

Windows 版 Midori

对于 Linux 开发者

依赖关系

Midori for Windows 是在 Linux 主机和 MinGW 堆栈上编译的。当前构建使用 Fedora 18 软件包。需要的包如下:

yum install gcc vala intltool

对于本机构建

yum install libsoup-devel webkitgtk3-devel sqlite-devel

用于交叉编译

yum install mingw{32,64}-webkitgtk3 mingw{32,64}-glib-networking mingw{32,64}-gdb mingw{32,64}-gstreamer-plugins-good

组装存档时需要的包

yum install faenza-icon-theme p7zip mingw32-nsis greybird-gtk3-theme

安装这些应该会为您提供成功构建和开发 Win32 的 Midori 所需的软件包。

建筑

对于 32 位版本:

mkdir _mingw32
cd _mingw32
mingw32-cmake .. -DCMAKE_INSTALL_PREFIX=/usr/i686-w64-mingw32/sys-root/mingw -DCMAKE_VERBOSE_MAKEFILE=0
make
sudo make install

对于 64 位版本:

mkdir _mingw64
cd _mingw64
mingw64-cmake .. -DCMAKE_INSTALL_PREFIX=/usr/x86_64-w64-mingw32/sys-root/mingw -DCMAKE_VERBOSE_MAKEFILE=0
make
sudo make install

构建并测试后,您可以使用帮助程序脚本组装 Midori 存档

32 位构建:

env MINGW_PREFIX="/usr/i686-w64-mingw32/sys-root/mingw" ./win32/makedist/makedist.midori

64 位构建:

env MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw/" ./win32/makedist/makedist.midori x64

测试

为了测试您的更改,建议使用真实系统,因为 WebKitGTK+ 在 Wine 下无法正常工作。将 MinGW 目录安装为 Windows VM 中的网络驱动器或共享文件夹是一个不错的选择。

对于 Windows 开发人员

先决条件

  • MinGW mingw64 rubenvb/ gcc 4.8.0(发布)
  • 7zip(32位安装程序)提取档案
  • Python3 使用 download-mingw-rpm.py
  • download-mingw-rpm.py 获取并解压 rpm
  • Msys 包含 shell 和一些小实用程序
  • CMake(安装程序)
  • 瓦拉

剧透: 在撰写本文时,32 位版本更加稳定。

使用download-mingw-rpm.py

  • 启动 cmd.exe 并导航到保存脚本的文件夹。
  • 确保Python可以访问7z.exe
  • 运行以下命令并等待它将包解压到当前目录中:
  • c:Python33python.exe download-mingw-rpm.py -u http://ftp.wsisiz.edu.pl/pub/linux/fedora/linux/updates/18/i386/ --deps mingw32-webkitgtk mingw32-glib-networking mingw32-gdb mingw32-gstreamer-plugins-good

请参阅 Fedora 18 软件包。

剧透: 使用 msys.bat 启动 shell

热门栏目