/epichrome

An application and Chrome extension for creating web-based applications that work like standalone Mac apps.

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Epichrome icon Epichrome 2.3.4

Overview

Epichrome lets you create web-based Mac applications compatible with the full range of extensions available in the Chrome Web Store. It includes an extension to route links to your default browser.

Download the latest release here, and please check out the important notes below. If you find a bug or have a feature request, please submit it here.

How To Support Epichrome

Become a patron

Epichrome is open source and a labor of love, made possible by the generosity of our Patreon patrons. If you find it useful, please consider supporting its continued development by joining them!

Rock Star Patrons

Alan Latteri
Lyle Barrere
Jonathan Berger
Andrew Bonham
Buck Doyle
Lev Dubinets
Matt Fallshaw
Lanny Heidbreder
Eric Henderson
Ben Johnson
David Mankin
Gregory Morse
Alex Nauda
Alan Ogilvie
Orbital Impact
Rob Page
Matthew Scott
Samuel Talleux
Thorbergsson

New in version 2.3.4

  • The built-in engine has been updated to Brave 1.10.97.

  • The "Launch Now" button at the end of app creation works again after being broken in 2.3.3.

Check out the change log for the full list.

New in version 2.3

  • Epichrome has been completely rewritten for full compatibility with macOS 10.15 Catalina, including accessing the system microphone and camera from within apps and interacting with AppleScript.

  • A new built-in engine has been added, using the Chrome-compatible open source Brave Browser to allow more app-like behavior including better link-routing and custom icons on desktop notifications.

  • The welcome page that appears when apps are created or updated now gives useful contextual information and prompts for important actions like (re)installing extensions.

Important Notes

  • Do not use the "Automatically update Chrome for all users" option on Chrome's About page if you have any apps with the external Chrome engine (this includes all apps updated from earlier versions of Epichrome). This option will cause fatal errors in your apps. If your system contains the directory /Library/Google/GoogleSoftwareUpdate, then automatic updates are on. The surest way to disable it is by first deleting that directory (you'll need administrator privileges), then deleting Chrome and reinstalling the latest release from Google. In rare cases, you may also need to delete your user-specific directory at ~/Library/Google/GoogleSoftwareUpdate before running the reinstalled Chrome.

  • Don't click the "Update Now" button on the About Chrome page in your Epichrome apps. It might not actually do anything terrible, but it also won't do anything good.

  • It's a good idea to back up your Epichrome apps. You can right-click on an app in the Finder and select Compress. Then if anything goes wrong during an update, you can delete the app and double-click the zip archive to recreate it intact.

  • It's also a good idea to periodically backup your apps' data. You can do this the same way as backing up the apps. The path to an app's data is ~/Library/Application Support/Epichrome/Apps/<AppID>. In most cases, AppID will be a short version of the app's name, possible with a 3-digit number at the end (e.g. Gmail384).

Troubleshooting

If you're having trouble with an Epichrome app, please first check the troubleshooting guide.

Technical Information & Limitations

  • Built and tested on macOS Catalina 10.15.5 and Google Chrome version 83.0.4103.106.

  • Apps built with Epichrome are self-updating. If you install a new version of Epichrome on your system, the next time you run one of your apps, it will find the new version and ask if you want to update it.

  • It's not currently possible to "edit" an app. The simplest solution right now is to simply delete the app and create a new one with whatever changes you want. If you want, you can then move the old app's browser settings to the new app's data directory.

  • On certain websites, buttons (or other non-<A> tag items) open links. The way Chrome handles these, the helper extension doesn't currently catch them, so can't redirect them. I'm looking at ways around this, but for now such links just open in the app. If you're experiencing this, there's an issue where you can add your input.

Acknowledgements

  • The underlying SSB-creation and runtime engine were inspired by chrome-ssb-osx by lhl.

  • The built-in app engine is based on the open source Brave Browser, which is itself based on Chromium.

  • Epichrome apps are built using Platypus (also on GitHub) by sveinbjornt.

  • The icon-creation script makeicon.sh was inspired by Henry's comment on 12/20/2013 at 12:24 on this StackOverflow thread.

  • The idea for using an AppleScript interface came from a utility by Mait Vilbiks posted here.

  • Epichrome Helper uses jQuery and jQuery UI in its options page.

  • The javascript for Epichrome Helper is compressed using UglifyJS2, installed under node.js.

  • The app and extension icons are based on this image, purchased from dreamstime.com. ID 19584489 (c) Alexandr Mitiuc (Alexmit).