-
Notifications
You must be signed in to change notification settings - Fork 3
Saves
Saving URLs lets you save your own custom settings for any of your favorite websites. The app will remember the settings you saved and will auto-activate itself using those settings.

Tip: Whenever you visit a Saved URL, you will always see a star icon appear in the top-right corner of the Popup UI Window as shown above. You can hover the icon to see more details about the Save, such as its ID.
You can add new saves from two different places:
- Popup UI Window
- Options Screen
- Click the Toolbar Icon to bring up the Popup UI Window and adjust the settings to your preference
- Click the Star Button in the top-right corner to bring up the Save Dialog and enter a URL Pattern, then click the
YES
Button (the Star Button should now be filled in) - Click the
ACCEPT
Button at the bottom to finalize the save
Note that you must click YES
in the Save Dialog and then ACCEPT
before closing the Popup UI Window
- Go to the Options Screen by right clicking the toolbar icon (Chrome/Edge) or by clicking the GEAR Icon in the Popup UI Window and click
SAVES
- Click the
ADD SAVE
Button to bring up the Add Save Dialog and adjust the settings to your preference - Click the
SAVE
Button in the dialog when finished
Most users won't need to worry about this, but if you are going to be saving multiple generic URLs, you ought to make sure that they are each unique. For example, instead of saving multiple URLs with the same regular expression of .*
, you should save each one as a unique regular expression like .*[A]?
, .*[B]?
, and so on (The A
and B
can be any unique identifier text you wish to use).
In the Options Screen's SAVES
section, if you have at least one save, you will see an ENABLE SAVES
Switch in the top-left part of the screen. If you wish, you can disable saves by turning this switch off. When you want to enable your saves again, you can come back to this screen and turn the switch on. You can use this option to disable your saves temporarily (without having to delete them) if you need to test something.
To keep your data as private as possible, the app only stores your saves locally on your device.
There are three types of saves you can choose from, based on how they match against the URL:
Pattern
Regular Expression
Exact
Saving a Pattern lets you match multiple URLs easily in two ways:
- As
Substring Patterns
- Or as
Wildcard Patterns
For example, you could save a Substring Pattern
like www.example.com/pictures/
to match all URLs that have the characters www.example.com/pictures/
included anywhere in them (hence, as a substring). This allows you to easily shorten a URL to match multiple URLs. For example, say you're on https://www.google.com/search?q=my-search-term
. You could shorten the URL to the substring https://www.google.com/search?
to match all Google Search URLs.
If you include at least one *
character, your pattern will be treated as a Wildcard Pattern.
For example, you could save a Wildcard Pattern
like *www.example.com/*/*
to match both https://www.example.com/pictures/
and https://www.example.com/videos/
.
Save a regular expression for more fine-tuned matching and wildcard matching.
Important: When entering Regular Expressions, you must escape (prepend) the following special characters with a backslash character \
if you want to match them literally:
. ? \ ^ $ * + | ( ) [ ] { }
For example, if you wanted to match .com
literally you would need to write it as \.com
and not .com
because .
is a special regex character and is assumed to mean "any character" unless you escape it.
^https?://www\.example\.com/.*/
This Example Regular Expression will match any URL that is like https://www.example.com/*/
.
Here are some notes explaining the regex:
- The
^
at the beginning indicates the URL must start withhttp
- The
?
after thes
indicates that the precedings
character is optional (i.e.http
orhttps
would both match) - We escaped the dots in the URL with a backslash character so we can match them literally as dots i.e
\.example
and\.com
- Finally we then used the dot in
.*
as a regex special character (not escaped) so we can use the.
to mean "any character" followed by the*
(0 or more "any characters")
Regular Expressions can be quite complex. If you need help practicing regular expressions, the following website is very helpful: https://regex101.com.
Here are two important things to keep in mind when using it:
- Make sure you set the
Flavor
toECMAScript (JavaScript)
- Normally, you also need to escape the forward slash
/
character with a\
(i.e.https?:\/\/
, but you don't have to escape those forward slash characters in the app because it uses the RegExp Constructor instead of the Literal / Slash method to compile your regular expressions, which doesn't require this character to be escaped
This is used to match an exact URL (single URL) or, more commonly, when using the Increment URL
action and when you manually changed the selection in the URL to increment. In the latter case, the app will actually remember the URL as a "pattern" and ignore the selection you selected, so it will match against multiple URLs. For example, say you wanted to save a URL like https://www.example.com/page1/section1
and the app pre-selected the second 1
, but you wanted to increment the first 1
instead. You can paste in the URL exactly like this, and the app will know that it should auto-activate on any URL that is like https://www.example.com/page?/section1
where the ?
can be any number.
Saves are stored as an array []
of objects {}
in JSON format.
Here's an example of a save:
{
"id": 1,
"action": "next",
"append": "element",
"nextLink": "[rel='next']",
"pageElement": "body > *",
"url": "^https://www\\.example\\.com"
}
Key | Type | Examples | Description |
---|---|---|---|
id | Number | 1 |
The id of the save, sequenced in the order of creation |
date | String | "2022-12-22T16:09:42.920Z" |
The date the save was created or last updated (Optional) |
action | String |
"next" "prev" "increment" "click" "list"
|
The action to perform |
url | String |
"https://www.example.com" "*example.com*" "^https?://www\\.example\\.com"
|
The URL to activate on; either a pattern, regular expression (regex), or exact url |
type | String |
"pattern" "regex" "exact"
|
The type of url you are saving (Optional, defaults to regex if omitted) |
name | String | "My Save" |
The name or title of the save (Optional) |
comment | String | "My comment." |
A comment or note about the save (Optional) |
Note: Prev Link properties are the same as next link, just replace "next" with "prev" if needed.
Key | Type | Examples | Description |
---|---|---|---|
nextLink | String |
"[rel='next']" "//*[@rel='next']"
|
The Next Link Path (Selector or XPath) |
nextLinkType | String |
"selector" "xpath"
|
The Next Link Path's type (Optional, as the path type will be auto detected if this is omitted) |
nextLinkProperty | Array | ["href"] |
The property (can be a single property or multiple nested ones) of the next link element that contains the link (Optional, defaults to ["href"] ) [May be removed in the future] |
nextLinkKeyword | Boolean String |
true "self attribute equals next>"
|
If the save uses keywords to find the next link, this can be a Boolean (e.g. true ) to indicate to use the globally defined keywords or a String to target a specific keyword in the format of "relationship type subtype keyword" (Optional, defaults to false ) |
Key | Type | Examples | Description |
---|---|---|---|
clickElement | String |
"body > button" "//body/button"
|
The Click Element Path (Selector or XPath) |
clickElementType | String |
"selector" "xpath"
|
The Click Element Path's type (Optional, as the path type will be auto detected if this is omitted) |
Key | Type | Examples | Description |
---|---|---|---|
interval | Number | 1 |
The amount to increment by, can be a negative number to decrement |
selectionStart | Number | 30 |
The selection's starting position in the URL (Applies only to Exact Saves) |
selectionEnd | Number | 0 |
The selection's ending position in the URL (from right to left) (Applies only to Exact Saves) |
selectionStrategy | String |
"smart" "lastnumber" "firstnumber" "custom"
|
The strategy to select the part of the URL to increment (Applies only to Pattern/Regex Saves) |
selectionCustom | |||
base | Number String |
10 16 "date" "decimal" "roman" "custom"
|
The selection's base type, can be a base number between 1-36, or a string for more complex bases (10 is the default and represents regular decimal numbers) |
baseCase | String |
"lowercase" "uppercase"
|
If incrementing bases that include letters, indicates whether they should be lowercase or uppercase in the URL (Optional, applies only when base is 11-36) |
errorSkip | Number | 10 |
The maximum number of times to skip past pages that return error codes, such as 404 or redirects (Optional, defaults to 0) |
shuffleURLs | Boolean | true |
Whether to shuffle the next URLs (Optional, defaults to false) |
Key | Type | Examples | Description |
---|---|---|---|
list | Array | ["https://www.ex.com/1", "https://www.ex.com/2"] |
The array of URL strings the list comprises of |