这里列一些基于chromium内核修改的浏览器
Last active
November 12, 2024 07:45
-
-
Save dodying/82a78ae34838696729ebe49e7668e507 to your computer and use it in GitHub Desktop.
[Firefox - Chrome 迁移手册] #firefox #chrome
这里列一些我自己经常用的扩展,更多更全面的请参考firefox-webext-list
下载脚本可从这里下载,注意需要登录
- 小学时(小五~): 傲游浏览器
- 初中: 360安全浏览器 360应该还是IE内核的
- 高中: Firefox 使用ucjs各种定制,曾向好友安利过Firefox,失败
- 大学~22-11: CentBrowser 当时Flash开始走向末路 Firefox上某个可以弹出视频窗口的插件(popup啥的)基本失效 因为转换浏览器需要成本(脚本、手势、外观),试了一些浏览器,选择了CentBrowser
- 22-11~: Firefox Quantum
- 第三方,更新慢()
-
手势,但我有先见之明,早已转移到了全局手势,成本0(使用StrokesPlus.net) - 设置:CentBrowser因为方便定制,所以有很多设置,但Firefox基本设置很少,而about:config上的设置又很少用到,成本1
-
搜索引擎: 成本∞(已使用附加组件实现) -
样式:0-1(已使用油猴脚本) -
扩展:10-∞(已找到多数替代附加组件) -
密码:我基本上用内置密码箱保存密码,所以成本大,但一旦迁移完成,可以同时在ios端同步使用,此外可以直接用第三方密码管理器同步(已迁移到Bitwarden)
-
无法 inspect nodejs(已使用vscode) -
调试扩展,安装扩展麻烦(要安装web-ext,调试时没有单独的log) -
固定的标签页无法用ctrl+w关闭 (习惯所有标签页都固定)(已通过userChrome.css实现) -
无法快速启用禁用扩展(Firefox没有相关API),打开扩展的设置(Chromium,右键默认有选项)(已通过userChromeJS实现) -
右键时弹出的菜单背景万年不变,字体过小,丑爆 -
书签窗口(不是菜单)万年不变,丑爆 -
下载窗口,万年不变,丑爆 -
无法右击新建按钮标签来新建搜索
- 配置文件小
- 内置Pocket
- 侧边栏
- CentBrowser (真香)
- Edge Chromium (鉴于VSCode的优异表现,可以期待,但MS毫无操守,可能说放弃就放弃)
- Opera
- Vivaldi
Flash player 12.x to 31.0.0.108 for portable browsers (32 and 64 bits)
Suggested profile contents to transfer
Chromium | Firefox |
---|---|
控制台,重复声明变量 | 控制台,支持多行编辑器 |
占用内存过大,启用20个附加组件,占用内存达1.8G(待排查原因) | |
缩放后排版异常 |
- about:policies#documentation
- https://support.mozilla.org/products/firefox-enterprise/policies-customization-enterprise/policies-overview-enterprise
- https://github.com/mozilla/policy-templates
{
"policies": {
"AppAutoUpdate": false,
"AutoLaunchProtocolsFromOrigins": [
{
"protocol": "magnet",
"allowed_origins": [
"<all_urls>"
]
}
],
"BackgroundAppUpdate": false,
"DisableAppUpdate": true,
"DisableFeedbackCommands": true,
"DisableFirefoxAccounts": true,
"DisablePocket": true,
"DisableProfileImport": true,
"DisableProfileRefresh": true,
"DisableSetDesktopBackground": true,
"DisableTelemetry": true,
"DisplayBookmarksToolbar": "always",
"DisplayMenuBar": "default-off",
"DontCheckDefaultBrowser": true,
"ExemptDomainFileTypePairsFromFileTypeDownloadWarnings": [
{
"file_extension": "exe",
"domains": [
"<all_urls>"
]
}
],
"FirefoxHome": {
"Search": true,
"TopSites": false,
"SponsoredTopSites": false,
"Highlights": false,
"Pocket": false,
"SponsoredPocket": false,
"Snippets": false,
"Locked": true
},
"FlashPlugin": {
"Allow": [],
"Block": [
"<all_urls>"
],
"Default": false,
"Locked": true
},
"Homepage": {
"URL": "about:blank",
"Locked": true,
"Additional": [],
"StartPage": "previous-session"
},
"NetworkPrediction": true,
"NewTabPage": true,
"NoDefaultBookmarks": true,
"OfferToSaveLogins": false,
"OfferToSaveLoginsDefault": false,
"OverrideFirstRunPage": "about:newtab",
"PasswordManagerEnabled": false,
"PasswordManagerExceptions": [
"<all_urls>"
],
"Permissions": {
"Camera": {
"Allow": [],
"Block": [
"<all_urls>"
],
"BlockNewRequests": true,
"Locked": true
},
"Microphone": {
"Allow": [],
"Block": [
"<all_urls>"
],
"BlockNewRequests": true,
"Locked": true
},
"Location": {
"Allow": [],
"Block": [
"<all_urls>"
],
"BlockNewRequests": true,
"Locked": true
},
"Notifications": {
"Allow": [],
"Block": [],
"BlockNewRequests": false,
"Locked": false
},
"Autoplay": {
"Allow": [],
"Block": [
"<all_urls>"
],
"Default": "block-audio-video",
"Locked": true
}
},
"PromptForDownloadLocation": false,
"SearchBar": "unified",
"SearchEngines": {
"Add": [
{
"Name": "Example1",
"URLTemplate": "https://www.example.org/q={searchTerms}",
"Method": "GET|POST",
"IconURL": "https://www.example.org/favicon.ico",
"Alias": "example",
"Description": "Description",
"PostData": "name=value&q={searchTerms}",
"SuggestURLTemplate": "https://www.example.org/suggestions/q={searchTerms}"
}
],
"Default": "NAME_OF_SEARCH_ENGINE",
"PreventInstalls": true,
"Remove": [
"NAME_OF_SEARCH_ENGINE"
]
},
"ShowHomeButton": false,
"UserMessaging": {
"WhatsNew": false,
"ExtensionRecommendations": false,
"FeatureRecommendations": false,
"UrlbarInterventions": false,
"SkipOnboarding": false,
"MoreFromMozilla": false
},
"WebsiteFilter": {
"Block": [
"http*://weibo.com/"
],
"Exceptions": []
}
}
}
user.js
或者 prefs.js
是Firefox储存深度设置(about:config
)的文件,更多信息
来源: http://kb.mozillazine.org/Links_to_local_pages_do_not_work
以Violentmonkey为例
user_pref("capability.policy.policynames", "violentmonkey");
user_pref("capability.policy.violentmonkey.sites","moz-extension://56b90d2b-f5d3-478b-ab17-2189f7031b26");
user_pref("capability.policy.violentmonkey.checkloaduri.enabled", "allAccess");
user_pref("extensions.blocklist.enabled", false);
user_pref("xpinstall.signatures.required", false);
user_pref("extensions.langpacks.signatures.required", false);
来源 https://meta.appinn.com/t/chrome/10434/11
user_pref("dom.webkitBlink.dirPicker.enabled", true);
user_pref("layout.css.prefixes.device-pixel-ratio-webkit", true);
user_pref("layout.css.prefixes.webkit", true);
user_pref("layout.css.unknown-webkit-pseudo-element", true);
user_pref("layout.css.webkit-appearance.enabled", true);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.bookmarks.editDialog.showForNewBookmarks", false);
user_pref("browser.compactmode.show", true);
user_pref("browser.download.alwaysOpenPanel", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);
user_pref("browser.ping-centre.telemetry", false);
user_pref("browser.search.context.loadInBackground", true);
user_pref("browser.search.openintab", true);
user_pref("browser.sessionhistory.max_total_viewers", 10);
user_pref("browser.startup.homepage", "about:blank");
user_pref("browser.tabs.closeTabByDblclick", true);
user_pref("browser.tabs.closeWindowWithLastTab", false);
user_pref("browser.tabs.insertAfterCurrent", true);
user_pref("browser.tabs.loadBookmarksInBackground", true);
user_pref("browser.tabs.loadBookmarksInTabs", true);
user_pref("browser.tabs.loadDivertedInBackground", true);
user_pref("browser.tabs.tabMinWidth", 50);
user_pref("browser.tabs.warnOnClose", true);
user_pref("browser.urlbar.trimURLs", true);
user_pref("devtools.chrome.enabled", true);
user_pref("devtools.debugger.remote-enabled", true);
user_pref("extensions.pocket.enabled", false);
user_pref("geo.enabled", false);
user_pref("media.navigator.enabled", false);
user_pref("media.peerconnection.enabled", false);
user_pref("network.http.max-persistent-connections-per-server", 32);
user_pref("permissions.default.camera", 2);
user_pref("permissions.default.geo", 2);
user_pref("permissions.default.microphone", 2);
user_pref("permissions.default.xr", 2);
user_pref("privacy.userContext.enabled", true);
user_pref("security.dialog_enable_delay", 1);
user_pref("signon.rememberSignons", false);
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.hybridContent.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
user_pref("toolkit.telemetry.server", "");
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
这里列一些修改Firefox界面的样式 以及基于chromium内核修改的浏览器如何达到相同效果
- 关于userChrome.css的介绍 https://www.userchrome.org/
- GitHub上userChrome.css的项目 https://github.com/Timvde/UserChrome-Tweaks
- https://firefoxcss-store.github.io/
- https://github.com/Aris-t2/CustomCSSforFx
- https://github.com/bmFtZQ/edge-frfox
/* only needed once */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* 隐藏右键按钮 */
#spell-no-suggestions,
#spell-add-to-dictionary,
#spell-undo-add-to-dictionary,
#spell-suggestions-separator,
#context-sendlinktodevice,
#context-sep-sendlinktodevice,
#context-sendimage,
#context-sendvideo,
#context-sendaudio,
#context-imagetext,
#context-viewimagedesc,
#context-sep-setbackground,
#context-setDesktopBackground,
#context-sendpagetodevice,
#spell-separator,
#spell-check-enabled,
#spell-add-dictionaries-main,
#spell-dictionaries,
#context-inspect-a11y,
#context-media-eme-separator,
#context-media-eme-learnmore {
display: none !important;
}
/* 移除标签页名称、关闭按钮 */
.tabbrowser-tab[fadein]:not([pinned]) {
max-width: 16px !important;
}
.tabbrowser-tab[fadein]:not([pinned]) .tab-label-container {
display: none !important;
}
.tabbrowser-tab[fadein]:not([pinned]) .tab-close-button {
display: none !important;
}
/* 总是显示关闭按钮 */
/*
.tabbrowser-tab[fadein]:not([pinned]):hover .tab-close-button {
margin-left: -7px !important;
}
.tabbrowser-tab:not([selected]):not([pinned]) .tab-close-button {
display: -moz-box !important;
}
*/
/* 仅隐藏书签名称 */
/* Hides bookmark text for all bookmarks displayed in a toolbar */
.bookmark-item>.toolbarbutton-text {
width: 0;
}
:root[uidensity="compact"] toolbarbutton.bookmark-item:not(.subviewbutton) {
margin: 0px;
padding: 2px 1px;
}
/* Show folder names instead of icon */
toolbarbutton.bookmark-item[type="menu"] .toolbarbutton-text {
width: auto;
}
/* Show the folder icon only if the label is blank */
/* toolbarbutton.bookmark-item[type="menu"] .toolbarbutton-icon[label]:not([label=""]) {
width: 0px !important;
} */
/* Hide the little bit of padding between the icon and label */
#PlacesToolbarItems>.bookmark-item:not([type="menu"])>.toolbarbutton-icon[label]:not([label=""]) {
margin-inline-end: 0px !important;
}
- https://www.userchrome.org/what-is-userchrome-js.html
- https://kkp.disk.st/in-2202-it-is-still-installed-in-firefox-userchromejs-environment-using-userchromejs-script.html
- https://github.com/benzBrake/FirefoxCustomize/blob/master/userChromeJS/README.md
- https://github.com/xiaoxiaoflood/firefox-scripts
- https://garywill.github.io/#Firefox-userChrome-CSS-or-JS
- https://github.com/xiaoxiaoflood/firefox-scripts/blob/master/chrome/extensionOptionsMenu.uc.js
- https://github.com/xiaoxiaoflood/firefox-scripts/blob/master/chrome/openInUnloadedTab.uc.js
- https://github.com/garywill/FirefoxTaskMonitor
- https://github.com/garywill/newtab-btn-menu
- https://github.com/xiaoxiaoflood/firefox-scripts/tree/master/extensions/DownThemAll
- https://github.com/xiaoxiaoflood/firefox-scripts/tree/master/extensions/keyconfig
- https://github.com/xiaoxiaoflood/firefox-scripts/tree/master/extensions/norwellht
- https://github.com/xiaoxiaoflood/firefox-scripts/tree/master/extensions/savefileto
(function () { // https://www.firefox.net.cn/read-121336
autoClose_blankTab();
function autoClose_blankTab() {
gBrowser.addTabsProgressListener({
onStateChange(aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) {
if (!aRequest || !aWebProgress.isTopLevel) return;
let location;
try {
aRequest.QueryInterface(Ci.nsIChannel);
location = aRequest.URI;
} catch (ex) { }
if ((aStateFlags & Ci.nsIWebProgressListener.STATE_STOP)
&& (aStateFlags & Ci.nsIWebProgressListener.STATE_IS_NETWORK)
&& location && location.spec !== 'about:blank'
&& aBrowser.documentURI && aBrowser.documentURI.spec === 'about:blank'
&& Components.isSuccessCode(aStatus) && !aWebProgress.isLoadingDocument
) {
setTimeout(() => {
gBrowser.removeTab(gBrowser.getTabForBrowser(aBrowser));
}, 100);
}
},
});
}
}());
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment