最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
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
相关文章
- 无畏契约源能行动是瓦吗-主要信息和内容重点 09-11
- layering-cache:实践指南 09-11
- simplefs:实践指南 09-11
- 无畏契约手游安卓手机版有夜市吗-主要信息和内容重点 09-11
- tp路由器app可以远程吗(tp路由器app有远程功能吗) 09-11
- 下一站江湖2奇经八脉怎么处理-剧情梗概和任务条件 09-11