UP  |  HOME

Chromium

Table of Contents

Settings

Disable Device Discovery Notifications. This service opens UDP port 5353 on all interfaces for discovering. Don't need whatever this feature is. chrome://flags/#device-discovery-notifications

Enable Load Media Router Component Extension for chromecast because otherwise casting plugin cannot find devices to cast to. chrome://flags/#load-media-router-component-extension

Enable Reader Mode. Allows toggling a reader mode from the kebab menu. chrome://flags/#enable-reader-mode

Disable third party cookies. Settings > Show Advanced Settings > Privacy and Security > Content Settings > Cookies > Block third-party cookies.

Theme

Name Just Black
Description Midnight monochrome
Store Page https://chrome.google.com/webstore/detail/aghfnjkcakhmadgdomlmlhhaocbkloab
Purpose Dark UI Theme

Chrome Apps

Name Plex NAS Launcher
Description Creates an app launcher in Chrome for opening the Plex web app on your LAN.
Store Page https://chrome.google.com/webstore/detail/obfggandbonlahgdfibbdcahgahifjje
Purpose Handy plex launcher

Extensions

Name Advanced Font Settings
Description Customize per-script font settings.
Store Page https://chrome.google.com/webstore/detail/caclkomlalccbpcdllchkeecicepbmbm
Purpose More specific font selection.
Name Bookmark All
Description Extends chrome's bookmark all tabs feature across all open windows.
Store Page https://chrome.google.com/webstore/detail/jjhpikpjjhlcmifagompgmhkjalhjopj
Purpose Saves bookmarks across all windows (used to export tabs to other browsers)
Site https://github.com/drewis/chrome_extension_bookmark_all
Name Clever Mute
Description This extension mutes all sites by default. If a site tries to play any sound you'll be notified so you can decide what to do
Store Page https://chrome.google.com/webstore/detail/eadinjjkfelcokdlmoechclnmmmjnpdh
Purpose Auto mutes tab on sound output. Remembers unmuted sites.
Name Cluster - Window & Tab Manager
Description Window and Tab manager for managing multiple open tabs and windows with simplicity.
Store Page https://chrome.google.com/webstore/detail/aadahadfdmiibmdhfmpbeeebejmjnkef
Purpose Nice tab overview. Ability to move tabs between windows and group them efficiently.
Site https://clusterwm.com/
Name Dark Reader
Description Dark mode for every website. Take care of your eyes, use dark theme for night and daily browsing.
Store Page https://chrome.google.com/webstore/detail/eimadpbcbfnmbkopoojfekhnkhdbieeh
Purpose Dark mode through filters, inversion, etc.
Site https://darkreader.org/
Name Narrower
Description Add margins to wide pages.
Store Page https://chrome.google.com/webstore/detail/jfjaedekncgddegockpigkkpgkhaoljg
Purpose Adds margins to wide sites for better readability.
Site https://github.com/andrey-leshenko/Narrower
Name New Tab Redirect
Description Allows a user to provide the URL of the page that loads in a new tab.
Store Page https://chrome.google.com/webstore/detail/icpgjfneehieebagbmdbhnlpiopdcmna
Purpose Specify the URL to load on a new tab.
Site https://github.com/jimschubert/newtab-redirect
Name Old Reddit Redirect
Description Ensure Reddit always loads the old design
Store Page https://chrome.google.com/webstore/detail/dneaehbmnbhcippjikoajpoabadpodje
Purpose Always redirect to old.reddit
Name Privacy Badger
Description Privacy Badger automatically learns to block invisible trackers.
Store Page https://chrome.google.com/webstore/detail/pkehgijcmpdhfbdbbnkijodmdjhbjlgp
Purpose Block trackers.
Site https://privacybadger.org/
Name Reading Time
Description This extension shows the estimated reading time for a web page
Store Page https://chrome.google.com/webstore/detail/nccohhimobidpghgpnejnbkpoichbbml
Purpose Widget to show approximate reading time on each page.
Site https://github.com/usergit/reading-time
Name Save to Pocket
Description The easiest, fastest way to capture articles, videos, and more.
Store Page https://chrome.google.com/webstore/detail/niloccemoadcdkdjlinkgdfekeahmflj
Purpose Send pages to Pocket service to be read later (also syncs with Kobo e-reader).
Site http://getpocket.com/
Name uBlock Origin
Description Finally, an efficient blocker. Easy on CPU and memory.
Store Page https://chrome.google.com/webstore/detail/cjpalhdlnbpafiamejdnhcphjbkeiagm
Purpose Adblocker.
Site https://github.com/gorhill/uBlock
Name UnDistracted
Description Rise above the time-sinks
Store Page https://chrome.google.com/webstore/detail/pjjgklgkfeoeiebjogplpnibpfnffkng
Purpose Blocks distracting websites or components of them that lead to time wasting (comments, recommendations, feeds, chat, etc.).
Name Unpinterested!
Description Remove Pinterest from Google search results
Store Page https://chrome.google.com/webstore/detail/gefaihkenmchjmcpcbpdijpoknfjpbfe
Purpose Remove pinterest from search results because their pages are internal-only link spam.
Site https://unpinterested.sellomkantjwa.com/
Name Wayback Machine
Description The Official Wayback Machine Extension - by the Internet Archive.
Store Page https://chrome.google.com/webstore/detail/wayback-machine/fpnmgdkabkmnadcjpehmlllkndpkmiak
Purpose Open pages using Wayback Machine.

