StopTheMadness for iOS Support

Support Home: StopTheMadness Support

Help Topics:

iOS 16 and iPadOS 16:
The current App Store version of StopTheMadness is compatible with iOS 16 and iPadOS 16. There are no known issues. Please email support if you discover an issue.

Privacy:
According to Safari, "This extension can read and alter webpages you visit and see your browsing history on all websites. This includes sensitives information from webpages, including passwords, phone numbers, and credit cards." However, this is just boilerplate text from Apple shown for every Safari extension that can modify webpages. StopTheMadness does not read, use, or share your personal data. The privacy policy has more details about StopTheMadness privacy. See also my blog post The security of Safari extensions for a more detailed explanation of StopTheMadness permissions.

Why is the icon blue in Safari?
Safari automatically highlights most extension icons with a blue tint when the extension is active on the current web page. The StopTheMadness icon was originally designed to avoid this distracting blue tint, because StopTheMadness is active on every web page. However, Apple changed Safari in iOS and iPadOS version 15.1 so that StopTheMadness could no longer avoid the blue tint. You can read more about this change in my blog post.

Website Options:
You can selectively enable and disable StopTheMadness features. Your custom options can be configured to apply to every web page or just to web sites that you specify. To change the options, open the StopTheMadness popup from Safari's address bar.

StopTheMadness Website Options

There are a number of protection features that you can enable and disable. By default, the "Recommended" features are enabled. These provide you with a high level of protection while also maximizing website compatibility. The features labeled "Use with caution" provide even higher levels of protection, but there may be more sites that don't work right when they're enabled, which is why they're disabled by default. The features labeled "Keyboard-related" are intended to be used only on an iPad with an external hardware keyboard attached. Any and all of the features can be enabled or disabled as necessary or desired. Below is an explanation of each feature.

Recommended:

Use with caution:

Keyboard-related:

Custom <style> element and Custom <script> element:
If you enter text into this area, StopTheMadness will create a custom HTML <style> or <script> element on the web page. The text you enter will become the element's inline CSS or JavaScript. If the text area is empty, then no custom element is created on the web page. StopTheMadness doesn't check your syntax, so you'll probably want to copy the CSS and JS from elsewhere and paste it into StopTheMadness. If you have a CSS or JS file open in the active Safari tab, then StopTheMadness will automatically insert the file's text when you tap inside the empty "Custom <style> element" or "Custom <script> element" area; this makes it easy to import files from userscript sites such as Greasy Fork. (The custom <script> element is created after the DOMContentLoaded event.)

When you change the website options in StopTheMadness, those changes apply immediately to the active Safari tab, and will apply to all web pages loaded thereafter in any tab. If you already had a web page open in a background tab before you changed the website options, and you want the changes to apply immediately to that web page, you need to switch to the tab and reload the page.

Redirects:
StopTheMadness can automatically redirect URLs so that when you open a link to one web site, your web browser loads a different site of your choosing. For example, you can redirect new Reddit to old Reddit if you prefer the old user interface. Or you can use privacy-preserving alternatives to popular web sites such as Nitter for Twitter and Invidious for YouTube.

StopTheMadness Redirects

StopTheMadness uses the JavaScript function String.replace() to redirect URLs. To create a redirect, you need a URL matching pattern and a replacement for that pattern. The matching pattern can be either a substring of the URL or a regex expression enclosed in "/" characters. The replacement is always a substring, though there are some special characters you can use in the replacement, as explained by the String.replace() documentation. Examples:

URL matching pattern Replacement
https://www.reddit.com/ https://old.reddit.com/
https://youtube.com/ https://invidious-us.kavin.rocks/
https://twitter.com/ https://nitter.net/
https://mobile.twitter.com/ https://nitter.net/
/^https?://(mobile\.)?twitter.com// https://nitter.net/
/^mailto:/ https://mail.google.com/mail/?view=cm&fs=1&to=
/^http:/ https:

The redirect rules are matched in the order they appear in StopTheMadness, though the order usually shouldn't matter if the rules are for different domains. If needed, you can use the up arrow buttons to change the order. You can also use the checkboxes to temporarily disable a rule.

How to Add Website Options:
The Default options for all websites apply to every web page in Safari, unless you have custom options for a particular site. To create custom options for a website, type the website into the URL-specific options field and then press the New button to disable all of the new options or the Duplicate button to duplicate all of the options from the currently selected website. (The Done button closes the keyboard without adding anything.) The New button is useful if you're experiencing a website compatibility issue with StopTheMadness and just want to disable everything.

New URL-specific options

There are two ways to specify websites: domain or URL. Examples of domains are "apple.com" and "google.com". If you specify a domain, then subdomains of that domain are automatically covered too. For example, "google.com" also covers "www.google.com", "mail.google.com", etc. If you want a subdomain to have different options than its domain, create a separate item for the subdomain. The longest match always wins, so if you have items for both "google.com" and "mail.google.com", then your "mail.google.com" options will apply when you load the page "https://mail.google.com/". If you want options to apply only to subdomains but not to the domain, put a dot at the beginning: ".google.com" applies to "https://www.google.com/", etc., but not to "https://google.com/".

You may want to apply custom options only to certain paths of a website, in which case you need to specify the website as a full URL. For example, if you enter "https://www.google.com/maps", then the custom options will only apply to Google Maps and not to Google Search at "https://www.google.com/". Subpaths are automatically covered too: "https://www.google.com/maps" would also cover "https://www.google.com/maps/search/apple+park". You can customize subpath options by creating a separate item for the subpath. As with domains, the longest match among URLs always wins. And a URL setting that includes a domain will override a domain setting for the same domain, since the URL is longer. So "https://www.google.com/maps" takes precedence over "www.google.com".

Migrate Safari Extension Settings to a New Device:
StopTheMadness for both iOS and macOS supports export and import of your custom Safari extension settings with iCloud.

Known Website Compatibility Issues:
In these cases you may want to create custom website options and disable the specific feature.

Support Home: StopTheMadness Support