Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Rudxain/uBO-rules

Open more actions menu

Repository files navigation

Important

This requires Advanced Mode to be enabled

Tip

If you just want to read text, I recommend a TUI web-browser such as Lynx or w3m. Not loading a JIT-interpreter is much more efficient than not using it, same goes for audio-visual decoding+rendering.

If you're on Android, Termux has your back! (pkg i lynx)

gluegle (and other domains) only forces you to run JS if the browser supports it.

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.+

Profiles

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, use the common_stem fn:

const get_stem = (path: string) => {
	// `-1` is implicitly offset to `0`,
	// this is intentional.
	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)
	)

These fns are intended to be "normative", therefore, any bugs in them should be considered "specification mistakes" rather than "implementation bugs". I am 100% confident that both fns are bug-free!

Admin

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:

  • Moz Firefox: use Securefox.js, and uncomment these options
  • Chromium (e.g. gluegle chrome, M$ edging, ...): CLI arg --js-flags="--jitless".
    • add it to the desktop shortcut (to make it persistent): This can be done on winbloats (Properties -> Shortcut -> Target) and any system that supports the FD spec

User

Any human user, usually my family or friends. They shouldn't be using "Medium-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.

Rx

Tip

Install Libredirect

My own personal rule-set. Designed for my needs, desires, and convictions.

Syntax

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.