Firefox 浏览器附加组件
  • 扩展
  • 主题
    • 适用于 Firefox
    • 字典和语言包
    • 其他浏览器网站
    • 适用于 Android 的附加组件
登录
Simple Suspender 预览

Simple Suspender 作者: VehpuS

Suspend / unsuspend a tab, with minimal privacy concerns by design

4.1 (9 reviews)4.1 (9 reviews)
30 个用户30 个用户
您需要 Firefox 来使用此扩展
下载 Firefox 并安装扩展
下载文件

扩展元数据

屏幕截图
This is how suspended tabs will appear.
关于此扩展
A cross-browser extension to suspend inactive / unused tabs by "hiding" them behind a static, generic browser error page. Basically to suspend https://moshe-gr.com, it will be redirected to http://localhost:0/#https://www.moshe-gr.com (try it ;) ).

If you want to install the extension from source code (to ensure no possible abuse) - follow the instructions in the Github repo: https://github.com/VehpuS/simple-cross-browser-suspender.
开发者留言
Background
==========
My own TL;DR
--------------------

The great suspender was an extension that would automatically replace an open tab with a static, low memory page that would redirect back to the original on demand or after a set idle time. After a change of ownership, it was abused to contain malware, and therefore removed by Google.

Looking to avoid another extension by an unknown developer (who can always change), I opted to find a safer solution. I believe I have found it and want to share it in a way that can let others use / replicate it for their own benefit, at the level of knowledge and safety they require.

Additional resources
------------------------------
The great suspender (RIP): https://www.zdnet.com/article/google-kills-the-great-suspender-heres-what-you-should-do-next/

In much more detail: https://github.com/greatsuspender/thegreatsuspender/issues/1263

Why is this solution safer
=====================
No static page - cannot be abused without changing the logic in a noticeable way.

Hash parameter - not sent to a server by the browser, by design.
https://stackoverflow.com/questions/15238391/hash-params-vs-url-params-when-to-use-which

I decided to use localhost:0 as a "host" to keep things local, and on a port that shouldn't conflict with other services / local servers.
See why here: https://www.lifewire.com/port-0-in-tcp-and-udp-818145

Simple code base - easy to fork, install manually, and if necessary - replicate.

The core of the script boils down to:

const suspendPrefix = "https://localhost:0/#";
const toggleSuspendUrl = (pageUrl) =>
pageUrl.startsWith(suspendPrefix)
? pageUrl.replace(suspendPrefix, "")
: `${suspendPrefix}${pageUrl}`;
if (browser) {
browser.browserAction.onClicked.addListener((tab) => {
browser.tabs.update(tab.id, { url: toggleSuspendUrl(tab.url) });
});
}

The API I'm using doesn't require running Javascript code on the web page in the tab - just to get a page's URL. This makes the abuse potential minimal, and is reflected in the extensions limited permissions.

Advanced features, if/when added, will be "opt in" via a separate installation (on stores if / when I upload them) and branch (or possibly repository) - to always provide a stable, simple, and secure base version.

Known issues
===========
Cannot unsuspend internal pages in Firefox, due to the following issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1269456
评分 4.1(1 位用户)
登录以评价此扩展
目前尚无评分

已保存星级评分

5
5
4
2
3
1
2
0
1
1
阅读全部 9 条评价
更多信息
附加组件链接
  • 主页
  • 支持邮箱
版本
1.0
大小
40.41 KB
上次更新
4 年前 (2021年7月24日)
相关分类
  • 标签页
许可证
MIT 许可证
版本历史
  • 查看所有版本
添加到收藏集
举报此附加组件
支持这位开发者

此扩展的开发者寻求您的小小捐助以支持其持续发展。

我要捐款

VehpuS 制作的更多扩展
  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

  • 目前尚无评分

转至 Mozilla 主页

附加组件

  • 关于
  • Firefox 附加组件博客
  • 扩展工坊
  • 开发者中心
  • 开发者政策
  • 社区博客
  • 论坛
  • 报告缺陷
  • 评价指南

浏览器

  • Desktop
  • Mobile
  • Enterprise

产品

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • 隐私
  • Cookie
  • 法律

除非另有注明,否则本网站上的内容可按知识共享 署名-相同方式共享 3.0 或更新版本使用。