Dillo 浏览器 3.3.0 版本发布
Dillo Browser Release 3.3.0

原始链接: https://dillo-browser.org/release/3.3.0/

## Dillo 浏览器 3.3.0 版本概要 Dillo 3.3.0 引入了多项增强和错误修复,主要亮点是**对 FLTK 1.4 的实验性支持**。用户可以使用 `--enable-experimental-fltk` 启用此功能进行测试,但不建议用于默认软件包,因为可能存在视觉问题。 一项关键的新功能是 **`dilloc`**,一个通过 UNIX 套接字控制 Dillo 的命令行工具。`dilloc` 允许执行诸如重新加载标签页、打开 URL、打印页面信息,甚至通过右键菜单中的新 **`page_action`** 选项执行自定义脚本等操作 – 从而实现强大的页面操作。 其他改进包括修复的 OAuth 登录功能、IPv6 支持、新的搜索引擎(Mojeek)以及多项可用性增强,例如剪贴板支持(Ctrl+C/V)和鼠标按钮导航。内部缓存详情现在可以通过 `about:cache` 和 `about:dicache` 访问。 此版本还解决了安全问题并包含各种错误修复。下载地址已更新:[https://dillo-browser.org/](https://dillo-browser.org/) 和 git 仓库:[https://git.dillo-browser.org/dillo](https://git.dillo-browser.org/dillo)。

## Dillo 浏览器发布与网页兼容性问题 Dillo 浏览器最近发布了 3.3.0 版本,引发了关于保持轻量级、JavaScript 可选浏览体验的讨论。用户指出,越来越多的网站依赖 JavaScript,甚至包括 Google,这对小型浏览器和开放网络提出了挑战。DuckDuckGo 的 HTML 版本、Frogfind.com 和 Startpage(尽管一些用户遇到机器人检测问题)等被建议作为替代方案。 对话涉及在*没有* JavaScript 的情况下支持现代 Web 标准的困难,特别是复杂的 DOM API。人们对 Google 在 Web 上日益增长的控制力以及未来可能对匿名浏览的限制表示担忧,并提到年龄验证法案是一种威胁。 尽管面临这些挑战,Dillo 仍然对特定用例有价值,例如访问 Gemini 协议站点和在旧硬件上运行。一些用户报告了它与 Hacker News 本身存在兼容性问题,可能由于头部识别所致,而另一些用户则发现它与 Servo 和 Blitz 等替代方案配合使用效果良好。讨论还幽默地承认了浏览器的名称及其潜在的误解。
相关文章

原文
Released on 2026-04-26

Summary of changes

The Dillo 3.3.0 release contains several new features, configuration options and bug fixes. It is the first release to provide experimental support for FLTK 1.4 (see the details below).

Control via UNIX socket

A new dilloc program is now available to control Dillo from the command line or from a script. It searches for Dillo by the PID in the DILLO_PID environment variable or for a unique Dillo process if not set. You can see the available commands with dilloc help:

% dilloc help
Commands return 0 on success or non-zero on error.
Available commands:
 ping          Check if dillo replies correctly:
 pid           Print PID of selected dillo process
 reload        Reload the current tab
 ready         Exits with 0 if finished loading, 1 otherwise
 open URL      Open the given URL in the current tab
 url           Print the url in the current tab
 title         Print the title of page in the current tab
 status [MSG]  Set the status bar to MSG
 dump          Print the content of the current tab
 hdump         Print the HTTP headers of the current tab
 load          Replace the content in the current tab by stdin
 rawload       Replace the HTTP headers and content of the current
               tab by stdin
 quit          Close dillo
 wait [T]      Wait until the current tab has finished loading
               at most T seconds (default 60.0). Wait forever with
               T set to 0.

Page actions

We have added the ability to run arbitrary commands from the page menu (right click on the page) with the page_action new option.

With page actions, dilloc provides a powerful mechanism to perform page manipulations. Here is an example page action in ~/.dillo/dillorc:

page_action="Mimic Chrome:curl_chrome136 $url | dilloc load"

