OpenInlets is a collection of bookmarklet utilities for your browser. Originally they opened an iOS app from a web page in a specific way. Now some make or modify URLs, or determine if a site is hosted on AWS.
To easily install a bookmarklet using a desktop browser, first visit the OpenInlets page (this README.md file as a hosted HTML page). Then drag one of the JavaScript Bookmarks below to the Favorites bar or right-click and add it as bookmark favorite.
For mobile platforms, it may be easiest to add bookmarks using a desktop browser and then sync to a mobile device. On platforms that don't allow drag and drop bookmark installation, you can also try using the alternative URL-based Setup.
GitHub infrastructure prevents "drag & drop" install directly from the README.md preview. Use the OpenInlets page to drag & drop the bookmarklet links below on your desktop browser's favorites bar.
-
deLighter v1.3.0: Effectively de-highlights any highlighted text fragment on the current page. Uses
document.location.reload()to reload the page to de-highlight it. (It's a cross-platform companion to the Linklighter bookmarklet, below.) -
FYI v3.3.0: Select text on a web page and fire off an email that quotes the selection and includes the page title and URL. "FYI" opens a new email with the page title in the subject line, the page title repeated again in the body, along with the selected text (if any text was selected), and the URL of the original page.
-
IsItAws v1.3.4: Check the current page host to determine if it runs on AWS. This bookmarklet works with most browsers on most platforms.
-
KillStickyHeaders v2.0.0: Find & delete all fixed position elements of HTML body element. Cross-platform.
-
Linklighter v2.1.0: Use the current text selection on the active web page to generate a URL that will highlight the selected text when opened in a modern browser. If a new URL is generated, Linklighter ask to open it in a new window to preview the highlight, and copy the new URL to the clipboard. (See deLighter above, as a companion bookmarklet that un-highlights the newly opened window.) Linklighter works with recent releases of Safari on iPhone, iPad, and Mac, and also works with Google Chrome on desktops.
-
OpenInBrave v1.1.0: Open the current web page in the Brave app on iOS.
-
OpenInFirefox v1.6.0: Open the current web page in the Firefox app for iOS.
-
OpenInFirefox-Focus v1.1.0: Open the current web page in the Firefox Focus app for iOS.
-
OpenInFirefox-Private v1.1.0: Open the current web page in private mode of the Firefox app for iOS.
-
OpenInGoodReader v1.5.0: When viewing a PDF in Mobile Safari, open or download the same PDF in GoodReader.
-
OpenInTextastic v1.1.0: Open the current web page in the Textastic app on iOS. Download the server response of the current HTTP URL, save it in the root directory of the local (Textastic) file system, and then open it in the editor. Handy to view the source code of a web page or download a raw file.
-
OpenInWorkingCopy v1.6.0: When viewing a BitBucket or Github repository in Mobile Safari, show the same repo in the Working Copy iOS app (cloning the repo locally if necessary).
-
OpenURLParam v1.1.0: Work-around for blocked navigation from certain ad or tracking blockers. If the current URL contains a parameter in the form of
url=...this bookmarklet will parse theurlparameter and navigate to that URL. -
UtmStrip v2.1.0: Strips off the UTM query string elements of the current URL to remove common "urchin" tracking information from youtube, etc. Also removes Google
/amp/suffix from URL path. Asks to copy the new URL to the clipboard. Finally, replaces history & reloads the page. NOTE: This bookmarklet also works with Safari and Firefox on macOS. -
unskim v2.0.1: Bypass redirect and affiliate link wrappers by detecting common URL parameters (like
url=,destination=,redirect=, etc.) and navigating directly to the target URL. Also handles Safari DNS error pages when a redirect service is blocked, extracting the intended destination from the error message. -
x-man v1.3.1: Using the selected text in browser, create a
x-man-page://link to the corresponding man page and offer to place that link on the clipboard. When using Safari on Mac, the bookmarklet will use Safari to open the corresponding man page with yellow highlighting in Terminal.app using thex-man-page://link. That URL scheme only works using Safari on macOS and the bookmarklet requires that block Pop-ups is turned off for the corresponding web site. The bookmarklet recognizes manual sections and will turn a selection like "printf(3)" into a link likex-man-page://3/printf. However a selection of "printf" or "printf(1)" will result in a streamlined link ofx-man-page://printf(that implies "1" or the first entry found). The bookmarklet will post an alert if pop-ups are blocked or warn when using a browser where the link can't be used to open Terminal. So far it's known to open Terminal from Safari 17 and Orion 0.99. It creates formatted links when using Microsoft Edge, Mozilla Firefox, Google Chrome, and Safari (Mac, iPhone, & iPad).
Tap a link below. Follow the instructions on the resulting page to turn the followed link into a bookmark for JavaScript bookmarklet.
- Mobile Safari setup link -- Setup deLighter v1.3.0
- Mobile Safari setup link -- Setup FYI v3.3.0
- Mobile Safari setup link -- Setup IsItAws v1.3.4
- Mobile Safari setup link -- Setup KillStickyHeaders v2.0.0
- Mobile Safari setup link -- Setup Linklighter v2.1.0
- Mobile Safari setup link -- Setup OpenInBrave v1.1.0
- Mobile Safari setup link -- Setup OpenInFirefox v1.6.0
- Mobile Safari setup link -- Setup OpenInFirefox-Focus v1.1.0
- Mobile Safari setup link -- Setup OpenInFirefox-Private v1.1.0
- Mobile Safari setup link -- Setup OpenInGoodReader v1.5.0
- Mobile Safari setup link -- Setup OpenInTextastic v1.1.0
- Mobile Safari setup link -- Setup OpenInWorkingCopy v1.6.0
- Mobile Safari setup link -- Setup OpenURLParam v1.1.0
- Mobile Safari setup link -- Setup UtmStrip v2.1.0
- Mobile Safari setup link -- Setup unskim v2.0.1
- Mobile Safari setup link -- Setup x-man v1.3.1
- Mobile Safari 11.x or higher (last tested with iOS 26, macOS 26 Safari 26)
- Corresponding iOS app (except for "delighter", "FYI", "IsItAws", "Linklighter", "unskim", "UTMStrip", and "x-man" bookmarklets).
Bookmarklets do not work in Google Chrome, Ghostery and DuckDuckGo iOS
apps due to restrictions of those apps on javascript: URL bookmarks.
MIT License - http://opensource.org/licenses/mit-license.php
The src/ directory has human readable TypeScript, written in a way to
facilitate testing. The dist/ directory has minified code that has a
javascript: URL protocol prefix and should be shorter. The void'x.y.z' at
the end the bookmarklet URL code serves two purposes.
- It prevents the browser from navigating to another page when the bookmark is used.
- It is a convenient place to embed a string indicating the
semverversion of the bookmark.
Clone the repository. If node is not installed go get it from
nodejs.org. Finally change to the OpenInlets directory and install
the dependencies into the project before building.
git clone https://github.com/mobilemind/OpenInlets.git
cd OpenInlets
npm install
npm run buildNote that nodejs and npm are required. The lines above will install
dependencies defined in package.json. You can update dependencies using
npm update at any time or just invoke npm run build to re-build the
OpenInlets dist/ directory.
Each bookmarklet does some rudimentary check and then redirects to an app using a URL protocol scheme.
- deLighter: Does not use a URL protocol scheme. Checks the current URL for a '#' and if found, reloads the page to clear the highlight.
- FYI: Uses the
mailto:protocol scheme to open a new email with the page title in the subject line, the page title repeated again in the body, along with the selected text (if any text was selected), and the URL of the original page. Based on fyi-bookmarklets this is the webkit version from that repo. - IsItAws - Does not use a URL protocol scheme. Rather it uses the lambda IsItOnAWS.com functions created by Tim Bray. For details, see Is it on AWS? Domain Identification Using AWS Lambda.
- KillStickyHeaders - Does not use a URL protocol scheme. Removes HTML
child elements of
<body>that have a fixed position. See Kill sticky headers. - Linklighter: Does not use a URL protocol scheme. Gets the current
selection and uses it to create a "Text Fragment" URL (e.g., appends
#:~:text=…to the current URL. Browsers interpret this and when opening such a URL, they scroll to the first matching selection and highlight that text. Bookmarklet logic optimizes fragment. Depending on the selection, it will use the whole selection, a start/end fragment pair, and/or a prefix or suffix. Browsers will highlight the first "best" match. To learn more about text fragment highlighting, refer to Text fragments. Works with Safari on Apple platforms, and Google Chrome for desktops. - OpenInBrave - Uses the
brave://open-url?url=scheme for the Brave app on iOS. - OpenInFirefox and OpenInFirefox-Private - Uses the
firefox://open-url?url=scheme for the Firefox app on iOS. The "Private" version appends&private=trueafter the target url for private browsing. - OpenInFirefox-Focus - Uses the
firefox-focus://open-url?url=scheme for the Firefox Focus app on iOS, with&private=trueappended to the target url for private browsing. - OpenInGoodReader - Uses the
grhttp://orgrhttps://URL protocol scheme for GoodReader. See GoodReader URL Scheme. - OpenInTextastic - Uses the
textastic://protocol scheme of the Textastic app on iOS. For details, see Textastic x-callback-url API. - OpenInWorkingCopy - Uses the
working-copy://show?remote=/("show") URL protocol scheme for Working Copy. See the subheading URL Schemes in Working Copy for details. - OpenURLParam - Work-around for blocked navigation from certain ad or
tracking blockers. If the current URL contains a parameter in the form of
url=...this bookmarklet will parse theurlparameter and navigate to that URL. - UtmStrip - Strips off the UTM query string elements of the current URL. Based on safari-utm-stripper Bookmarklet. NOTE: UtmStrip now borrows heavily from patterns provided by Firefox Extension Neat URL
- x-man - Uses the current selection in the browser to create and open a
link that uses the
x-man-page://URL scheme supported by Safari and Terminal.app. There doesn't seem to be any official documentation for this scheme which has been around for 20 years. However, you can find documentation on GitHub at x-man-page: URL handler studied for the OSX Terminal.app
4.0.0 MAJOR RELEASE - Migrated to TypeScript for type safety & more, updated
entire build system with more thorough checks, refined CI/CD. No more grunt
for build process. Switched from Uglify-js to Terser for JavaScript compression.
3.7.0 adds "unskim" bookmarklet to bypass redirect and affiliate link wrappers
3.6.2 add some supply chain hardening and a release process.
3.6.1 switch to for node >=24.11.0 (LTS), and npm >=11.6.1
3.5.9 uses engineStrict=true in package.json for node >=24.0, npm >=11.4
3.5.0 drop "OpenInGoogleChrome" & "OpenInGoogleMaps" bookmarklets
3.4.0 adds "FYI" bookmarklet, removes deprecated 1Password bookmarklets, updates deploy task
3.3.0 updates Linklighter 1.1.0, UtmStrip 1.7.0, and x-man 1.10 to ask to copy their results to the clipboard
3.2.0 adds x-man bookmarklet for x-man-page:// URL scheme
3.1.0 add deLighter and Linklighter bookmarklets; bump to node 21.0+
3.0.0 Switch to node 20 LTS release
2.9.1 Regex & HTML safe URL encoding, drop deprecated utils
2.8.0 bump to node 18.8+
2.7.5 Drop Url2DocLink, WindowResize, WindowSize; Tighten UrlEncoding
2.7.0 Remove bookmarklets for discontinued apps (Blogsy, CodeBucket, CodeHub, iOctocat)
2.6.0 switch to node 16
2.4.1 UtmStrip streamlined for Google Analytics & Youtube; added Matomo
2.3.0 significant updates to utmstrip; update utmstrip & overall version
2.2.0 Adds "LoginESA" for WiFi login; Updates source indent to 4 spaces.
2.1.0 Adds "OpenIn.." for Brave, Dolphin, Opera, and Textastic. Use encodeURIComponent for parameters to Firefox, Opera and WorkingCopy URLs.
2.0.0 Remove Blogsy; Enhance OpenInGoogleMaps; Prefer concatenation; Bump version
1.9.0 Add UtmStrip as new bookmarklet; Bump version
1.8.1 restore curly brackets in bookmarklet source; improve URI encoding;
automate updates to README.md links/bookmarks; Bump version
1.7.0 use arrow-functions closures where needed & remove other closures; new build process and encoding; Bump version
1.6.0 Add KillStickyHeaders bookmarklet; Bump version
1.5.0 Add OpenInCodeBucket & OpenInCodeHub; bump version of OpenInWorkingCopy and overall version
1.4.1 Added OpenInWorkingCopy and bumped overall version
1.3.0: Added IsItAws and bumped overall version as this is significant change
1.2.0: overall package # bumped due to significant ES6/eslint driven changes
1.1.0: update to LTS versions of node; use grunt-contrib-... >= 1.0.0;
bump semver
1.0.0: September 19, 2015 - update package.json to use node: ">=0.12.0";
baseline semver to 1.0.0
0.0.15: August 2, 2015 - update build dependencies and README, no functional changes
0.0.10: January 22, 2015 - update to grunt-contrib-jshint 0.11.x; add some
stricter checks
0.0.8: August 19, 2014 - Add OpenInGoogleChrome; update version
0.0.6: August 18, 2014 - Add OpenInBlogsy; update version
0.0.1: July 28, 2014 - Bookmarklets build via grunt, grunt deploy updates
README.md, version numbers not updating
0.0.0: July 22, 2014 - Initial commit, smushing together multiple bookmarklet repos I had; doesn't build yet