Compare commits

...

2 Commits

Author SHA1 Message Date
7a2f5d5930
cleanup 2025-09-02 05:44:14 +00:00
304e61574e
feat: mpv function to auto add subtitles opt 2025-07-24 14:17:01 +00:00
24 changed files with 135 additions and 62 deletions

View File

@ -22,7 +22,7 @@ export SQLITE_HISTORY=$XDG_STATE_HOME/sqlite_history
export GOPATH="$XDG_DATA_HOME/go" export GOPATH="$XDG_DATA_HOME/go"
export GOTELEMETRY=off export GOTELEMETRY=off
export W3M_DIR="$XDG_STATE_HOME/w3m" export W3M_DIR="$XDG_RUNTIME_DIR/w3m"
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
@ -40,7 +40,7 @@ export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"
export SSH_AUTH_SOCK; SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" export SSH_AUTH_SOCK; SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
[ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ] && { [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ] && {
GUILOG="$HOME/.local/state/gui.log" GUILOG="$XDG_STATE_HOME/gui.log"
mv -f "$GUILOG" "$GUILOG.old" || true mv -f "$GUILOG" "$GUILOG.old" || true

View File

@ -6,7 +6,7 @@ outgoing-cred-cmd = pass show email/ange@duhayon.com | head -n1
default = INBOX default = INBOX
from = "Ange DUHAYON" <ange@duhayon.com> from = "Ange DUHAYON" <ange@duhayon.com>
cache-headers = true cache-headers = true
copy-to = INBOX.INBOX.Sent copy-to = Sent Items
signature-file = ~/.config/aerc/signature.txt signature-file = ~/.config/aerc/signature.txt
[yw5n] [yw5n]
@ -17,7 +17,7 @@ outgoing-cred-cmd = pass show email/ange@yw5n.com | head -n1
default = INBOX default = INBOX
from = "Ange DUHAYON" <ange@yw5n.com> from = "Ange DUHAYON" <ange@yw5n.com>
cache-headers = true cache-headers = true
copy-to = Sent copy-to = INBOX.INBOX.Sent
signature-file = ~/.config/aerc/signature.txt signature-file = ~/.config/aerc/signature.txt
pgp-auto-sign = true pgp-auto-sign = true
pgp-opportunistic-encrypt = true pgp-opportunistic-encrypt = true

View File

@ -6,5 +6,5 @@ pgp-provider = gpg
message/delivery-status = colorize message/delivery-status = colorize
message/rfc822 = colorize message/rfc822 = colorize
text/calendar = calendar text/calendar = calendar
text/html = w3m -T text/html -o display_link_number=1 text/html = html | colorize
text/plain = colorize text/plain = colorize

View File

@ -13,6 +13,11 @@
<C-q> = :quit<Enter> <C-q> = :quit<Enter>
<C-z> = :suspend<Enter> <C-z> = :suspend<Enter>
[messages:account=duhayon]
d = :mv "Deleted Items"<Enter>
[messages:account=yw5n]
d = :mv INBOX.INBOX.Trash<Enter>
[messages] [messages]
q = :quit<Enter> q = :quit<Enter>
r = :check-mail<Enter> r = :check-mail<Enter>
@ -53,7 +58,6 @@ zR = :unfold -a<Enter>
<tab> = :fold -t<Enter> <tab> = :fold -t<Enter>
<Enter> = :view<Enter> <Enter> = :view<Enter>
d = :prompt 'Really delete this message?' 'delete-message'<Enter>
D = :delete<Enter> D = :delete<Enter>
a = :archive flat<Enter> a = :archive flat<Enter>
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter> A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>

View File

@ -5,4 +5,4 @@ background = "#101010"
size = 9 size = 9
[window] [window]
opacity = 0.9 opacity = 0.95

View File

@ -35,8 +35,16 @@ bd() {
echo "$@" | base64 -d; echo echo "$@" | base64 -d; echo
} }
ex() {
local f
for f in "$@"; do
tar xvf "$f" || 7z x "$f"
done
}
gi() { gi() {
curl -fL "https://www.toptal.com/developers/gitignore/api/$(printf '%s\n' "$@" | sort -u | paste -sd,)" curl -fL "https://www.toptal.com/developers/gitignore/api/$(IFS=$'\n'; sort -u <<< "$*" | paste -sd,)"
} }
md2html() { md2html() {
@ -47,6 +55,19 @@ md2html() {
) done ) done
} }
mpv() {
local a opt=()
for a in "$@"; do
if [[ "$a" == [!-]*.srt ]]; then
opt+=(--sub-file="$a")
else
opt+=("$a")
fi
done
(set -x; command mpv "${opt[@]}")
}
update() { update() {
$TERM --hold -e "$SHELL" -xc "sudo pacman -Syu && echo $'\e[32mDONE'" & $TERM --hold -e "$SHELL" -xc "sudo pacman -Syu && echo $'\e[32mDONE'" &
$TERM --hold -e "$SHELL" -xc "git --git-dir='$HOME/.dotfiles/' --work-tree='$HOME' submodule update --remote && echo $'\e[32mDONE'" & $TERM --hold -e "$SHELL" -xc "git --git-dir='$HOME/.dotfiles/' --work-tree='$HOME' submodule update --remote && echo $'\e[32mDONE'" &
@ -59,7 +80,7 @@ tmp() {
tz() { tz() {
local tz src local tz src
tz="$(cat "$XDG_RUNTIME_DIR/sbar/tz")" tz="$(head -n1 "$XDG_CACHE_HOME/tz")"
src="$(find /usr/share/zoneinfo/ -maxdepth 2 -iname "$1*" -printf '%P' -quit)" src="$(find /usr/share/zoneinfo/ -maxdepth 2 -iname "$1*" -printf '%P' -quit)"
TZ="$tz" date -d "TZ=\"$src\" ${2:-now}" "+%R%:::z $tz" TZ="$tz" date -d "TZ=\"$src\" ${2:-now}" "+%R%:::z $tz"
TZ="$src" date -d "TZ=\"$tz\" ${2:-now}" "+%R%:::z ${src:-UTC}" TZ="$src" date -d "TZ=\"$tz\" ${2:-now}" "+%R%:::z ${src:-UTC}"

View File

@ -33,4 +33,4 @@ precmd() {
PROMPT_PERR="${err// /|} " PROMPT_PERR="${err// /|} "
fi fi
} }
PS1='\[\e[38;5;110m\]$PROMPT_PTIME \[\e[38;5;134m\]$PROMPT_PK8S\n\[\e[00m\]$(__git_ps1 "%s ")\[\e[01;38;5;32m\]\w\[\e[00m\] \[\e[38;5;160m\]$PROMPT_PERR${_[\j<1]+\[\e[38;5;71m\]\j }\[\e[00m\]' PS1='\[\e[38;5;110m\]$PROMPT_PTIME \[\e[38;5;134m\]$PROMPT_PK8S\[\e[00m\]\n$(__git_ps1 "%s ")\[\e[01;38;5;32m\]\w\[\e[00m\] \[\e[38;5;160m\]$PROMPT_PERR${_[\j<1]+\[\e[38;5;71m\]\j }\[\e[00m\]'

View File

@ -2,9 +2,7 @@
https://archlinux.org/feeds/news/ "ArchLinux" https://archlinux.org/feeds/news/ "ArchLinux"
https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "BrodieRobertson" https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "BrodieRobertson"
https://www.debian.org/News/news "Debian" https://www.debian.org/News/news "Debian"
https://f-droid.org/feed.xml "F-Droid"
https://suckless.org/atom.xml "suckless.org" https://suckless.org/atom.xml "suckless.org"
https://tails.net/news/index.en.rss "Tails"
@ Updates @ Updates
https://gitea.com/gitea/act_runner/releases.rss "Act runner" https://gitea.com/gitea/act_runner/releases.rss "Act runner"

View File

@ -1 +1 @@
vim.keymap.set("n", "<Leader>f", "<cmd>Black<CR>", {buffer=true}) vim.keymap.set("n", "<Leader>s", "<cmd>Black<CR>", {buffer=true})

View File

@ -25,7 +25,6 @@ vim.opt.colorcolumn = "80"
vim.g.netrw_banner = 0 vim.g.netrw_banner = 0
vim.opt.lazyredraw = true vim.opt.lazyredraw = true
vim.opt.complete = vim.o.complete .. ",i" vim.opt.complete = vim.o.complete .. ",i"
vim.opt.hlsearch = false
vim.g.go_recommended_style = 0 vim.g.go_recommended_style = 0

@ -1 +1 @@
Subproject commit 11de4da47f3e69cb70c3ae9816bd8af166cbe121 Subproject commit de495fabe171d48aed5525f002d14414efcecbb2

@ -1 +1 @@
Subproject commit 857c5ac632080dba10aae49dba902ce3abf91b35 Subproject commit b9fd5226c2f76c951fc8ed5923d85e4de065e509

View File

@ -0,0 +1,14 @@
# pyright: reportUndefinedVariable=false
config.load_autoconfig(False)
c.content.autoplay = False
c.content.notifications.enabled = False
c.url.searchengines = {
"DEFAULT": "https://searx.gmoker.com/search?q={}",
"!g": "https://www.google.com/search?q={}",
"!d": "https://duckduckgo.com/?q={}",
}
c.url.start_pages = "about:blank"

2
.gitmodules vendored
View File

@ -1,6 +1,6 @@
[submodule ".config/nvim/pack/dist/start/onedark"] [submodule ".config/nvim/pack/dist/start/onedark"]
path = .config/nvim/pack/dist/start/onedark path = .config/nvim/pack/dist/start/onedark
url = https://github.com/navarasu/onedark.nvim url = https://github.com/navarasu/onedark.nvim.git
[submodule ".config/nvim/pack/dist/start/plenary"] [submodule ".config/nvim/pack/dist/start/plenary"]
path = .config/nvim/pack/dist/start/plenary path = .config/nvim/pack/dist/start/plenary
url = https://github.com/nvim-lua/plenary.nvim.git url = https://github.com/nvim-lua/plenary.nvim.git

@ -1 +1 @@
Subproject commit c45589c02c50d8be0539653769e96e80ca28c0af Subproject commit cef4c5373e239053cf9af210eaf9e8adbdaabac6

@ -1 +1 @@
Subproject commit d5a870d66bb728e17d2e70c23025b2fa11791d1a Subproject commit 6bbdeff0e7b6c476c99d9b01670ef1431450042a

9
.local/bin/chromium Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash -e
rmchrom() {
rm -rf {"$XDG_CONFIG_HOME","$XDG_CACHE_HOME"}/chromium
}
trap rmchrom EXIT
rmchrom
/usr/bin/chromium

View File

@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
sites=( sites=(
'https://.login.microsoftonline.com'
'https://discord.com' 'https://discord.com'
'https://gmoker.com' 'https://gmoker.com'
'https://maby.dev' 'https://maby.dev'

View File

@ -72,8 +72,8 @@ _tz() {
mapfile -t if < <(ip -j route show default | jq -r '.[] | .prefsrc, .dev') mapfile -t if < <(ip -j route show default | jq -r '.[] | .prefsrc, .dev')
if ! [ -s "$f" ] || [ "${if[0]}" != "$(< ip)" ]; then if ! [ -s "$f" ] || [ "${if[0]}" != "$(< ip)" ]; then
echo "${if[0]}" > ip echo "${if[0]}" > ip
if j="$(curl -s 'https://ipapi.co/json')"; then if j="$(curl -s 'https://api.ipbase.com/v2/info')"; then
jq -r '.timezone, "\(.latitude):\(.longitude)"' <<< "$j" > "$f" jq -r '.[] | .timezone.id, (.location |"\(.latitude):\(.longitude)" )' <<< "$j" > "$f"
head -1 "$f" head -1 "$f"
fi fi
else else

View File

@ -1,12 +1,16 @@
#!/bin/bash -e #!/bin/bash -e
DMENU=/usr/local/bin/dmenu DMENU=dmenu
SUDO=pkexec SUDO=pkexec
if tty -s; then if tty -s; then
DMENU=fzf DMENU=fzf
SUDO=sudo SUDO=sudo
fi fi
if [ "$EUID" = 0 ]; then
SUDO=
fi
d="$(mktemp -d)" d="$(mktemp -d)"
# shellcheck disable=SC2064 # shellcheck disable=SC2064
trap "rm -rf '$d'" EXIT trap "rm -rf '$d'" EXIT
@ -29,6 +33,6 @@ if [ "$1" != off ]; then
fi fi
(inotifywait -e close_write "$d/1"; "$DMENU" < "$d/1" > "$d/2") & (inotifywait -e close_write "$d/1"; "$DMENU" < "$d/1" > "$d/2") &
"$SUDO" bash -c "${CMD[*]/%/;}" $SUDO bash -c "${CMD[*]/%/;}"
touch "$XDG_RUNTIME_DIR/sbar/vpn" touch "${XDG_RUNTIME_DIR:-/run/user/1000}/sbar/vpn"

View File

@ -1,7 +1,7 @@
/****** /******
* name: arkenfox user.js * name: arkenfox user.js
* date: 6 March 2025 * date: 14 August 2025
* version: 135 * version: 140
* urls: https://github.com/arkenfox/user.js [repo] * urls: https://github.com/arkenfox/user.js [repo]
* : https://arkenfox.github.io/gui/ [interactive] * : https://arkenfox.github.io/gui/ [interactive]
* license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt * license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt
@ -31,7 +31,7 @@
- DON'T wait for arkenfox to update Firefox, nothing major changes these days - DON'T wait for arkenfox to update Firefox, nothing major changes these days
* Each release * Each release
- run prefsCleaner to reset prefs made inactive, including deprecated (9999) - run prefsCleaner to reset prefs made inactive, including deprecated (9999)
* ESR * ESR (Extended Support Release)
- It is recommended to not use the updater, or you will get a later version which may cause issues. - It is recommended to not use the updater, or you will get a later version which may cause issues.
So you should manually append your overrides (and keep a copy), and manually update when you So you should manually append your overrides (and keep a copy), and manually update when you
change ESR releases (arkenfox is already past that release) change ESR releases (arkenfox is already past that release)
@ -87,17 +87,18 @@ user_pref("_user.js.parrot", "0100 syntax error: the parrot's dead!");
* [SETTING] General>Startup>Restore previous session ***/ * [SETTING] General>Startup>Restore previous session ***/
user_pref("browser.startup.page", 0); user_pref("browser.startup.page", 0);
/* 0103: set HOME+NEWWINDOW page /* 0103: set HOME+NEWWINDOW page
* about:home=Firefox Home (default, see 0105), custom URL, about:blank * about:home=Firefox Home (default, see 0105), custom URLs..., Blank Page
* [SETTING] Home>New Windows and Tabs>Homepage and new windows ***/ * [SETTING] Home>New Windows and Tabs>Homepage and new windows ***/
user_pref("browser.startup.homepage", "about:blank"); user_pref("browser.startup.homepage", "chrome://browser/content/blanktab.html");
/* 0104: set NEWTAB page /* 0104: set NEWTAB page
* true=Firefox Home (default, see 0105), false=blank page * true=Firefox Home (default, see 0105), false=blank page
* [SETTING] Home>New Windows and Tabs>New tabs ***/ * [SETTING] Home>New Windows and Tabs>New tabs ***/
user_pref("browser.newtabpage.enabled", false); user_pref("browser.newtabpage.enabled", false);
/* 0105: disable sponsored content on Firefox Home (Activity Stream) /* 0105: disable sponsored content on Firefox Home (Activity Stream)
* [SETTING] Home>Firefox Home Content ***/ * [SETTING] Home>Firefox Home Content ***/
user_pref("browser.newtabpage.activity-stream.showSponsored", false); // [FF58+] user_pref("browser.newtabpage.activity-stream.showSponsored", false); // [FF58+] Sponsored stories
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // [FF83+] Shortcuts>Sponsored shortcuts user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // [FF83+] Sponsored shortcuts
user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false); // [FF140+] Support Firefox
/* 0106: clear default topsites /* 0106: clear default topsites
* [NOTE] This does not block you from adding your own ***/ * [NOTE] This does not block you from adding your own ***/
user_pref("browser.newtabpage.activity-stream.default.sites", ""); user_pref("browser.newtabpage.activity-stream.default.sites", "");
@ -121,11 +122,8 @@ user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
* [SETTING] Privacy & Security>Firefox Data Collection and Use>Allow personalized extension recommendations * [SETTING] Privacy & Security>Firefox Data Collection and Use>Allow personalized extension recommendations
* [1] https://support.mozilla.org/kb/personalized-extension-recommendations ***/ * [1] https://support.mozilla.org/kb/personalized-extension-recommendations ***/
user_pref("browser.discovery.enabled", false); user_pref("browser.discovery.enabled", false);
/* 0323: disable shopping experience [FF116+]
* [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1840156#c0 ***/
user_pref("browser.shopping.experience2023.enabled", false); // [DEFAULT: false]
/** TELEMETRY ***/ /** ACTIVITY STREAM ***/
/* 0335: disable Firefox Home (Activity Stream) telemetry ***/ /* 0335: disable Firefox Home (Activity Stream) telemetry ***/
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false); user_pref("browser.newtabpage.activity-stream.telemetry", false);
@ -285,10 +283,11 @@ user_pref("browser.urlbar.suggest.searches", false);
user_pref("browser.urlbar.trending.featureGate", false); user_pref("browser.urlbar.trending.featureGate", false);
/* 0806: disable urlbar suggestions ***/ /* 0806: disable urlbar suggestions ***/
user_pref("browser.urlbar.addons.featureGate", false); // [FF115+] user_pref("browser.urlbar.addons.featureGate", false); // [FF115+]
user_pref("browser.urlbar.amp.featureGate", false); // [FF141+] adMarketplace
user_pref("browser.urlbar.fakespot.featureGate", false); // [FF130+] [DEFAULT: false] user_pref("browser.urlbar.fakespot.featureGate", false); // [FF130+] [DEFAULT: false]
user_pref("browser.urlbar.mdn.featureGate", false); // [FF117+] [HIDDEN PREF] user_pref("browser.urlbar.mdn.featureGate", false); // [FF117+]
user_pref("browser.urlbar.pocket.featureGate", false); // [FF116+] [DEFAULT: false] user_pref("browser.urlbar.weather.featureGate", false); // [FF108+]
user_pref("browser.urlbar.weather.featureGate", false); // [FF108+] [DEFAULT: false] user_pref("browser.urlbar.wikipedia.featureGate", false); // [FF141+]
user_pref("browser.urlbar.yelp.featureGate", false); // [FF124+] user_pref("browser.urlbar.yelp.featureGate", false); // [FF124+]
/* 0807: disable urlbar clipboard suggestions [FF118+] ***/ /* 0807: disable urlbar clipboard suggestions [FF118+] ***/
// user_pref("browser.urlbar.clipboard.featureGate", false); // user_pref("browser.urlbar.clipboard.featureGate", false);
@ -330,7 +329,7 @@ user_pref("_user.js.parrot", "0900 syntax error: the parrot's expired!");
/* 0903: disable auto-filling username & password form fields /* 0903: disable auto-filling username & password form fields
* can leak in cross-site forms *and* be spoofed * can leak in cross-site forms *and* be spoofed
* [NOTE] Username & password is still available when you enter the field * [NOTE] Username & password is still available when you enter the field
* [SETTING] Privacy & Security>Logins and Passwords>Autofill logins and passwords * [SETTING] Privacy & Security>Passwords>Autofill logins and passwords
* [1] https://freedom-to-tinker.com/2017/12/27/no-boundaries-for-user-identities-web-trackers-exploit-browser-login-managers/ * [1] https://freedom-to-tinker.com/2017/12/27/no-boundaries-for-user-identities-web-trackers-exploit-browser-login-managers/
* [2] https://homes.esat.kuleuven.be/~asenol/leaky-forms/ ***/ * [2] https://homes.esat.kuleuven.be/~asenol/leaky-forms/ ***/
user_pref("signon.autofillForms", false); user_pref("signon.autofillForms", false);
@ -562,15 +561,19 @@ user_pref("network.IDN_show_punycode", true);
* [1] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=pdf.js+firefox ***/ * [1] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=pdf.js+firefox ***/
user_pref("pdfjs.disabled", false); // [DEFAULT: false] user_pref("pdfjs.disabled", false); // [DEFAULT: false]
user_pref("pdfjs.enableScripting", false); // [FF86+] user_pref("pdfjs.enableScripting", false); // [FF86+]
/* 2624: disable middle click on new tab button opening URLs or searches using clipboard [FF115+] */ /* 2624: disable middle click on new tab button opening URLs or searches using clipboard [FF115+] ***/
user_pref("browser.tabs.searchclipboardfor.middleclick", false); // [DEFAULT: false NON-LINUX] user_pref("browser.tabs.searchclipboardfor.middleclick", false); // [DEFAULT: false NON-LINUX]
/* 2630: disable content analysis by DLP (Data Loss Prevention) agents /* 2630: disable content analysis by DLP (Data Loss Prevention) agents
* DLP agents are background processes on managed computers that allow enterprises to monitor locally running * DLP agents are background processes on managed computers that allow enterprises to monitor locally running
* applications for data exfiltration events, which they can allow/block based on customer defined DLP policies. * applications for data exfiltration events, which they can allow/block based on customer defined DLP policies.
* 0=Block all requests, 1=Warn on all requests (which lets the user decide), 2=Allow all requests * 0=Block all requests, 1=Warn on all requests (which lets the user decide), 2=Allow all requests
* [1] https://github.com/chromium/content_analysis_sdk */ * [1] https://github.com/chromium/content_analysis_sdk ***/
user_pref("browser.contentanalysis.enabled", false); // [FF121+] [DEFAULT: false] user_pref("browser.contentanalysis.enabled", false); // [FF121+] [DEFAULT: false]
user_pref("browser.contentanalysis.default_result", 0); // [FF127+] [DEFAULT: 0] user_pref("browser.contentanalysis.default_result", 0); // [FF127+] [DEFAULT: 0]
/* 2635: disable referrer and storage access for resources injected by content scripts [FF139+] ***/
// user_pref("privacy.antitracking.isolateContentScriptResources", true);
/* 2640: disable CSP Level 2 Reporting [FF140+] ***/
user_pref("security.csp.reporting.enabled", false);
/** DOWNLOADS ***/ /** DOWNLOADS ***/
/* 2651: enable user interaction for security by always asking where to download /* 2651: enable user interaction for security by always asking where to download
@ -633,7 +636,7 @@ user_pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true); // [D
// user_pref("privacy.clearOnShutdown_v2.siteSettings", false); // [DEFAULT: false] // user_pref("privacy.clearOnShutdown_v2.siteSettings", false); // [DEFAULT: false]
/* 2812: set/enforce clearOnShutdown items [FF136+] ***/ /* 2812: set/enforce clearOnShutdown items [FF136+] ***/
user_pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true); // [DEFAULT: true] user_pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true); // [DEFAULT: true]
user_pref("privacy.clearOnShutdown_v2.downloads", true); user_pref("privacy.clearOnShutdown_v2.downloads", true); // [HIDDEN]
user_pref("privacy.clearOnShutdown_v2.formdata", true); user_pref("privacy.clearOnShutdown_v2.formdata", true);
/* 2813: set Session Restore to clear on shutdown (if 2810 is true) [FF34+] /* 2813: set Session Restore to clear on shutdown (if 2810 is true) [FF34+]
* [NOTE] Not needed if Session Restore is not used (0102) or it is already cleared with history (2811+) * [NOTE] Not needed if Session Restore is not used (0102) or it is already cleared with history (2811+)
@ -693,9 +696,15 @@ user_pref("privacy.sanitize.timeSpan", 0);
[NOTE] RFPTargets + granular overrides are somewhat experimental and may produce unexpected results [NOTE] RFPTargets + granular overrides are somewhat experimental and may produce unexpected results
- e.g. FrameRate can only be controlled per process, not per origin - e.g. FrameRate can only be controlled per process, not per origin
1826408 - restrict fonts to system (kBaseFonts + kLangPackFonts) (Windows, Mac, some Linux) 1826408 - restrict to system fonts (kBaseFonts + kLangPackFonts) (Windows, Mac, some Linux) (FF119+)
1928705: android (FF134+)
https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc
1858181 - subtly randomize canvas per eTLD+1, per session and per window-mode (FF120+) 1858181 - subtly randomize canvas per eTLD+1, per session and per window-mode (FF120+)
1887682 - use fdlibm's sin, cos and tan in jsmath (FF134+)
1978414 - various (FF143+)
1954194: available screen resolution: return a fixed offset height from screen per platform when not full screen
1978414: hardwareConcurrency: return 2 (existing RFPTarget)
1977836: maxTouchPoints: return multi-touch as 5
***/ ***/
user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!"); user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
/* 4001: enable FPP in PB mode [FF114+] /* 4001: enable FPP in PB mode [FF114+]
@ -720,7 +729,7 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
FF128+ Arkenfox by default uses FPP (automatically enabled with ETP Strict). For most people FF128+ Arkenfox by default uses FPP (automatically enabled with ETP Strict). For most people
this is all you need. To use RFP instead, add RFP (4501) to your overrides, and optionally this is all you need. To use RFP instead, add RFP (4501) to your overrides, and optionally
add letterboxing (4504), spoof_english (4506), and webgl (4520). add letterboxing (4504), spoof_english (4506), and WebGL (4520).
RFP is an all-or-nothing buy in: you cannot pick and choose what parts you want RFP is an all-or-nothing buy in: you cannot pick and choose what parts you want
@ -730,8 +739,8 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
1360039 - spoof navigator.hardwareConcurrency as 2 (FF55) 1360039 - spoof navigator.hardwareConcurrency as 2 (FF55)
FF56 FF56
1333651 - spoof User Agent & Navigator API 1333651 - spoof User Agent & Navigator API
JS: spoofed as Windows 10, OS 10.15, Android 10, or Linux JS: spoofed as Windows 10, OS X 10.15, Android 10, or Linux
HTTP Header: spoofed as Windows 10 or Android 10.15 until FF136 then matches JS spoof HTTP Header: spoofed as Windows 10 or Android 10 until FF136 then matches JS spoof
1369319 - disable device sensor API 1369319 - disable device sensor API
1369357 - disable site specific zoom 1369357 - disable site specific zoom
1337161 - hide gamepads from content 1337161 - hide gamepads from content
@ -750,7 +759,6 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
1222285 & 1433592 - spoof keyboard events and suppress keyboard modifier events (FF59) 1222285 & 1433592 - spoof keyboard events and suppress keyboard modifier events (FF59)
Spoofing mimics the content language of the document. Currently it only supports en-US. Spoofing mimics the content language of the document. Currently it only supports en-US.
Modifier events suppressed are SHIFT and both ALT keys. Chrome is not affected. Modifier events suppressed are SHIFT and both ALT keys. Chrome is not affected.
1337157 - disable WebGL debug renderer info (FF60)
1459089 - disable OS locale in HTTP Accept-Language headers (ANDROID) (FF62) 1459089 - disable OS locale in HTTP Accept-Language headers (ANDROID) (FF62)
1479239 - return "no-preference" with prefers-reduced-motion (FF63) 1479239 - return "no-preference" with prefers-reduced-motion (FF63)
1363508 & 1826051 - spoof/suppress Pointer Events (FF64, FF132) 1363508 & 1826051 - spoof/suppress Pointer Events (FF64, FF132)
@ -765,7 +773,6 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
1653987 - limit font visibility to bundled and "Base Fonts" (Windows, Mac, some Linux) (FF80) 1653987 - limit font visibility to bundled and "Base Fonts" (Windows, Mac, some Linux) (FF80)
1461454 - spoof smooth=true and powerEfficient=false for supported media in MediaCapabilities (FF82) 1461454 - spoof smooth=true and powerEfficient=false for supported media in MediaCapabilities (FF82)
531915 - use fdlibm's sin, cos and tan in jsmath (FF93, ESR91.1) 531915 - use fdlibm's sin, cos and tan in jsmath (FF93, ESR91.1)
1756280 - enforce navigator.pdfViewerEnabled as true and plugins/mimeTypes as hard-coded values (FF100-115)
1692609 - reduce JS timing precision to 16.67ms (previously FF55+ was 100ms) (FF102) 1692609 - reduce JS timing precision to 16.67ms (previously FF55+ was 100ms) (FF102)
1422237 - return "srgb" with color-gamut (FF110) 1422237 - return "srgb" with color-gamut (FF110)
1794628 - return "none" with inverted-colors (FF114) 1794628 - return "none" with inverted-colors (FF114)
@ -773,11 +780,18 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
1835987 - spoof timezone as Atlantic/Reykjavik (previously FF55+ was UTC) (FF128) 1835987 - spoof timezone as Atlantic/Reykjavik (previously FF55+ was UTC) (FF128)
1834307 - always use smooth scrolling (FF132) 1834307 - always use smooth scrolling (FF132)
1918202 - spoof screen orientation based on spoofed screen size and platform (FF132) 1918202 - spoof screen orientation based on spoofed screen size and platform (FF132)
previously it always returned landscape-primary and an angle of 0 (FF50+) previously FF50+ it always returned landscape-primary and an angle of 0
1390465 - load all subtitles in WebVTT (Video Text Tracks) (FF133) 1390465 - load all subtitles in WebVTT (Video Text Tracks) (FF133)
1873382 - make spoofed devicePixelRatio and CSS media queries match (FF133) 1873382 - make spoofed devicePixelRatio and CSS media queries match (FF133)
previously FF41+ devicePixelRatio was hardcoded as 1 and FF127+ as 2 previously FF41+ devicePixelRatio was hardcoded as 1 and FF127+ as 2
previously FF41+ CSS media queries were spoofed as zoom level at a devicePixelRatio of 1 previously FF41+ CSS media queries were spoofed as zoom level at a devicePixelRatio of 1
1955425 - return 128 for WebGPU subgroupMaxSize (FF138)
1966860 - spoof WebGL debug renderer info (FF140)
previously FF60+ it was disabled
1781277 - return 10GiB for storage estimate until persistent-storage granted (FF142, ESR140.1)
1972600 - spoof network connection for HTMLMediaElement preload (FF142, ESR140.1)
1975851 - return true for navigator.onLine (FF142, ESR140.1)
1973265 - disable WebCodecs API (FF142?)
***/ ***/
user_pref("_user.js.parrot", "4500 syntax error: the parrot's popped 'is clogs"); user_pref("_user.js.parrot", "4500 syntax error: the parrot's popped 'is clogs");
/* 4501: enable RFP /* 4501: enable RFP
@ -799,16 +813,17 @@ user_pref("privacy.resistFingerprinting.block_mozAddonManager", true);
* Dynamically resizes the inner window by applying margins in stepped ranges [2] * Dynamically resizes the inner window by applying margins in stepped ranges [2]
* If you use the dimension pref, then it will only apply those resolutions. * If you use the dimension pref, then it will only apply those resolutions.
* The format is "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000") * The format is "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000")
* [SETUP-WEB] This is independent of RFP (4501). If you're not using RFP, or you are but * [SETUP-WEB] This is independent of RFP (4501). If you're using RFP, but dislike the
* dislike the margins, then flip this pref, keeping in mind that it is effectively fingerprintable * margins, then don't enable this pref, keeping in mind that it is effectively fingerprintable
* [WARNING] DO NOT USE: the dimension pref is only meant for testing * [WARNING] DO NOT USE: the dimension pref is only meant for testing
* [1] https://bugzilla.mozilla.org/1407366 * [1] https://bugzilla.mozilla.org/1407366
* [2] https://hg.mozilla.org/mozilla-central/rev/7211cb4f58ff#l5.13 ***/ * [2] https://hg.mozilla.org/mozilla-central/rev/7211cb4f58ff#l5.13 ***/
// user_pref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF] // user_pref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF]
// user_pref("privacy.resistFingerprinting.letterboxing.dimensions", ""); // [HIDDEN PREF] // user_pref("privacy.resistFingerprinting.letterboxing.dimensions", ""); // [HIDDEN PREF]
/* 4505: disable RFP by domain [FF91+] /* 4505: disable RFP by domain [FF91+]
* [NOTE] Working examples: "arkenfox.github.io", "*github.io" * [NOTE]: The pref takes comma separated values: e.g. "*domain1.tld, *domain2.tld"
* Non-working examples: "https://arkenfox.github.io", "github.io", "*arkenfox.github.io" ***/ * Working domain examples: "arkenfox.github.io", "*github.io"
* Non-working domain examples: "https://arkenfox.github.io", "github.io", "*arkenfox.github.io" ***/
// user_pref("privacy.resistFingerprinting.exemptedDomains", "*.example.invalid"); // user_pref("privacy.resistFingerprinting.exemptedDomains", "*.example.invalid");
/* 4506: disable RFP spoof english prompt [FF59+] /* 4506: disable RFP spoof english prompt [FF59+]
* 0=prompt, 1=disabled, 2=enabled * 0=prompt, 1=disabled, 2=enabled
@ -816,6 +831,8 @@ user_pref("privacy.resistFingerprinting.block_mozAddonManager", true);
* [SETUP-WEB] when enabled, sets 'en-US, en' for displaying pages and 'en-US' as locale. * [SETUP-WEB] when enabled, sets 'en-US, en' for displaying pages and 'en-US' as locale.
* [SETTING] General>Language>Choose your preferred language for displaying pages>Choose>Request English... ***/ * [SETTING] General>Language>Choose your preferred language for displaying pages>Choose>Request English... ***/
user_pref("privacy.spoof_english", 1); user_pref("privacy.spoof_english", 1);
/* 4507: skip browser.startup.blankWindow if RFP is used [FF136+] ***/
// user_pref("privacy.resistFingerprinting.skipEarlyBlankFirstPaint", true); // [DEFAULT: true]
/* 4510: disable using system colors /* 4510: disable using system colors
* [SETTING] General>Language and Appearance>Fonts and Colors>Colors>Use system colors ***/ * [SETTING] General>Language and Appearance>Fonts and Colors>Colors>Use system colors ***/
user_pref("browser.display.use_system_colors", false); // [DEFAULT: false NON-WINDOWS] user_pref("browser.display.use_system_colors", false); // [DEFAULT: false NON-WINDOWS]
@ -964,7 +981,7 @@ user_pref("_user.js.parrot", "5500 syntax error: this is an ex-parrot!");
// user_pref("javascript.options.wasm", false); // user_pref("javascript.options.wasm", false);
/* 5507: disable rendering of SVG OpenType fonts ***/ /* 5507: disable rendering of SVG OpenType fonts ***/
// user_pref("gfx.font_rendering.opentype_svg.enabled", false); // user_pref("gfx.font_rendering.opentype_svg.enabled", false);
/* 5508: disable all DRM content (EME: Encryption Media Extension) /* 5508: disable all DRM (Digital Rights Management) content (EME: Encryption Media Extension)
* Optionally hide the UI setting which also disables the DRM prompt * Optionally hide the UI setting which also disables the DRM prompt
* [SETTING] General>DRM Content>Play DRM-controlled content * [SETTING] General>DRM Content>Play DRM-controlled content
* [TEST] https://bitmovin.com/demos/drm * [TEST] https://bitmovin.com/demos/drm
@ -1016,7 +1033,7 @@ user_pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false]
* [WHY] To prevent wasting Mozilla's time with a custom setup ***/ * [WHY] To prevent wasting Mozilla's time with a custom setup ***/
user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false] user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false]
/* 6012: enforce Quarantined Domains [FF115+] /* 6012: enforce Quarantined Domains [FF115+]
* [WHY] https://support.mozilla.org/kb/quarantined-domains */ * [WHY] https://support.mozilla.org/kb/quarantined-domains ***/
user_pref("extensions.quarantinedDomains.enabled", true); // [DEFAULT: true] user_pref("extensions.quarantinedDomains.enabled", true); // [DEFAULT: true]
/* 6050: prefsCleaner: reset previously active items removed from arkenfox FF128+ ***/ /* 6050: prefsCleaner: reset previously active items removed from arkenfox FF128+ ***/
// user_pref("privacy.clearOnShutdown.cache", ""); // user_pref("privacy.clearOnShutdown.cache", "");
@ -1120,7 +1137,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies
// user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true]
// user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true]
/* 7017: disable service workers /* 7017: disable service workers
* [WHY] Already isolated with TCP (2701) behind a pref (2710) ***/ * [WHY] Already isolated with TCP (2701) behind a pref ***/
// user_pref("dom.serviceWorkers.enabled", false); // user_pref("dom.serviceWorkers.enabled", false);
/* 7018: disable Web Notifications [FF22+] /* 7018: disable Web Notifications [FF22+]
* [WHY] Web Notifications are behind a prompt (7002) * [WHY] Web Notifications are behind a prompt (7002)
@ -1166,7 +1183,6 @@ user_pref("_user.js.parrot", "8000 syntax error: the parrot's crossed the Jordan
// user_pref("general.platform.override", ""); // user_pref("general.platform.override", "");
// user_pref("general.useragent.override", ""); // user_pref("general.useragent.override", "");
// user_pref("media.navigator.enabled", ""); // user_pref("media.navigator.enabled", "");
// user_pref("media.ondevicechange.enabled", "");
// user_pref("media.video_stats.enabled", ""); // user_pref("media.video_stats.enabled", "");
// user_pref("media.webspeech.synth.enabled", ""); // user_pref("media.webspeech.synth.enabled", "");
// user_pref("ui.use_standins_for_native_colors", ""); // user_pref("ui.use_standins_for_native_colors", "");
@ -1181,7 +1197,7 @@ user_pref("_user.js.parrot", "8000 syntax error: the parrot's crossed the Jordan
- Opt-in telemetry _does not_ work and results in data that is unrepresentative and may be misleading - Opt-in telemetry _does not_ work and results in data that is unrepresentative and may be misleading
Choice Choice
- Every new profile on first use provides data collection/use policy and the abillty to opt-out - Every new profile on first use provides data collection/use policy and the abillty to opt-out
- It can be disabled at any time (Settings>Privacy & Security>Data Collection and Use) - It can be disabled at any time (Settings>Privacy & Security>Data Collection and Use)
Data Data
- no PII (Personally Identifiable Information) - no PII (Personally Identifiable Information)
- can be viewed in about:telemetry - can be viewed in about:telemetry
@ -1240,9 +1256,17 @@ user_pref("_user.js.parrot", "9999 syntax error: the parrot's shuffled off 'is m
/* ESR128.x still uses all the following prefs /* ESR128.x still uses all the following prefs
// [NOTE] replace the * with a slash in the line above to re-enable active ones // [NOTE] replace the * with a slash in the line above to re-enable active ones
// FF132 // FF132
/* 2617: remove webchannel whitelist // 2617: remove webchannel whitelist
// [-] https://bugzilla.mozilla.org/1275612 // [-] https://bugzilla.mozilla.org/1275612
// user_pref("webchannel.allowObject.urlWhitelist", ""); // user_pref("webchannel.allowObject.urlWhitelist", "");
// FF140
// 0323: disable shopping experience [FF116+]
// [-] https://bugzilla.mozilla.org/1964845
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1840156#c0
user_pref("browser.shopping.experience2023.enabled", false); // [DEFAULT: false]
// 0806: disable urlbar suggestions
// [-] https://bugzilla.mozilla.org/1959497
user_pref("browser.urlbar.pocket.featureGate", false); // [FF116+] [DEFAULT: false]
// ***/ // ***/
/* END: internal custom pref to test for syntax errors ***/ /* END: internal custom pref to test for syntax errors ***/

View File

@ -5,7 +5,6 @@ git.maby.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCy6Vljjd9lVRm
github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
gmk-agn-k3s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO99Uuf1ca2ESgEnHPYjVm5cscZWIUgwoFe3iR2N+9/v gmk-agn-k3s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO99Uuf1ca2ESgEnHPYjVm5cscZWIUgwoFe3iR2N+9/v
gmk-gra-k3s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKO5Li+9f7j6xtxwWgES2KKTjUErcOdEcsczQ+m5aDQ2 gmk-gra-k3s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFFELTMQYB6XY/KQBK0QNYh4SXVnmnGIkq9gaibQYH3f
gmk-gra-k8s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPmeHCzrppCRHwRWhK6PEpbA0t76dDB7BACyFEM3557E gmk-gra-k8s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPmeHCzrppCRHwRWhK6PEpbA0t76dDB7BACyFEM3557E
maby-rbx-10.maby.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMRBXBjej1iFEPX/J9lDYG5PKPSq6eaUefz9vkR/N53f maby-rbx-10.maby.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMRBXBjej1iFEPX/J9lDYG5PKPSq6eaUefz9vkR/N53f
wg.yw5n.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOcn80hSBfQn4QYP46byuUJEvi0YTqyWtiCiXT4otBEq

View File

@ -12,7 +12,7 @@ sbar &
gammastep -t 5000:3500 \ gammastep -t 5000:3500 \
-l "$(tail -1 "$XDG_CACHE_HOME/tz" 2> /dev/null || echo 0:0)" & -l "$(tail -1 "$XDG_CACHE_HOME/tz" 2> /dev/null || echo 0:0)" &
xset dpms 600 600 600 xset s 595 4 dpms 600 600 600
wallpaper wallpaper