Compare commits

...

6 Commits

Author SHA1 Message Date
davidovski afda5cf53f fix syntax errors in user.js 2023-06-26 13:58:16 +01:00
davidovski 9210a5f99c Add firefox userjs 2023-06-06 18:27:08 +01:00
davidovski 94a357dbc5 Fix typo in slock 2023-05-14 20:06:24 +00:00
davidovski e35d7284f7 Fix typo in slock deployment 2023-05-14 20:05:21 +00:00
davidovski 1102720daa Add zathura theme 2023-03-31 13:05:02 +01:00
davidovki afffca4dd8 Re-enabled shadows for picom 2023-03-19 13:25:11 +00:00
11 changed files with 515 additions and 112 deletions

View File

@ -1,12 +1,23 @@
#define FG #fefefe
#define BG #191919
! #define font1 xft:minecraft enchantment:minispace=False:size=10:antialias=true
! #define spacing -2
#define font1 xft:mononoki:minispace=False:size=10:antialias=true
#define spacing 1
#define font2 xft:MesloLGM Nerd Font Mono:minispace=False:size=10
#define font3 xft:Noto Sans Mono CJK TC:minispace=False:size=10
#define font4 xft:Noto Color Emoji:style=regular:size=10
*.foreground: FG
URxvt.background: BG
URxvt.borderColor: BG
URxvt.letterSpace: spacing
URxvt.lineSpace: 0
dzen2.font: mononoki
*.foreground: FG
*.background: BG
*.borderColor: BG
*.cursorColor: FG
! black
@ -44,17 +55,16 @@ URxvt.borderColor: BG
! Set depth to make transparency work.
URxvt*depth: 32
*.font: font1
URxvt.font: font1,font2,font3,font4
URxvt.boldFont: font1:style=bold,font2:style=bold,font3:style=bold,font4
URxvt.italicFont:font1:style=italic,font2:style=italic,font3:style=italic,font4
URxvt.boldItalicfont: font1:style=bolditalic,font2:style=bolditalic,font3:style=bolditalic,font4
URxvt.letterSpace: 0
URxvt.lineSpace: -4
URxvt.internalBorder: 20
URxvt.cursorBlink: true
*.cursorBlink: true
URxvt.cursorUnderline: true
URxvt.saveline: 2048
URxvt.saveline: 4096
URxvt.scrollBar: false
URxvt.scrollBar_right: false
URxvt.pointerBlank: true
@ -64,6 +74,8 @@ URxvt.urgentOnBell: true
URxvt.iso14755: false
urxvt*dynamicColors: on
XTerm*faceName: font1,font2,font3,font4
!-- Xft settings -- !
@ -73,7 +85,7 @@ Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintfull
URxvt.perl-ext-common: resize-font
URxvt.perl-ext-common: resize-font,config-reload
URxvt.url-launcher: /usr/bin/xdg-open
URxvt.matcher.button: 1

View File

@ -1,18 +1,19 @@
#!/bin/sh
setup=0
COLOR_BACKGROUND="#191919"
COLOR_BACKGROUND="#282a2e"
COLOR_PRIMARY="#fefefe"
COLOR_SECONDARY="#f58f44"
COLOR_SECONDARY="#707880"
BORDER=2
hsetroot -solid $COLOR_BACKGROUND &
xsetroot -cursor_name left_ptr &
xrdb ~/.Xdefaults
pgrep -x sxhkd > /dev/null || sxhkd &
pgrep -x picom > /dev/null || picom &
pgrep -x xss-lock > /dev/null || xss-lock slock &
pgrep -x bg.sh > /dev/null || $HOME/.scripts/bg.sh > /dev/null &
#pgrep -x bg.sh > /dev/null || $HOME/.scripts/bg.sh > /dev/null &
[ -f "$HOME/.config/xrandr.sh" ] && . $HOME/.config/xrandr.sh
@ -31,16 +32,19 @@ done
$HOME/.config/polybar/launch.sh &
bspc config border_width 1
bspc config border_width $BORDER
bspc config window_gap 0
$HOME/.scripts/toggle-gap.sh
## individual rules
bspc rule -a Zathura state=tiled
bspc rule -a feh state=fullscreen
bspc config focus_follows_pointer false
bspc config normal_border_color "$COLOR_BACKGROUND"
bspc config active_border_color "$COLOR_BACKGROUND"
bspc config normal_border_color "$COLOR_SECONDARY"
bspc config active_border_color "$COLOR_SECONDARY"
bspc config focused_border_color "$COLOR_PRIMARY"
wmname bspwm
urxvt &
sleep 1; $HOME/.scripts/start-mpd
$HOME/.scripts/start-mpd

