summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2020-06-20 16:11:18 -0400
committerAndrew Cady <d@jerkface.net>2020-06-20 16:11:18 -0400
commitc6952d0744388d28f410c2a53d55390504052a08 (patch)
tree9ce0b5dc74faf5cdb9e89eac6be378733a2e01e3
parent15afed2381caac4617e63080aafe0b50f4262921 (diff)
add code snippets used to generate sideloading documentation
source and run 'jqs' in a profile directory
-rw-r--r--firefox-sideloader/cli.code.sh69
1 files changed, 69 insertions, 0 deletions
diff --git a/firefox-sideloader/cli.code.sh b/firefox-sideloader/cli.code.sh
new file mode 100644
index 0000000..a13a205
--- /dev/null
+++ b/firefox-sideloader/cli.code.sh
@@ -0,0 +1,69 @@
1#!/bin/bash
2
3JQ()
4{
5 start_label "$1"
6 (exec < "${1/.lz4/.unused}"
7 shift
8 jq "$@")
9 end_label
10}
11
12JQpref()
13{
14 pref=extensions.webextensions.uuids
15 val=$(get_user_pref "$pref" | jq -c "{ \"${extension_id}\" , }")
16
17 start_label "prefs.js"
18 printf 'user_pref("%s", "%q");\n' "$pref" "$val"
19 end_label
20}
21
22start_label() { printf '%s\n' "## $1" '```'; }
23end_label() { echo '```'; }
24
25blocky()
26{
27 echo '```'
28 cat
29 echo '```'
30}
31
32get_user_pref()
33{
34 local pref="$1"
35 sed -n 's/^user_pref("'"$pref"'", "\(.*\)");$/\1/p;' prefs.js | (read line; eval 'a="$line"'; echo "$a" | jq .)
36}
37
38get_uuid_json()
39{
40 get_user_pref "extensions.webextensions.uuids"
41}
42
43jqs()
44{
45 extension_id=extension@tabliss.io
46
47 JQ addonStartup.json.lz4 \
48 '{"app-profile": {"addons": .["app-profile"].addons["'"${extension_id}"'"]}}'
49
50 (set -x; mozlz4 addonStartup.json.lz4 | jq -c '.["app-profile"]["addons"]["extension@tabliss.io"] | keys') 2>&1 | blocky
51
52 JQ extension-preferences.json \
53 '{"extension@tabliss.io"}'
54
55 (set -x; jq -c '.["'"${extension_id}"'"] | keys' extension-preferences.json) 2>&1 | blocky
56
57 JQ extensions.json \
58 '{ addons: [ .addons[] | select(.id == "'"${extension_id}"'") ] }'
59
60 (set -x; jq -c '.addons[] | select(.id == "'"${extension_id}"'") | keys' extensions.json) 2>&1 | blocky
61
62 JQ extension-settings.json \
63 '.url_overrides.newTabURL.precedenceList[] | select(.id == "'"${extension_id}"'") | {url_overrides: {newTabURL: {precedenceList: .}}}'
64
65 (set -x; jq -c keys extension-settings.json) 2>&1 | blocky
66
67 JQpref
68
69}