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.1.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.2.1: 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.3: Check the current page host to determine if it runs on AWS. This bookmarklet works with most browsers on most platforms.
KillStickyHeaders v1.2.1: Find & delete all fixed position elements of HTML body element. Cross-platform.
Linklighter v1.1.5: 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.0.2: Open the current web page in the Brave app on iOS.
OpenInFirefox v1.5.1: Open the current web page in the Firefox app for iOS.
OpenInFirefox-Focus v1.0.1: Open the current web page in the Firefox Focus app for iOS.
OpenInFirefox-Private v1.0.1: Open the current web page in private mode of the Firefox app for iOS.
OpenInGoodReader v1.5.2: When viewing a PDF in Mobile Safari, open or download the same PDF in GoodReader.
OpenInTextastic v1.0.1: 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.5.1: 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.0.2: 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 the url
parameter and navigate to
that URL.
UtmStrip v1.8.8: 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 fromU 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.
x-man v1.2.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 the x-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 like
x-man-page://3/printf
. However a selection of “printf” or “printf(1)” will
result in a streamlined link of x-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.
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 JavaScript, written in a way to
facilitate testing. The web/
directory has “uglified” 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.
semver
version
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 invoking npx grunt
.
git clone https://github.com/mobilemind/OpenInlets.git
cd OpenInlets
npm install
npx grunt
Note that nodejs and npm are required. The lines above will install
grunt and other dependencies defined in package.json
. You can
update dependencies using npm update
at any time or just invoke npx grunt
to re-build OpenInlets web/
directory.
Each bookmarklet does some rudimentary check and then redirects to an app using a URL protocol scheme.
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.<body>
that have a fixed position. See
Kill sticky headers.#:~:text=…
string to the current
URL. Modern browsers interpret this and when opening such a URL, the browser
scroll to the first matching selection and highlight that text. Logic will
automatically use the full selection when its less than 80 characters, or
algorithmically split the text into a shorter “start” fragment and “end”
fragment. In that case the browser highlights from the first match of the
start fragment to the last character of the next match of the “end”
fragment. To learn more about text fragment highlighting and security
considerations, refer to Text fragments.brave://open-url?url=
scheme for the Brave app
on iOS.firefox://open-url?url=
scheme for the Firefox app on iOS. The “Private”
version appends &private=true
after the target url for private browsing.firefox-focus://open-url?url=
scheme
for the Firefox Focus app on iOS, with &private=true
appended to the
target url for private browsing.grhttp://
or grhttps://
URL protocol
scheme for GoodReader. See GoodReader URL Scheme.textastic://
protocol scheme of the
Textastic app on iOS. For details, see
Textastic x-callback-url API.working-copy://show?remote=/
(“show”)
URL protocol scheme for Working Copy. See the subheading
URL Schemes in Working Copy for details.url=...
this bookmarklet will parse the url
parameter and navigate to
that URL.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.app3.5.4 minor updates for Safari Technonolgy Preview 200 (Sequoia)
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.2 add docLinker
2.8.1 update .uglifyjs3.json for latest uglifyjs republish w/new compression
2.8.0 bump to node 18.8+
2.7.9 Update 1Password bookmarklets and Mobile browser install links.
2.7.7 Drop OpenInDolphin, OpenInOpera
2.7.5 Drop Url2DocLink, WindowResize, WindowSize; Tighten UrlEncoding
2.7.0 Remove bookmarklets for discontinued apps (Blogsy, CodeBucket, CodeHub, iOctocat)
2.6.1 bump to node 16.7+
2.6.0 switch to node 16
2.4.3 Create preflight
script for build & move static checks there; bump
version
2.4.2 UtmStrip updated to remove common email hash (eid) parameter
2.4.1 UtmStrip streamlined for Google Analytics & Youtube; added Matomo
2.3.2 adds “OpenURLParam”
2.3.1 drops “LoginESA”
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.5 Adds “OpenIn..” for Firefox in Private mode and for the Firefox Focus iOS app.
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.1 Update OpenIniOctcat to work with Github gists; cleanup eslint warnings and uglify-js option
1.5.0 Add OpenInCodeBucket & OpenInCodeHub; bump version of OpenInWorkingCopy and overall version
1.4.1 Added OpenInWorkingCopy and bumped overall version
1.3.1: Added OpenInFirefox and bumped 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.1: update package.json to use- node: >6.0, grunt: >1.0, grunt-contrib-uglify >=2.0 (reduces size of output); bump semver
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.7: August 18, 2014 - Enhance OpenInGoogleMaps; update version
0.0.6: August 18, 2014 - Add OpenInBlogsy; update version
0.0.3: August 10, 2014 - Refactor Gruntfile.js for efficiency & ‘DRY’; add package.json keywords; add OpenIniOctocat
0.0.2: August 8, 2014 - Bookmarklets have individual version numbers that update
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