Reynard:适用于 iOS 13 或更高版本的真实 Firefox 网络浏览器
Reynard: A real Firefox web browser for iOS 13 or later

原始链接: https://github.com/minh-ton/reynard-browser

Reynard 是一款适用于 iOS 13 及以上版本的实验性网页浏览器,它采用了 Gecko 引擎,从而绕过了苹果强制使用的 WebKit 框架。通过使用驱动 Firefox 的 Gecko 引擎,Reynard 让旧版本 iOS 设备上的用户能够访问那些因系统自带 WebKit 版本过旧而无法正常显示的现代网页。此外,它也为较新的设备提供了一种基于 Gecko 的替代方案,并支持 Firefox 插件。 安装方式因设备而异: * **TrollStore (iOS 14–17.0):** 推荐使用,可自动启用 JIT 以获得更好的性能。 * **AltStore/SideStore:** 适用于较新的 iOS 版本(必须保留应用扩展)。 * **越狱设备:** 通过 Filza 和 AppSync 安装特定构建版本。 作为一款处于早期阶段的开源项目,Reynard 目前仍在开发中,可能存在错误。开发者欢迎社区提供贡献、反馈和协作,以改善 UIKit 集成和整体稳定性。对于有兴趣从源码构建的用户,文档中提供了详细说明。本项目采用 GPLv3.0 协议授权,Gecko 补丁采用 MPLv2.0 协议授权。

关于“Reynard”项目的讨论——该项目旨在将真正的火狐(Gecko)引擎引入 iOS——凸显了苹果公司对非 Safari 浏览器设置的重大壁垒。 尽管欧盟、英国和日本近期的法规已迫使苹果允许使用替代浏览器引擎,但评论人士认为苹果仍处于“恶意合规”状态。该公司坚持执行限制性政策,包括: * **繁苛的技术要求:** 苹果要求严格的内存安全和安全缓解措施(如支持 PAC),这对于第三方引擎而言,难以或无法立即实现。 * **运营障碍:** 开发者不能简单地更新现有应用程序;他们必须发布全新的版本,这通常需要独立的地区代码库,并涉及专业且繁琐的测试。 * **经济壁垒:** 人们对非 App Store 分发渠道的“苹果税”费用,以及在与深度集成的 Safari 竞争时,维护一个具备竞争力且经过优化的引擎所需的高昂成本表示担忧。 虽然一些用户渴望使用非 WebKit 的替代品以实现真正的广告拦截等功能,但许多人认为,由于高昂的监管风险、开发成本以及苹果刻意设计的商业和技术障碍,使得开发替代浏览器在经济上和技术上都不可行,这导致 Mozilla 等大型厂商对投入此类工作持犹豫态度。
相关文章

原文

Reynard is a Gecko-based web browser for iOS 13+.

Unlike other browsers on iOS that are forced to use Apple's WebKit engine (including Safari and all third-party browsers), Reynard uses Gecko. This is the same engine that powers the Firefox browser on desktop and Android devices.

This project is mainly for users on older iOS versions who are stuck with an outdated version of WebKit. Because WebKit is bundled with the OS, these devices cannot receive engine updates and often fail to load modern websites. By using Gecko, which is kept up to date independently, Reynard allows these sites to work again. Users on newer iOS versions can also use the browser if they want an alternative to WebKit, including Firefox add-ons and other Gecko-exclusive features.

The latest builds are available for download on the Releases page. Please note that this project is still in an early experimental state, so expect bugs and missing features.

TrollStore (iOS 14 - 16.6.1, 17.0)

For the best experience, I'd recommend sideloading Reynard via TrollStore using the Reynard-TrollStore.tipa build. This gives you automatic JIT enablement, better performance, and automatic app updates. For automatic app updates, make sure that the URL Scheme Enabled option is turned on in TrollStore.

AltStore or SideStore (iOS 17.0.1+)

You should use AltStore or SideStore to sideload the Reynard.ipa build when TrollStore is not available, especially on newer iOS versions. Please note that you must select the Keep App Extensions option during installation, as Reynard relies on its extensions to function and will not work without them.

You can also click here to add the AltSource for Reynard to AltStore or SideStore.

Important

  • LiveContainer is not supported due to its own limitations.
  • Sideloading methods that use a distribution certificate for signing are not supported.⁠
  • Other sideloading methods are untested, and no support will be provided for issues arising from them.

Sideload the Reynard-Jailbroken.ipa build using Filza File Manager with AppSync Unified on a jailbroken device. You will also benefit from automatic JIT enablement and better performance.

iOS 14 (iPhone 6S Plus, 14.1)

These sites are known to break or render incorrectly on iOS 14. The screenshots below compare how they load in Safari versus Reynard.

iOS 15 (iPhone 7, 15.8.6)

iOS 26 (iPhone 13 mini, 26.1)

Reynard also works great on the latest version of iOS!

Warning

Build instructions are included below for reference. Please be aware that I do not provide support for issues or errors encountered during the build process.

To build the project, you'll need Xcode, Python 3, Rust and Cargo, and ldid.

Clone the repository.

git clone --recursive https://github.com/minh-ton/reynard-browser
cd reynard-browser

Download Gecko and apply patches.

./tools/development/update-gecko.sh
./tools/development/apply-patches.sh

Build dependencies and the Gecko engine.

./tools/development/build-idevice.sh
./tools/development/build-gecko.sh

To run Reynard, open Reynard.xcodeproj in Xcode and build/run it from there.

This project initially started out of curiosity. I wanted to see if I could get Gecko to run without the BrowserEngineKit framework, so it could be further modified to run on iOS versions as far back as possible. I got it working, and since then, I’ve been focusing on developing engine patches for better UIKit integration, fixing bugs, and turning this into a full, usable browser.

If you’ve come across this repository and find it interesting, I’d love to get help or collaborate on it. I’m learning as I go here and don’t have much prior experience with iOS app development or with Gecko itself, so any contributions, feedback, or pointers would be greatly appreciated.

This project is licensed under the GNU General Public License v3.0, except for the patches directory containing the modifications to the Firefox Gecko engine and therefore is licensed under the Mozilla Public License 2.0.

联系我们 contact @ memedata.com