OpenInlets

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.

version Codacy Badge GitHub Super-Linter CodeQL NodeJS with Grunt

Installation

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.

JavaScript Bookmarks

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.

URL-based Setup

Tap a link below. Follow the instructions on the resulting page to turn the followed link into a bookmark for JavaScript bookmarklet.

Requirements

Notes

Bookmarklets do not work in Google Chrome, Ghostery and DuckDuckGo iOS apps due to restrictions of those apps on javascript: URL bookmarks.

License

MIT License - http://opensource.org/licenses/mit-license.php

Source Code Notes

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.

  1. It prevents the browser from navigating to another page when the bookmark is used.
  2. It is a convenient place to embed a string indicating the semver version of the bookmark.

Build

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.

URL Scheme Notes (References)

Each bookmarklet does some rudimentary check and then redirects to an app using a URL protocol scheme.

Version Notes

3.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