View File

@ -13,14 +13,6 @@ audio_output {
max_clients "0"
}
audio_output {
type "httpd"
name "HQ HTTP Stream"
encoder "wave" # optional, vorbis or lame
port "6681"
max_clients "0"
}
audio_output {
type "pulse"
name "mpd"

View File

@ -2,24 +2,8 @@
# Corners #
#################################
# requires: https://github.com/sdhand/compton
#corner-radius = 10;
rounded-corners-exclude = [
#"window_type = 'normal'",
"class_g = 'awesome'",
"class_g = 'Polybar'",
"class_i = 'tray'",
"class_g = 'XTerm'",
"class_g = 'kitty'",
"class_g = 'Alacritty'",
"class_g = 'qtile'",
"class_g = 'code-oss'",
"class_g = 'firefox'",
"class_g = 'Thunderbird'"
];
corner-radius = 6;
round-borders = 0;
round-borders-exclude = [
#"class_g = 'TelegramDesktop'",
];
# Specify a list of border width rules, in the format `PIXELS:PATTERN`,
# Note we don't make any guarantee about possible conflicts with the
@ -29,9 +13,6 @@ round-borders-exclude = [
# round-borders-rule = [ "2:class_g = 'URxvt'" ];
#
round-borders-rule = [
"3:class_g = 'XTerm'",
"10:class_g = 'Alacritty'",
"15:class_g = 'Signal'"
];
#################################
@ -43,33 +24,29 @@ round-borders-rule = [
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
shadow = false
#shadow = true;
#shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 25;
shadow-radius = 50;
# The opacity of shadows. (1.0 - 1.0, defaults to 0.75)
shadow-opacity = 0.0;
shadow-opacity = 1.0;
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = 2;
shadow-offset-x = -50;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = 2;
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
#no-dock-shadow = true
shadow-offset-y = -50;
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
#no-dnd-shadow = true
no-dock-shadow = false
# Red color value of shadow (0.0 - 1.0, defaults to 0).
#shadow-red = 0.86328125
@ -98,15 +75,8 @@ shadow-offset-y = 2;
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"class_g = 'slop'",
"class_g = 'Polybar'",
"name = 'qtile'",
"_GTK_FRAME_EXTENTS@:c",
"_NET_WM_STATE@:32a"
#"_NET_WM_STATE@:32a"
];
# Specify a X geometry that describes the region in which shadow should not
@ -161,11 +131,9 @@ fade-exclude = [
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 1
inactive-opacity = 1;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 1;
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
# menu-opacity = 1.0
@ -183,8 +151,6 @@ active-opacity = 1.0;
# Specify a list of conditions of windows that should always be considered focused.
# focus-exclude = []
focus-exclude = [
"class_g = 'Cairo-clock'",
"class_g = 'Bar'", # lemonbar
"class_g = 'slop'" # maim
];
@ -200,18 +166,7 @@ focus-exclude = [
#
# opacity-rule = []
opacity-rule = [
"80:class_g = 'Bar'", # lemonbar
"100:class_g = 'slop'", # maim
"100:class_g = 'XTerm'",
"100:class_g = 'kitty'",
"100:class_g = 'Alacritty'",
"100:class_g = 'Polybar'",
"100:class_g = 'code-oss'",
"100:class_g = 'Meld'",
"70:class_g = 'TelegramDesktop'",
"90:class_g = 'Joplin'",
"100:class_g = 'firefox'",
"100:class_g = 'Thunderbird'"
];
@ -221,7 +176,7 @@ opacity-rule = [
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-method = gaussian
# blur-size = 12
#
# blur-deviation = false
@ -230,7 +185,7 @@ opacity-rule = [
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = true;
blur-background = true;
# Blur background of windows when the window frame is not opaque.
# Implies:
@ -266,13 +221,6 @@ blur: {
# Exclude conditions for background blur.
blur-background-exclude = [
#"window_type = 'dock'",
#"window_type = 'desktop'",
#"class_g = 'URxvt'",
#
# prevents picom from blurring the background
# when taking selection screenshot with `main`
# https://github.com/naelstrof/maim/issues/130
"class_g = 'slop'",
"_GTK_FRAME_EXTENTS@:c"
];
@ -283,20 +231,15 @@ blur-background-exclude = [
#################################
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
daemon = true
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
experimental-backends = true;
backend = "glx";
#backend = "xrender";
#backend = "xr_glx_hybrid";
# Enable/disable VSync.
vsync = false
#vsync = true
vsync = true
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
@ -314,7 +257,6 @@ mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
@ -499,9 +441,9 @@ wintypes:
{
normal = { fade = true; shadow = true;}
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = true; }
dock = { full-shadow = true; }
dnd = { shadow = true; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
popup_menu = { shadow = true; }
dropdown_menu = { shadow = true; }
};
unredir-if-possible = false

View File

@ -7,7 +7,7 @@ bg = #191919
bga = #191919
fg4= #f58d44
fg2 = #5f819d
fg3 = #373b41
fg3 = #707880
fg1 = #fefefe
@ -40,13 +40,15 @@ modules-right = time
[bar/ws]
inherit = bar/base
width = 100%
offset-x = 0
width = 1870
offset-x = 25
offset-y = 10
modules-left = workspaces xwindow
modules-right = mpd temperature memory network battery pulseaudio microphone time
tray-position = right
background = ${color.bga}
border-size = 0
border-size = 2
border-color = ${color.fg3}
fg = ${color.fg1}
@ -81,6 +83,8 @@ label-occupied = %{T2}ﲭ%{T-}
label-occupied-padding = 1
label-empty = %{T2}ﱤ%{T-}
label-empty-padding = 1
label-urgent = %{T2}ﲭ%{T-}
label-urgent-padding = 1
[module/time]
@ -199,5 +203,5 @@ format-disconnected = <label-disconnected>
format-packetloss = <label-connected>
label-connected = %essid%
label-connected =

View File

@ -18,9 +18,9 @@ super + ctrl + alt + f
amixer -D pulse set Master 1+ toggle
{_, super} + XF86MonBrightnessDown
xbacklight - {10,1}
light -U {10,1}
{_, super} + XF86MonBrightnessUp
xbacklight + {10,1}
light -A {10,1}

32
config/zathura/zathurarc Normal file
View File

@ -0,0 +1,32 @@
set completion-bg "#191919"
set completion-fg "#fefefe"
set completion-group-bg "#191919"
set completion-group-fg "#de935f"
set completion-highlight-bg "#fefefe"
set completion-highlight-fg "#191919"
set recolor-lightcolor "#191919"
set recolor-darkcolor "#fefefe"
set default-bg "#191919"
set inputbar-bg "#191919"
set inputbar-fg "#fefefe"
set notification-bg "#191919"
set notification-fg "#fefefe"
set notification-error-bg "#81a2be"
set notification-error-fg "#fefefe"
set notification-warning-bg "#81a2be"
set notification-warning-fg "#fefefe"
set statusbar-bg "#191919"
set statusbar-fg "#fefefe"
set index-bg "#191919"
set index-fg "#fefefe"
set index-active-bg "#fefefe"
set index-active-fg "#191919"
set render-loading-bg "#191919"
set render-loading-fg "#fefefe"
set window-title-home-tilde true
set statusbar-basename true
set selection-clipboard clipboard
set guioptions none
set recolor true

View File

@ -1,6 +1,6 @@
#!/bin/sh
configurations="iocane bg bg.gif bspwm cava neofetch mpd mpv ncmpcpp vim sxhkd polybar picom rofi user-dirs.dirs gtk-3.0"
configurations="iocane bg bg.gif bspwm cava neofetch mpd mpv ncmpcpp vim sxhkd polybar picom rofi user-dirs.dirs gtk-3.0 zathura"
save () {
@ -41,7 +41,7 @@ save () {
rm config/mpd/password
rm config/mpd/database
rm config/mpd/sticker.sql
rm config/vim/viminfo
rm config/vim/viminfo*
rm -r config/mpv/shaders
}

View File

@ -1,3 +1,3 @@
#!/bin/sh
GAP=32; bspc config window_gap | grep -q $GAP && bspc config window_gap 0 || bspc config window_gap $GAP
GAP=25; bspc config window_gap | grep -q $GAP && bspc config window_gap 0 || bspc config window_gap $GAP

View File

@ -2,10 +2,10 @@
pkgver=1.5
[ -d "~/.local/src" ]mkdir -p ~/.local/src
[ -d "~/.local/src" ] && mkdir -p ~/.local/src
curl -o ~/.local/src/slock-$pkgver.tar.gz https://dl.suckless.org/tools/slock-$pkgver.tar.gz
tar -C ~/.local/src/ -xvf ~/local/src/slock-$pkgver.tar.gz
tar -C ~/.local/src/ -xvf ~/.local/src/slock-$pkgver.tar.gz
srcdir=~/.local/src/slock-$pkgver
cp config.h $srcdir

417
user.js Normal file
View File

@ -0,0 +1,417 @@
user_pref("dom.indexedDB.privateBrowsing.enabled", true);
// Release notes and vendor URLs
user_pref("app.releaseNotesURL", "http://127.0.0.1/");
user_pref("app.vendorURL", "http://127.0.0.1/");
user_pref("app.privacyURL", "http://127.0.0.1/");
// Disable plugin installer
user_pref("plugins.hide_infobar_for_missing_plugin", true);
user_pref("plugins.hide_infobar_for_outdated_plugin", true);
user_pref("plugins.notifyMissingFlash", false);
//Speeding it up
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 10);
user_pref("nglayout.initialpaint.delay", 0);
// Disable third party cookies
user_pref("network.cookie.cookieBehavior", 1);
//privacy.firstparty.isolate
user_pref("privacy.firstparty.isolate", true);
// Tor
user_pref("network.proxy.socks", "127.0.0.1");
user_pref("network.proxy.socks_port", 9050);
// Extensions cannot be updated without permission
user_pref("extensions.update.enabled", false);
// Use LANG environment variable to choose locale
user_pref("intl.locale.matchOS", true);
// Allow unsigned langpacks
user_pref("extensions.langpacks.signatures.required", false);
// Disable default browser checking.
user_pref("browser.shell.checkDefaultBrowser", false);
// Prevent EULA dialog to popup on first run
user_pref("browser.EULA.override", true);
// Don't disable extensions dropped in to a system
// location, or those owned by the application
user_pref("extensions.autoDisableScopes", 3);
//user_pref("extensions.enabledScopes", 15);
// Don't display the one-off addon selection dialog when
// upgrading from a version of Firefox older than 8.0
user_pref("extensions.shownSelectionUI", true);
// Don't call home for blacklisting
user_pref("extensions.blocklist.enabled", false);
// disable app updater url
user_pref("app.update.url", "http://127.0.0.1/");
user_pref("startup.homepage_welcome_url", "");
user_pref("browser.startup.homepage_override.mstone", "ignore");
// Help URL
user_pref ("app.support.baseURL", "http://127.0.0.1/");
user_pref ("app.support.inputURL", "http://127.0.0.1/");
user_pref ("app.feedback.baseURL", "http://127.0.0.1/");
user_pref ("browser.uitour.url", "http://127.0.0.1/");
user_pref ("browser.uitour.themeOrigin", "http://127.0.0.1/");
user_pref ("plugins.update.url", "http://127.0.0.1/");
user_pref ("browser.customizemode.tip0.learnMoreUrl", "http://127.0.0.1/");
// Dictionary download user_preference
user_pref("browser.dictionaries.download.url", "http://127.0.0.1/");
user_pref("browser.search.searchEnginesURL", "http://127.0.0.1/");
user_pref("layout.spellcheckDefault", 0);
// Apturl user_preferences
user_pref("network.protocol-handler.app.apt","/usr/bin/apturl");
user_pref("network.protocol-handler.warn-external.apt",false);
user_pref("network.protocol-handler.app.apt+http","/usr/bin/apturl");
user_pref("network.protocol-handler.warn-external.apt+http",false);
user_pref("network.protocol-handler.external.apt",true);
user_pref("network.protocol-handler.external.apt+http",true);
// Quality of life stuff
user_pref("browser.download.useDownloadDir", false);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.toolbars.bookmarks.visibility", "never");
user_pref("browser.tabs.firefox-view", false);
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
// Privacy & Freedom Issues
// https://webdevelopmentaid.wordpress.com/2013/10/21/customize-privacy-settings-in-mozilla-firefox-part-1-aboutconfig/
// https://panopticlick.eff.org
// http://ip-check.info
// http://browserspy.dk
// https://wiki.mozilla.org/Fingerprinting
// http://www.browserleaks.com
// http://fingerprint.pet-portal.eu
user_pref("browser.translation.engine", "");
user_pref("media.gmp-provider.enabled", false);
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.urlbar.suggest.engines", false);
user_pref("browser.urlbar.suggest.topsites", false);
user_pref("security.OCSP.enabled", 0);
user_pref("security.OCSP.require", false);
user_pref("browser.discovery.containers.enabled", false);
user_pref("browser.discovery.enabled", false);
user_pref("browser.discovery.sites", "http://127.0.0.1/");
user_pref("services.sync.prefs.sync.browser.startup.homepage", false);
user_pref("browser.contentblocking.report.monitor.home_page_url", "http://127.0.0.1/");
user_pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
user_pref("browser.safebrowsing.enabled", false);
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
user_pref("browser.safebrowsing.malware.enabled", false);
user_pref("browser.safebrowsing.provider.google.updateURL", "");
user_pref("browser.safebrowsing.provider.google.gethashURL", "");
user_pref("browser.safebrowsing.provider.google4.updateURL", "");
user_pref("browser.safebrowsing.provider.google4.gethashURL", "");
user_pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
user_pref("browser.safebrowsing.provider.mozilla.updateURL", "");
user_pref("services.sync.privacyURL", "http://127.0.0.1/");
user_pref("social.enabled", false);
user_pref("social.remote-install.enabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.healthreport.about.reportUrl", "http://127.0.0.1/");
user_pref("datareporting.healthreport.documentServerURI", "http://127.0.0.1/");
user_pref("healthreport.uploadEnabled", false);
user_pref("social.toast-notifications.enabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.healthreport.service.enabled", false);
user_pref("browser.slowStartup.notificationDisabled", true);
user_pref("network.http.sendRefererHeader", 2);
user_pref("network.http.referer.spoofSource", true);
// We don't want to send the Origin header
user_pref("network.http.originextension", false);
//http://grack.com/blog/2010/01/06/3rd-party-cookies-dom-storage-and-privacy/
//user_pref("dom.storage.enabled", false);
user_pref("dom.event.clipboardevents.enabled",true);
user_pref("network.user_prefetch-next", false);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.http.sendSecureXSiteReferrer", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "");
user_pref("experiments.manifest.uri", "");
user_pref("toolkit.telemetry.unified", false);
// Make sure updater telemetry is disabled; see <https://trac.torproject.org/25909>.
user_pref("toolkit.telemetry.updatePing.enabled", false);
// Do not tell what plugins do we have enabled: https://mail.mozilla.org/pipermail/firefox-dev/2013-November/001186.html
user_pref("plugins.enumerable_names", "");
user_pref("plugin.state.flash", 0);
// Do not autoupdate search engines
user_pref("browser.search.update", false);
// Warn when the page tries to redirect or refresh
//user_pref("accessibility.blockautorefresh", true);
user_pref("dom.battery.enabled", false);
user_pref("device.sensors.enabled", false);
user_pref("camera.control.face_detection.enabled", false);
user_pref("camera.control.autofocus_moving_callback.enabled", false);
user_pref("network.http.speculative-parallel-limit", 0);
// No search suggestions
user_pref("browser.urlbar.userMadeSearchSuggestionsChoice", true);
user_pref("browser.search.suggest.enabled", false);
// Always ask before restoring the browsing session
user_pref("browser.sessionstore.max_resumed_crashes", 0);
// Don't ping Mozilla for MitM detection, see <https://bugs.torproject.org/32321>
user_pref("security.certerrors.mitm.priming.enabled", false);
user_pref("security.certerrors.recordEventTelemetry", false);
// Disable shield/heartbeat
user_pref("extensions.shield-recipe-client.enabled", false);
// Don't download ads for the newtab page
user_pref("browser.newtabpage.directory.source", "");
user_pref("browser.newtabpage.directory.ping", "");
user_pref("browser.newtabpage.introShown", true);
// Always ask before restoring the browsing session
user_pref("browser.sessionstore.max_resumed_crashes", 0);
// Disable tracking protection since it makes you stick out
user_pref("privacy.trackingprotection.enabled", false);
user_pref("privacy.trackingprotection.pbmode.enabled", false);
user_pref("urlclassifier.trackingTable", "test-track-simple,base-track-digest256,content-track-digest256");
user_pref("privacy.donottrackheader.enabled", false);
user_pref("privacy.trackingprotection.introURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tracking-protection/start/");
// Disable geolocation
user_pref("geo.enabled", false);
user_pref("geo.wifi.uri", "");
user_pref("browser.search.geoip.url", "");
user_pref("browser.search.geoSpecificDefaults", false);
user_pref("browser.search.geoSpecificDefaults.url", "");
user_pref("browser.search.modernConfig", false);
// Disable captive portal detection
user_pref("captivedetect.canonicalURL", "");
user_pref("network.captive-portal-service.enabled", false);
// Disable shield/heartbeat
user_pref("extensions.shield-recipe-client.enabled", false);
// Canvas fingerprint protection
// This also enables useragent spoofing
user_pref("privacy.resistFingerprinting", true);
user_pref("webgl.disabled", true);
user_pref("privacy.trackingprotection.cryptomining.enabled", true);
user_pref("privacy.trackingprotection.fingerprinting.enabled", true);
// Services
user_pref("gecko.handlerService.schemes.mailto.0.name", "");
user_pref("gecko.handlerService.schemes.mailto.1.name", "");
user_pref("handlerService.schemes.mailto.1.uriTemplate", "");
user_pref("gecko.handlerService.schemes.mailto.0.uriTemplate", "");
user_pref("browser.contentHandlers.types.0.title", "");
user_pref("browser.contentHandlers.types.0.uri", "");
user_pref("browser.contentHandlers.types.1.title", "");
user_pref("browser.contentHandlers.types.1.uri", "");
user_pref("gecko.handlerService.schemes.webcal.0.name", "");
user_pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "");
user_pref("gecko.handlerService.schemes.irc.0.name", "");
user_pref("gecko.handlerService.schemes.irc.0.uriTemplate", "");
// Disable channel updates
user_pref("app.update.enabled", false);
user_pref("app.update.auto", false);
// EME
user_pref("media.eme.enabled", false);
user_pref("media.eme.apiVisible", false);
// Firefox Accounts
user_pref("identity.fxaccounts.enabled", false);
// WebRTC
user_pref("media.peerconnection.enabled", true);
// Don't reveal your internal IP when WebRTC is enabled
user_pref("media.peerconnection.ice.no_host", true);
user_pref("media.peerconnection.ice.default_address_only", true);
// Use the proxy server to do DNS lookups when using SOCKS
// <http://kb.mozillazine.org/Network.proxy.socks_remote_dns>
user_pref("network.proxy.socks_remote_dns", true);
// Services
user_pref("gecko.handlerService.schemes.mailto.0.name", "");
user_pref("gecko.handlerService.schemes.mailto.1.name", "");
user_pref("handlerService.schemes.mailto.1.uriTemplate", "");
user_pref("gecko.handlerService.schemes.mailto.0.uriTemplate", "");
user_pref("browser.contentHandlers.types.0.title", "");
user_pref("browser.contentHandlers.types.0.uri", "");
user_pref("browser.contentHandlers.types.1.title", "");
user_pref("browser.contentHandlers.types.1.uri", "");
user_pref("gecko.handlerService.schemes.webcal.0.name", "");
user_pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "");
user_pref("gecko.handlerService.schemes.irc.0.name", "");
user_pref("gecko.handlerService.schemes.irc.0.uriTemplate", "");
// https://kiwiirc.com/client/irc.247cdn.net/?nick=Your%20Nickname#underwater-hockey
// Don't call home for blacklisting
user_pref("extensions.blocklist.enabled", false);
user_pref("font.default.x-western", "sans-serif");
// Preferences for the Get Add-ons panel
user_pref ("extensions.webservice.discoverURL", "http://127.0.0.1/");
user_pref ("extensions.getAddons.search.url", "http://127.0.0.1/");
user_pref ("extensions.getAddons.search.browseURL", "http://127.0.0.1/");
user_pref ("extensions.getAddons.get.url", "http://127.0.0.1/");
user_pref ("extensions.getAddons.link.url", "http://127.0.0.1/");
user_pref ("extensions.getAddons.discovery.api_url", "http://127.0.0.1/");
user_pref ("extensions.systemAddon.update.url", "");
user_pref ("extensions.systemAddon.update.enabled", false);
// FIXME: find better URLs for these:
user_pref ("extensions.getAddons.langpacks.url", "http://127.0.0.1/");
user_pref ("lightweightThemes.getMoreURL", "http://127.0.0.1/");
user_pref ("browser.geolocation.warning.infoURL", "");
user_pref ("browser.xr.warning.infoURL", "");
user_pref ("app.feedback.baseURL", "");
// Mobile
user_pref("privacy.announcements.enabled", false);
user_pref("browser.snippets.enabled", false);
user_pref("browser.snippets.syncPromo.enabled", false);
user_pref("identity.mobilepromo.android", "http://127.0.0.1/");
user_pref("browser.snippets.geoUrl", "http://127.0.0.1/");
user_pref("browser.snippets.updateUrl", "http://127.0.0.1/");
user_pref("browser.snippets.statsUrl", "http://127.0.0.1/");
user_pref("datareporting.policy.firstRunTime", 0);
user_pref("datareporting.policy.dataSubmissionPolicyVersion", 2);
user_pref("browser.webapps.checkForUpdates", 0);
user_pref("browser.webapps.updateCheckUrl", "http://127.0.0.1/");
user_pref("app.faqURL", "http://127.0.0.1/");
// PFS url
user_pref("pfs.datasource.url", "http://127.0.0.1/");
user_pref("pfs.filehint.url", "http://127.0.0.1/");
// Disable Gecko media plugins: https://wiki.mozilla.org/GeckoMediaPlugins
user_pref("media.gmp-manager.url.override", "data:text/plain,");
user_pref("media.gmp-manager.url", "");
user_pref("media.gmp-manager.updateEnabled", false);
user_pref("media.gmp-provider.enabled", false);
// Don't install openh264 codec
user_pref("media.gmp-gmpopenh264.enabled", false);
user_pref("media.gmp-eme-adobe.enabled", false);
//Disable middle click content load
//Avoid loading urls by mistake
user_pref("middlemouse.contentLoadURL", false);
//Disable heartbeat
user_pref("browser.selfsupport.url", "");
//Disable Link to FireFox Marketplace, currently loaded with non-free "apps"
user_pref("browser.apps.URL", "");
//Disable Firefox Hello
user_pref("loop.enabled",false);
// Use old style user_preferences, that allow javascript to be disabled
user_pref("browser.user_preferences.inContent",false);
// Don't download ads for the newtab page
user_pref("browser.newtabpage.directory.source", "");
user_pref("browser.newtabpage.directory.ping", "");
user_pref("browser.newtabpage.introShown", true);
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
// Disable home snippets
user_pref("browser.aboutHomeSnippets.updateUrl", "data:text/html");
// In <about:user_preferences>, hide "More from Mozilla"
// (renamed to "More from GNU" by the global renaming)
user_pref("browser.user_preferences.moreFromMozilla", false);
// Disable hardware acceleration
//user_pref("layers.acceleration.disabled", false);
user_pref("gfx.direct2d.disabled", true);
// Disable SSDP
user_pref("browser.casting.enabled", false);
//Disable directory service
user_pref("social.directories", "");
// Don't report TLS errors to Mozilla
user_pref("security.ssl.errorReporting.enabled", false);
// Crypto hardening
// https://gist.github.com/haasn/69e19fc2fe0e25f3cff5
//General settings
user_pref("security.tls.unrestricted_rc4_fallback", false);
user_pref("security.tls.insecure_fallback_hosts.use_static_list", false);
user_pref("security.tls.version.min", 1);
user_pref("security.ssl.require_safe_negotiation", false);
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("security.ssl3.rsa_seed_sha", true);
// Avoid logjam attack
user_pref("security.ssl3.dhe_rsa_aes_128_sha", false);
user_pref("security.ssl3.dhe_rsa_aes_256_sha", false);
user_pref("security.ssl3.dhe_dss_aes_128_sha", false);
user_pref("security.ssl3.dhe_rsa_des_ede3_sha", false);
user_pref("security.ssl3.rsa_des_ede3_sha", false);
// Disable Pocket integration
user_pref("browser.pocket.enabled", false);
user_pref("extensions.pocket.enabled", false);
// Disable More from Mozilla
user_pref("browser.preferences.moreFromMozilla", false);
// enable extensions by default in private mode
user_pref("extensions.allowPrivateBrowsingByDefault", true);
// Do not show unicode urls https://www.xudongz.com/blog/2017/idn-phishing/
user_pref("network.IDN_show_punycode", true);
// disable screenshots extension
user_pref("extensions.screenshots.disabled", true);
// disable onboarding
user_pref("browser.onboarding.newtour", "performance,private,addons,customize,default");
user_pref("browser.onboarding.updatetour", "performance,library,singlesearch,customize");
user_pref("browser.onboarding.enabled", false);
// New tab settings
user_pref("browser.newtabpage.activity-stream.showTopSites",false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories",false);
user_pref("browser.newtabpage.activity-stream.feeds.snippets",false);
user_pref("browser.newtabpage.activity-stream.disableSnippets", true);
user_pref("browser.newtabpage.activity-stream.tippyTop.service.endpoint", "");
// Enable xrender
user_pref("gfx.xrender.enabled",true);
// Disable push notifications
user_pref("dom.webnotifications.enabled",false);
user_pref("dom.webnotifications.serviceworker.enabled",false);
user_pref("dom.push.enabled",false);
// Disable recommended extensions
user_pref("browser.newtabpage.activity-stream.asrouter.useruser_prefs.cfr", false);
user_pref("extensions.htmlaboutaddons.discover.enabled", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
// Disable the settings server
user_pref("services.settings.server", "");
// Disable use of WiFi region/location information
user_pref("browser.region.network.scan", false);
user_pref("browser.region.network.url", "");
// Disable VPN/mobile promos
user_pref("browser.contentblocking.report.hide_vpn_banner", true);
user_pref("browser.contentblocking.report.mobile-ios.url", "");
user_pref("browser.contentblocking.report.mobile-android.url", "");
user_pref("browser.contentblocking.report.show_mobile_app", false);
user_pref("browser.contentblocking.report.vpn.enabled", false);
user_pref("browser.contentblocking.report.vpn.url", "");
user_pref("browser.contentblocking.report.vpn-promo.url", "");
user_pref("browser.contentblocking.report.vpn-android.url", "");
user_pref("browser.contentblocking.report.vpn-ios.url", "");
user_pref("browser.privatebrowsing.promoEnabled", false);