When the "Mimic Chrome" option is selected, the current page will be fetched again using curl impersonate to mimic Chrome (which avoids some JS walls) and the output will be piped directly into Dillo as the new HTML of the current page.

Another example is the "Fix page" action, which tries to find specific fixes for the current page based on the URL, HTTP headers or other criteria:

page_action="Fix page:~/.dillo/actions/fixpage.sh"

See the actions git repository to download the fixpage.sh script.

FLTK 1.4 experimental support

We have added experimental support to build Dillo with FLTK 1.4.0 and higher with the new --enable-experimental-fltk configure flag, so that experienced users and testers can provide technical feedback on different platforms. Be sure to use the latest FLTK 1.4.5 release which contains fixes to solve the problems with blurry fonts.

We have similar rendering quality in FLTK 1.4.5 as in FLTK 1.3 on a X11 platform with a 96 DPI screen (both with the Xft and Pango backends), but we still have rendering problems with higher DPIs (specially non-multiple of 96) or with Wayland. You can track the status in the corresponding FLTK issue.

Important: If you maintain a Dillo package, do not enable FLTK 1.4 support by default for all users as they will be exposed to visual glitches and other issues.

Fixed OAuth login

In order to perform the OAuth authentication (for example to login into Fediverse via Smolfedi) we need to allow cookies that are set in a redirection response. By default Dillo blocks all third party cookies that are not caused by a request initiated by the user, so we can prevent tracking by image pixels. We added an exception to also allow cookies from redirections of the main page after the user initiated request, so we can still stay safe against tracking but allow OAuth to work.

Download

To download the 3.3.0 release use these links:

Notice that we have migrated from GitHub to our own server. The git repositories are now served by our self-hosted cgit and also mirrored in Codeberg and SourceHut.

Detailed changes

This is the list of changes from the ChangeLog of this release:

  • Rodrigo Arias Mallo:
    • Add optional support for brotli (br) content encoding.
    • Add about:keys to display current keyboard shortcuts.
    • Control + left click opens links in new tab (emulates mouse middle button).
    • Ctrl+C copies selected text into the clipboard so Ctrl+V works as expected.
    • Enable IPv6 support by default if supported by the platform.
    • Focus the N-th tab with the Alt+ shortcut.
    • Fix vsource dpi infinite loop on musl due to unescaped "%" printf format.
    • Add about:cache and about:dicache pages to show internal cache details.
    • Add mojeek search engine with shortcut "mj".
    • Hide form elements (like buttons and inputs) with display:none in CSS.
    • Increase margin in location bar to make it easier to select with the mouse.
    • Navigate back and forward with mouse buttons.
    • Fix OAuth login by allowing cookies in root 30X redirects.
    • Add support for remote control via a UNIX socket (enabled by default, disable with --disable-control-socket).
    • Add new dilloc program to remote control dillo from the command line.
    • Set DILLO_PID variable when executing actions so dilloc can read it.
    • Add support for "page_action" option to define custom entries in the page menu to run programs or scripts.
    • Add "mark_unloaded_images" option to show a border in images not loaded, so they are easier to see.
    • Fix segfault on CurveBall TLS test with LibreSSL.
    • Match complete search prefixes in "search_url" to avoid partial matches.
    • Update website URL to https://dillo-browser.org/ and git repository to https://git.dillo-browser.org/dillo.
    • Add "trace_http" option to debug HTTP traffic.
    • Avoid cached responses when submitting forms.
    • Fix cookie Max-Age parsing using the epoch instead of the local timezone.
    • Add experimental FLTK >= 1.4 support with the --enable-experimental-fltk configure flag.
  • Patches by Alex
    • Middle click on back or forward button opens page in new tab.
  • Patches by Cameron Paul, Rodrigo Arias Mallo
    • Add support for Content-Disposition header to set the filename.
  • Patches by Leonardo Taccari
    • Fix build in NetBSD and avoid ctype(3) incorrect sign extension.
  • Patches by Magnus Larsen
    • Fix use-after-free in HTTP server and OpenSSL connection dialog.
联系我们 contact @ memedata.com