web
Web Browser
→ Ungoogled-Chromium
It is not possible to install extensions thought the chrome store. You need to install them manually:
https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=[VERSION]&x=id%3D[EXTENSION_ID]%26installsource%3Dondemand%26uc
- VERSION: for example 84.0
- EXTENSION_ID: the hash can be found on the extension url
It has several cons:
- cannot change default shortkeys (like any chromium based browser but vivaldi)
- cannot install extensions easily
→ Firefox
It has several cons:
- ~~cannot change default shortkeys~~
- ~~might be~~ is possible with autoconfig
→ Extensions
- vimium-c
- dark-reader
- browserpass
- auto refresh page
- tabs are windows
- ublock origin
- consent-o-matic
- privacy badger
→ Remove key bindings
My FF keys config:
ui.key.menuAccessKeyFocuses=false
browser.gesture.swipe.left=
browser.gesture.swipe.right=
in order to enable the console toolbox:
devtools.chrome.enabled = true
devtools.debugger.remote-enabled = true
/usr/lib/firefox/browser/defaults/preferences/syspref.js
// This file can be used to configure global preferences for Firefox
// Example: Homepage
//pref("browser.startup.homepage", "http://www.weebls-stuff.com/wab/");
pref("general.config.filename", "config.js");
pref("general.config.obscure_value", 0);
pref("general.config.sandbox_enabled", false);
/usr/lib/firefox/config.js
// IMPORTANT DE GARDER CETTE LIGNE
try {
let { classes: Cc, interfaces: Ci, manager: Cm } = Components;
const Services = globalThis.Services;
const {SessionStore} = Components.utils.import('resource:///modules/sessionstore/SessionStore.jsm');
function ConfigJS() { Services.obs.addObserver(this, 'chrome-document-global-created', false); }
ConfigJS.prototype = {
observe: function (aSubject) { aSubject.addEventListener('DOMContentLoaded', this, {once: true}); },
handleEvent: function (aEvent) {
let document = aEvent.originalTarget; let window = document.defaultView; let location = window.location;
if (/^(chrome:(?!\/\/(global\/content\/commonDialog|browser\/content\/webext-panels)\.x?html)|about:(?!blank))/i.test(location.href)) {
if (window._gBrowser) {
// Place your keyboard shortcut changes here
// ...
// ...
//'focusURLBar2',
//'goBackKb',
//'goForwardKb',
const keys = [
'addBookmarkAsKb', 'bookmarkAllTabsKb', 'focusURLBar', 'goBackKb2', 'goForwardKb2', 'goHome', 'key_aboutProcesses', 'key_close', 'key_closeWindow', 'key_gotoHistory', 'key_newNavigator', 'key_newNavigatorTab', 'key_openAddons', 'key_openDownloads', 'key_privatebrowsing', 'key_quitApplication', 'key_sanitize', 'key_savePage', 'key_screenshot', 'key_search', 'key_search2', 'key_selectAll', 'key_selectLastTab', 'key_selectTab1', 'key_selectTab2', 'key_selectTab3', 'key_selectTab4', 'key_selectTab5', 'key_selectTab6', 'key_selectTab7', 'key_selectTab8', 'key_showAllTabs', 'key_switchTextDirection', 'key_toggleMute', 'key_togglePictureInPicture', 'key_toggleReaderMode', 'key_undoCloseTab', 'key_undoCloseWindow', 'key_viewInfo', 'key_viewSource', 'key_wrCaptureCmd', 'key_wrToggleCaptureSequenceCmd', 'manBookmarkKb', 'openFileKb', 'printKb', 'showAllHistoryKb', 'viewBookmarksSidebarKb', 'viewBookmarksToolbarKb',
];
for (key of keys) {
window.document.getElementById(key).remove();
}
}
}
}
};
if (!Services.appinfo.inSafeMode) { new ConfigJS(); }
} catch(ex) {};
→ Remove tabs
vim /home/nparis/.mozilla/firefox-esr/vkj2hxae.default-esr115/chrome/userChrome.css
/* hides the native tabs */
#TabsToolbar {
visibility: collapse;
}
→ Disable share screen popup
in about:config set privacy.webrtc.legacyGlobalIndicator to false and privacy.webrtc.hideGlobalIndicator to true
→ Pre-install extensions
→ Vivaldi
It has several cons:
- proprietary software
- slow
→ Qutebrowser
https://qutebrowser.org/doc/install.html#tox
pros:
- fairly good adblocker
- readline shortkeys in both command / input
- minimalist
cons:
- does not discover all pleroma links
→ Search with “startpage”
This provides a GET search in clear
c.url.searchengines = {'DEFAULT': 'https://www.startpage.com/sp/search?query={}&prfh=disable_open_in_new_windowEEE0N1Ndisable_video_family_filterEEE1N1Nenable_post_methodEEE0N1Nenable_proxy_safety_suggestEEE1N1Nenable_stay_controlEEE0N1Ngeo_mapEEE0N1Nlang_homepageEEEs%2Fblak%2Ffr%2FN1NlanguageEEEenglishN1Nlanguage_uiEEEfrancaisN1Nnum_of_resultsEEE10N1Nother_iaEEE1N1Nsearch_results_regionEEEallN1NsuggestionsEEE0N1Nwikipedia_iaEEE1N1Nwt_unitEEEcelsius&language=english&t=blak&lui=francais&cat=web&sc=wb8Rggx5esKu20&abp=-1'}
→ Disable HTS on chromium
- https://www.thesslstore.com/blog/clear-hsts-settings-chrome-firefox/
→ Vimium-c (firefox & chromium)
Together with gtk-emacs binding only those are necessary:
# delete backward character
mapkey <c-b:i> <f3rmc>
map <f3rmc> editText run="move,backward,character,exec,move,"
# delete backward character
mapkey <c-k:i> <f3rfor>
map <f3rfor> editText run="extend,forward,lineboundary,exec,delete,"
# delete backward character
mapkey <c-u:i> <f3rback>
map <f3rback> editText run="extend,backward,lineboundary,exec,delete,"
Add mapkey :
mapkey <a-d:i> <f3rmf>
map <f3rmf> editText run="extend,forward,word,exec,delete,"
# delete forward character
mapkey <c-d:i> <f3rmcf>
map <f3rmcf> editText run="extend,forward,character,exec,delete,"
# delete backward word
mapkey <a-backspace:i> <f3rm>
map <f3rm> editText run="extend,backward,word,exec,delete,"
# delete backward character
mapkey <c-h:i> <f3rmc>
map <f3rmc> editText run="extend,backward,character,exec,delete,"
mapkey <c-e:i> <f3end>
map <f3end> editText run="move,forward,lineboundary,exec,move,"
mapkey <a-f:i> <f3wend>
map <f3wend> editText run="move,forward,word,exec,move,"
mapkey <a-b:i> <f3wbig>
map <f3wbig> editText run="move,backward,word,exec,move,"
# not used because mapped to select text. use home instead
# mapkey <c-a> <f3bg>
# map <f3bg> editText run="move,backward,lineboundary,exec,move,"
mapkey <c-k:i> <f3rmline>
map <f3rmline> editText run="extend,forward,lineboundary,exec,delete,"
mapkey <c-n:i> <s-down>
mapkey <c-p:i> <s-up>
→ Chromium
→ Install chromium
Install without snap on ubuntu 20.04 to make browser-pass (password-store) working.
- install the extension
- also install the
sudo apt install webext-browserpass