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.
Usage
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:
Constant string: "firefox-focus://open-url?url="
Percent encoded constant string: "https://ddg.gg/?q="
Percent encoded original query value
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.
Installation
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.
License
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.