From 181ad3802cf53f745fed22d32871ef4fb54cccae Mon Sep 17 00:00:00 2001 From: Rylan Cates <86424520+rylancates@users.noreply.github.com> Date: Thu, 19 May 2022 03:00:42 -0400 Subject: [PATCH] feat: add partial Edge support (#122) --- Makefile | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 32 ++++++++++++++++++-------------- 2 files changed, 73 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 7e1374f..697210f 100644 --- a/Makefile +++ b/Makefile @@ -185,6 +185,33 @@ hosts-chrome-user: *) echo "The operating system $(OS) is not supported"; exit 1 ;; \ esac +.PHONY: hosts-edge +hosts-edge: + @case $(OS) in \ + # Linux) mkdir -p "/opt/microsoft/msedge/native-messaging-hosts/"; \ + # ln -sfv "$(LIB_DIR)/browserpass/hosts/chromium/$(APP_ID).json" "/opt/microsoft/msedge/native-messaging-hosts/$(APP_ID).json"; \ + # [ -e "/opt/microsoft/msedge/native-messaging-hosts/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + # ;; \ + # Darwin) mkdir -p "/Library/Google/Chrome/NativeMessagingHosts/"; \ + # ln -sfv "$(LIB_DIR)/browserpass/hosts/chromium/$(APP_ID).json" "/Library/Google/Chrome/NativeMessagingHosts/$(APP_ID).json"; \ + # [ -e "/Library/Google/Chrome/NativeMessagingHosts/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + # ;; \ + *) echo "The operating system $(OS) is not supported"; exit 1 ;; \ + esac + +.PHONY: hosts-edge-user +hosts-edge-user: + @case $(OS) in \ + Linux|*BSD) mkdir -p "$(XDG_CONFIG_HOME)/microsoft-edge/NativeMessagingHosts/"; \ + ln -sfv "$(LIB_DIR)/browserpass/hosts/chromium/$(APP_ID).json" "$(XDG_CONFIG_HOME)/microsoft-edge/NativeMessagingHosts/$(APP_ID).json"; \ + [ -e "$(XDG_CONFIG_HOME)/microsoft-edge/NativeMessagingHosts/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + ;; \ + # Darwin) mkdir -p "${HOME}/Library/Application Support/Google/Chrome/NativeMessagingHosts/"; \ + # ln -sfv "$(LIB_DIR)/browserpass/hosts/chromium/$(APP_ID).json" "${HOME}/Library/Application Support/Google/Chrome/NativeMessagingHosts/$(APP_ID).json"; \ + # [ -e "${HOME}/Library/Application Support/Google/Chrome/NativeMessagingHosts/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + # ;; \ + *) echo "The operating system $(OS) is not supported"; exit 1 ;; \ + .PHONY: hosts-vivaldi hosts-vivaldi: @case $(OS) in \ @@ -402,6 +429,34 @@ policies-chrome-user: *) echo "The operating system $(OS) is not supported"; exit 1 ;; \ esac +.PHONY: policies-edge +policies-edge: + @case $(OS) in \ + # Linux) mkdir -p "/etc/opt/chrome/policies/managed/"; \ + # ln -sfv "$(LIB_DIR)/browserpass/policies/chromium/$(APP_ID).json" "/etc/opt/chrome/policies/managed/$(APP_ID).json"; \ + # [ -e "/etc/opt/chrome/policies/managed/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + # ;; \ + # Darwin) mkdir -p "/Library/Google/Chrome/policies/managed/"; \ + # ln -sfv "$(LIB_DIR)/browserpass/policies/chromium/$(APP_ID).json" "/Library/Google/Chrome/policies/managed/$(APP_ID).json"; \ + # [ -e "/Library/Google/Chrome/policies/managed/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + # ;; \ + *) echo "The operating system $(OS) is not supported"; exit 1 ;; \ + esac + +.PHONY: policies-edge-user +policies-edge-user: + @case $(OS) in \ + # Linux|*BSD) mkdir -p "$(XDG_CONFIG_HOME)/microsoft-edge/policies/managed/"; \ + # ln -sfv "$(LIB_DIR)/browserpass/policies/chromium/$(APP_ID).json" "$(XDG_CONFIG_HOME)/microsoft-edge/policies/managed/$(APP_ID).json"; \ + # [ -e "$(XDG_CONFIG_HOME)/microsoft-edge/policies/managed/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + # ;; \ + # Darwin) mkdir -p "${HOME}/Library/Application Support/Google/Chrome/policies/managed/"; \ + # ln -sfv "$(LIB_DIR)/browserpass/policies/chromium/$(APP_ID).json" "${HOME}/Library/Application Support/Google/Chrome/policies/managed/$(APP_ID).json"; \ + # [ -e "${HOME}/Library/Application Support/Google/Chrome/policies/managed/$(APP_ID).json" ] || echo "Error: the symlink points to a non-existent location" >&2; \ + # ;; \ + *) echo "The operating system $(OS) is not supported"; exit 1 ;; \ + esac + .PHONY: policies-vivaldi policies-vivaldi: @case $(OS) in \ diff --git a/README.md b/README.md index d8f017e..43c4cae 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,7 @@ If you provided `PREFIX` and/or `DESTDIR` while running `make install`, remember | `make hosts-firefox-user` | Configure browserpass for Firefox browser, for the current user only | | `make hosts-librewolf-user`| Configure browserpass for Librewolf browser, for the current user only | | `make hosts-chrome-user` | Configure browserpass for Google Chrome or Opera browsers, for the current user only | +| `make hosts-edge-user` | Configure browserpass for Microsoft Edge browser, for the current user only | | `make hosts-brave-user` | Configure browserpass for Brave browser, for the current user only | | `make hosts-iridium-user` | Configure browserpass for Iridium browser, for the current user only | | `make hosts-vivaldi-user` | Configure browserpass for Vivaldi browser, for the current user only | @@ -175,6 +176,7 @@ If you provided `PREFIX` and/or `DESTDIR` while running `make install`, remember | `sudo make hosts-firefox` | Configure browserpass for Firefox browser, system-wide | | `sudo make hosts-librewolf`| Configure browserpass for Librewolf browser, system-wide | | `sudo make hosts-chrome` | Configure browserpass for Google Chrome or Opera browsers, system-wide | +| `sudo make hosts-edge` | Configure browserpass for Microsoft Edge browser, system-wide | | `sudo make hosts-brave` | Configure browserpass for Brave browser, system-wide | | `sudo make hosts-iridium` | Configure browserpass for Iridium browser, system-wide | | `sudo make hosts-vivaldi` | Configure browserpass for Vivaldi browser, system-wide | @@ -182,20 +184,22 @@ If you provided `PREFIX` and/or `DESTDIR` while running `make install`, remember In addition, Chromium-based browsers support the following `make` goals: -| Command | Description | -| ----------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `make policies-chromium-user` | Automatically install browser extension from Web Store for Chromium browser, for the current user only | -| `make policies-chrome-user` | Automatically install browser extension from Web Store for Google Chrome browser, for the current user only | -| `make policies-brave-user` | Automatically install browser extension from Web Store for Brave browser, for the current user only | -| `make policies-iridium-user` | Automatically install browser extension from Web Store for Iridium browser, for the current user only | -| `make policies-slimjet-user` | Automatically install browser extension from Web Store for Slimjet browser, for the current user only | -| `make policies-vivaldi-user` | Automatically install browser extension from Web Store for Vivaldi browser, for the current user only | -| `sudo make policies-chromium` | Automatically install browser extension from Web Store for Chromium browser, system-wide | -| `sudo make policies-chrome` | Automatically install browser extension from Web Store for Google Chrome browser, system-wide | -| `sudo make policies-brave` | Automatically install browser extension from Web Store for Brave browser, system-wide | -| `sudo make policies-iridium` | Automatically install browser extension from Web Store for Iridium browser, system-wide | -| `sudo make policies-slimjet` | Automatically install browser extension from Web Store for Slimjet browser, system-wide | -| `sudo make policies-vivaldi` | Automatically install browser extension from Web Store for Vivaldi browser, system-wide | +| Command | Description | +| ----------------------------- | ------------------------------------------------------------------------------------------------------------ | +| `make policies-chromium-user` | Automatically install browser extension from Web Store for Chromium browser, for the current user only | +| `make policies-chrome-user` | Automatically install browser extension from Web Store for Google Chrome browser, for the current user only | +| `make policies-edge-user` | Automatically install browser extension from Web Store for Microsoft Edge browser, for the current user only | +| `make policies-brave-user` | Automatically install browser extension from Web Store for Brave browser, for the current user only | +| `make policies-iridium-user` | Automatically install browser extension from Web Store for Iridium browser, for the current user only | +| `make policies-slimjet-user` | Automatically install browser extension from Web Store for Slimjet browser, for the current user only | +| `make policies-vivaldi-user` | Automatically install browser extension from Web Store for Vivaldi browser, for the current user only | +| `sudo make policies-chromium` | Automatically install browser extension from Web Store for Chromium browser, system-wide | +| `sudo make policies-chrome` | Automatically install browser extension from Web Store for Google Chrome browser, system-wide | +| `sudo make policies-edge` | Automatically install browser extension from Web Store for Microsoft Edge browser, system-wide | +| `sudo make policies-brave` | Automatically install browser extension from Web Store for Brave browser, system-wide | +| `sudo make policies-iridium` | Automatically install browser extension from Web Store for Iridium browser, system-wide | +| `sudo make policies-slimjet` | Automatically install browser extension from Web Store for Slimjet browser, system-wide | +| `sudo make policies-vivaldi` | Automatically install browser extension from Web Store for Vivaldi browser, system-wide | ## Building the app