• 2 Posts
  • 15 Comments
Joined 1 year ago
cake
Cake day: September 5th, 2024

help-circle
  • I use something like this:

    #!/bin/bash
    
    set -euo pipefail
    URLS=(
        'https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/'
        'https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/'
        'https://addons.mozilla.org/en-US/firefox/addon/passff/'
        'https://addons.mozilla.org/en-US/firefox/addon/copy-plaintext/'
        'https://addons.mozilla.org/en-US/firefox/addon/duckduckgo-for-firefox/'
        'https://addons.mozilla.org/en-US/firefox/addon/user-agent-string-switcher/'
        'https://addons.mozilla.org/en-US/firefox/addon/clearurls/'
        'https://addons.mozilla.org/en-US/firefox/addon/temporary-containers/'
        'https://addons.mozilla.org/en-US/firefox/addon/consent-o-matic/'
    )
    
    DOWNLOAD_BASE_URL='https://addons.mozilla.org/firefox/downloads/latest'
    _="${FIREFOX:=firefox}"
    _="${DST:=/usr/lib/$FIREFOX/browser/extensions}"
    
    if [ $UID -eq 0 ]; then
        SUDO=
    else
        SUDO=sudo
    fi
    
    
    download_links=()
    for url in "${URLS[@]}"; do
        package_name="$(sed 's_/$__' <<< "$url" | awk -F/ '{print $NF}')"
        download_links+=("$DOWNLOAD_BASE_URL/$package_name/addon-$package_name.xpi")
    done
    
    workdir="$(mktemp --directory)"
    cd "$workdir"
    for url in "${download_links[@]}"; do
        curl -OL "$url"
    done
    
    for ext in *.xpi; do
        ext_id="$(unzip -p "$ext" 'manifest.json' | jq -r '(if .browser_specific_settings then .browser_specific_settings else .applications end).gecko.id')"
        target="$DST/$ext_id.xpi"
        echo "$ext -> $target"
        $SUDO install -Dm644 "$ext" "$target"
    done
    

    That doesn’t handle the extension config though.




  • Hmm. The first section about cloud service providers is a bit weird to me. There are providers which “keep my best interests in mind” as part of their business model, backblaze would be one. Their whole idea is to provide a good backup services. Encrypting my data before transit also doesn’t make me worried that it will be accessed by them or any of their employees because they will only get some garbled mess.

    Compare that to google, another cloud service provider. Their business model is to make money by selling me ads (foremost), they do that by gathering as much data as possible. Here all my answers would be negative.

    This puts me in an awkward spot where I nearly every time answer with “Neither agree nor disagree”, because there is more to it and not because I don’t have an opinion.














  • There are minecraft reverse proxies, so, yes, a http proxy will not work, but the general idea is still viable and doable with very little effort.

    Set up a few domains all resolving to one IP. Run itzg/minecraft-router and use that to proxy the traffic to different servers based on the domain.

    Also, they don’t even need a reverse proxy, but just resolve the domain name to the IP (in the simple case of one domain name per I0). That can be accomplished by hosting their own dns server, editing the hosts file or just pointing a public dns record at the private ip address, which will only work in their network,l.