Important
This requires Advanced Mode to be enabled
Tip: Don't just 📋CP. Remember to search commented-out rules and filters. They are optional, but can enhance the experience on specific devices and scenarios.
You can easily find them using these regexes (*.ubo
& *.abp
respectively):
^#\S.+
^!\S.+
AKA "User Types".
All file-names that have a stem (basename
without extension) in common are considered to belong to the same profile. When you apply a profile to uBO, you are expected to use all files from said profile.
To check if a list of files are part of the same profile, you can use the common_stem
fn:
const get_stem = (path: string) => {
const basename = path.substring(path.lastIndexOf('/') + 1)
const dot_i = basename.lastIndexOf('.')
return dot_i == -1 ? basename : basename.substring(0, dot_i)
}
const common_stem = (paths: ReadonlySet<string>) =>
[...paths].every((path, _, path_ls) =>
get_stem(path_ls[0]) == get_stem(path)
)
For privileged (Administrator) accounts. These are the only users with (partial) root
/System
access (AKA "sudoers"), so they need ABSOLUTELY MAXIMUM SECURITY at the cost of convenience. Since admins don't need to browse many websites, the strict-blocking doesn't affect them much.
Tip
Disable JIT-compilation:
- MS Edge: Go to "Enhanced Security" (
edge://settings/privacy#SecureMode
) - Moz Firefox: use
Securefox.js
, and uncomment these options - G Chrome: CLI arg
--js-flags="--jitless"
.- Not persistent, unless added to the desktop shortcut: This can be done on Windows (Properties -> Shortcut -> Target) and any system that supports the FD spec
Any human user, usually my family or friends. They shouldn't be using "Hard-Mode", because literally any site they visit could break, and that's an inconvenience.
Most rules are "just-in-case", for the sake of future-proofing, and lack of information about the behavior of sites.
Tip
Install Libredirect
My own personal rule-set. Designed for my needs, desires, and convictions.
uBO doesn't support comments on dyn-rules.
uBO auto-removes syntactically-invalid lines, and #
is unlikely to become valid, so this hack works... as long as each comment is placed on its own line (side-comments will turn the whole line into a comment), so be careful