实际评估core时,我先确认它解决的具体问题:Midori Web 浏览器 - 使用 WebKit 和 GTK+ 的轻量级、快速且免费的 Web 浏览器。实际做网页与浏览器自动化时,经常会碰到登录状态、页面变化和失败恢复往往不稳定,所以功能列表并不能代替验证。落地前可以选择一个权限清楚的网页流程做端到端短测,用会话保持、元素定位、错误恢复和工件留存判断它是否真的省事。编辑判断上,需要可观测网页自动化流程的开发者可以优先研究它;其他团队不必为了热门标签勉强接入。
Midori a lightweight, fast and free web browser
Midori 是一款轻量级但功能强大的网络浏览器,它不仅可以在以美味糕点命名的小型嵌入式计算机上运行,也可以在核心温度超过地球温度的大型机器上运行。这样做看起来也不错。哦,当然它是免费软件。
开箱即用的隐私
生产力功能
请将意见、建议和错误报告至: 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 商店 上选择加入 [测试版。
从源头构建
要求
在 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
手动检查表
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
行话
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 开发人员
先决条件
剧透: 在撰写本文时,32 位版本更加稳定。
使用download-mingw-rpm.py
cmd.exe 并导航到保存脚本的文件夹。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