Repo  /  Source  /  Help

Change your default web browser, maps navigator, package manger, and more!

Evil Scheme takes advantage of iOS URL schemes to allow users to change default apps in which links open.


Default apps can be set in the Evil Scheme preference pane within the Settings app. To add a default app, select the highlighted Add new row. Choose a preset, or dismiss the view to build your own. To apply your changes, return to the primary Evil Scheme menu and press the Save button in the top right corner; no need to respring! Try opening a link that would typically open a stock app, and /viola/, your selected app should open!

Creating Custom Presets

Is there no provided preset for an app you would like to use? No problem: provided that app has a URL scheme, you can add a preset for it! Building a preset can be done in three steps:

1. Translate bundle identifiers

Find the bundle identifier of the your new app, and its stock counterpart. BundleIDsXII is a great user-friendly tool for this. Paste the strings in their respective fields on the Add New screen. You can target as many apps as you would like.

2. Capture URLs with a regular expression

Apps that open other apps use URLs to communicate with each other and encode information. In case you would like to have multiple actions for different URLs, you should make your regular expression as specific as possible, while still capturing all URLs you want to modify. If you only need one kind of action, you can use .* (meaning "any character, any number of times ") as your regular expression.

Regular expressions can be re-ordered by priority and action corresponding to the first match will be used. If no matches are found, redirection will be aborted.

3. Build a new URL blueprint

I've engineered Evil Scheme to give users the tools to make any modification to a URL they need to by creating a framework called Evil Kit. All you need to know is it lets you create a blueprint for a new URL using various "fragments" or "portions" representing different pieces of the original URL, static pieces of text, or regular expression templates which are brought together in sequence. For example, the blueprint for a spotlight search that should open as a DuckDuckGo search in Firefox Focus looks like this:

Build your outline by selecting Add new fragment, selecting the fragment type you want, and filling in its various options. If the context in which you use a given fragment means it will be interpreted as a query value or it it contains special characters that would interfere with the URL, you may need to enable a positive level of Percent encoding for that fragment. If you are taking a URL portion /from/ a query and using it elsewhere, you may need to use a negative level of Percent encoding iterations. For a deeper dive into Evil Kit portions, check out their well documented headers.


You can install Evil Scheme free by adding the Dynastic Repo to your favorite package manager. It can also be compiled from source if that's your thing using Theos or DragonBuild.


Evil Scheme is free and open source software licensed under the BSD 3-Clause 'New' or 'Revised' license provided "as is" with absolutely no warranty.