Skip to content

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

License

Notifications You must be signed in to change notification settings

dmarmor/epichrome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epichrome icon Epichrome 2.4.27 (NO LONGER BEING UPDATED)

IMPORTANT NOTE

I'm sad to announce I have ended development of Epichrome.

After more than five years of development, I no longer had time to do the major work that would have been needed to keep Epichrome working with coming changes to macOS and the Chrome extension ecosystem.

Version 2.4.27 is the final update, and I no longer be staying current with the Brave browser engine. If you rely on Epichrome for your workflow, you should switch to an alternative as soon as possible to minimize disruption. There are many options out there, each with their own pros and cons, including WebCatalog (my personal favorite, and the one I switched my own apps to), Chromeless, Flotato, Unite, and Coherence.

If you are a developer with the skills and interest to resurrect this project, please contact me. I would still love to find a good home for Epichrome.

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.

Epichrome Supporters

Epichrome is open source and has been a labor of love, made possible by the generosity of our Patreon patrons. I can't thank you all enough!

Rock Star Patrons

Alan Latteri Lyle Barrere Jonathan Berger
Andrew Bonham Buck Doyle Lev Dubinets
Matt Fallshaw Lanny Heidbreder Eric Henderson
Scott Irwin Ben Johnson David Mankin
Gregory Morse Alex Nauda Alan Ogilvie
Rob Page Jeff Poulton Scott Richins
Matthew Scott André Srinivasan Samuel Talleux
Adam Tarnoff Thorbergsson hellot vincent

New in version 2.4.27

  • 💔 FINAL VERSION OF EPICHROME -- there will be no more updates after this

  • Built-in engine updated to Brave 1.33.106

Fixed in version 2.4.27

  • Worked around removal of PHP in macOS 12 (Monterey) by changing PHP calls so users can try to limp by with a local PHP install

Check out the change log for the full list.

New in version 2.4

  • Apps are now fully compatible with macOS 11 Big Sur

  • Epichrome apps can now be edited by dropping them on Epichrome.app!

  • Major update to icons, including automatic downloading of icons based on an app's URL, icon preview during the creation process, and an interface for creating Big Sur-compatible icons

  • Added advanced settings during app creation and editing to control how apps handle updates, and to customize their IDs

  • New unified app engine architecture for better compatibility with the dock, notifications, and other system services

  • Apps are now automatically backed up whenever they're edited or updated (in the Backups subfolder of the app's data directory)

  • Progress bars now appear during lengthy operations such as updating an app

  • Added a login scan to restore apps left in an unlaunchable state after a crash, and Epichrome Scan.app to do the same manually

  • Checking GitHub for updates is now unified across all apps so when a new update is found, you will only receive one notification, which will display info on changes in the new version

  • Both the GitHub update notification and the app update prompt now show info on changes in the new version

  • Many more improvements and bug fixes... (See change log for details)

Note For Users of macOS 12 or Later

Icon creation in Epichrome relies on PHP, which has been removed from macOS as of version 12 (Monterey). It is still possible to make it work by installing your own php 7.3 via homebrew. It must be installed into the exact path specified in these instructions:

  1. Edit the formula for [email protected] to allow installation of a versioned formula:
> brew edit [email protected]

This will open the formula in your default editor. Find and remove the line that looks like this:

disable! date: "XXXX-XX-XX", because: :versioned_formula

Then save and quit the editor.

  1. Install php 7.3:
> brew install [email protected]
  1. Link php 7.3 to /usr/local/bin/[email protected] (it is crucial the php binary is at this exact path and has this exact name:
> ln -s /usr/local/opt/[email protected]/bin/php /usr/local/bin/[email protected]

(Note that if you have set up homebrew to install to somewhere other than /usr/local/opt you will need to alter this command to compensate for that.)

Now Epichrome 2.4.27 should be able to auto-create icons on macOS 12.

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 Monterey 12.1 and Google Chrome version 96.0.4664.110.

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

  • Apps can be edited by dropping them on Epichrome.app, or by running Epichrome.app and clicking the Edit button in the first dialog.

  • 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).