EvilScheme
Tweaks
3.87/5 (203 votes).
Description
Dedicated to the memory of Lorenzo Pane
EvilScheme
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 highlightedAdd 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 theSave
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.BundleIDsXIIis a great user-friendly tool for this. Paste the strings in their respective fields on theAdd 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 selectingAdd 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 ofPercent 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 ofPercent encoding
iterations. For a deeper dive into Evil Kit portions, check out their well documentedheaders.
Contribution
This tweak was originally made by Lorenzo Pane. I am now the maintainer of this package. for any bugs or features you want me to add check out the source code repo: https://github.com/0xkuj/EvilScheme
Author
Lorenzo Pane
Version
19.07.2002
Size
106.88 KB
No comment.