Grabbing plugin metadata

Here's a script to collect and output plugin info for more easily updating my list above.

#!/bin/bash

## Parse out extension information from chromium profile directory
## Output is an org mode table, but could be modified easily

# requires jq

# not tested thoroughly.

base_path="$HOME/.config/chromium/"

# check for last used profile
profile=$(jq -r '.profile.last_used' "$base_path/Local State")
if [[ $profile == "null" ]]; then
    profile="Default"
fi
ext_path="$base_path$profile/Extensions"

ext_dirs=()        # extension directories path
ext_manifests=()   # extension manifest.json path
ext_ids=()         # extension id from directory (used in store url)
ext_names=()       # extension short name
ext_descs=()       # extension short description

for ext_dir in "$ext_path"/*/; do
    ext_ids+=("$(basename "$ext_dir")")
    ext_dirs+=("$ext_dir")
    # grab a manifest
    ext_manifests+=("$(find "${ext_dirs[-1]}" -name manifest.json|head -n 1)")

    # When 'name' or 'description' starts with __ it indicates the string can
    # be found elsewhere like in '_locales/en/messages.json'
    # Locale can be taken from 'manifest.json'  .default_locale
    # So for __MSG_appName__ the json path will be like: .appName.message

    # pull info from manifest.json
    ext_names+=("$(jq -r ".name" "${ext_manifests[-1]}")")
    if [[ "${ext_names[-1]}" = "__"* ]]; then
        # strip underscore guards
        last_name=${ext_names[-1]}
        name=${last_name#"__MSG_"}
        name=${name%"__"}

        locale=$(jq -r ".default_locale" "${ext_manifests[-1]}")
        message_file="$(find "${ext_dirs[-1]}" -path "*_locales/$locale"|head -n 1)/messages.json"
        ext_names[-1]=$(jq -r .\"$name\".message "$message_file")
    fi

    ext_descs+=("$(jq -r ".description" "${ext_manifests[-1]}")")
    if [[ "${ext_descs[-1]}" = "__"* ]]; then
        # strip underscore guards
        last_desc=${ext_descs[-1]}
        desc=${last_desc#"__MSG_"}
        desc=${desc%"__"}

        locale=$(jq -r ".default_locale" "${ext_manifests[-1]}")
        ext_descs[-1]=$(jq -r .\"$desc\".message "$(find "${ext_dirs[-1]}" -path "*_locales/$locale"|head -n 1)/messages.json")
    fi
done

for index in ${!ext_ids[*]}; do
    echo "#+BEGIN_grouping"
    echo "#+ATTR_LATEX: :width \\linewidth :align lX :font \\footnotesize\\rmfamily"
    echo "|Name|${ext_names[$index]}|"
    echo "|Description|${ext_descs[$index]}|"
    echo "|Store Page|[[https://chrome.google.com/webstore/detail/${ext_ids[$index]}]]|"
    echo "|Purpose||"
    echo "|Site|-|"
    echo "#+END_grouping"
    echo
done

Sort blocks in Vim

Visually select all blocks

:'<,'>s/\n\([|#]\)/@\1/
:'<,'>sort
:'<,'>s/@/\r/g