From e766aacb0c05985ff477b0699bb204cb94dcfcd9 Mon Sep 17 00:00:00 2001 From: Vanja Cvelbar Date: Thu, 27 Jun 2024 11:23:36 +0200 Subject: [PATCH 1/3] [ENHANCEMENT] Added FreeBSD support Added a first implemetation for the FreeBSD support Signed-off-by: Vanja Cvelbar --- Makefile | 3 +++ .../jsonapi/manifest/manifest_path_freebsd.go | 22 +++++++++++++++++++ .../jsonapi/manifest/manifest_path_others.go | 4 ++-- 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 internal/jsonapi/manifest/manifest_path_freebsd.go diff --git a/Makefile b/Makefile index 4b96e2f..35e047c 100644 --- a/Makefile +++ b/Makefile @@ -88,6 +88,9 @@ crosscompile: @echo -n ">> CROSSCOMPILE darwin/amd64" @GOOS=darwin GOARCH=amd64 $(GO) build -o $(GOPASS_OUTPUT)-darwin-amd64 @printf '%s\n' '$(OK)' + @echo -n ">> CROSSCOMPILE freebsd/amd64" + @GOOS=freebsd GOARCH=amd64 $(GO) build -o $(GOPASS_OUTPUT)-freebsd-amd64 + @printf '%s\n' '$(OK)' @echo -n ">> CROSSCOMPILE windows/amd64" @GOOS=windows GOARCH=amd64 $(GO) build -o $(GOPASS_OUTPUT)-windows-amd64 @printf '%s\n' '$(OK)' diff --git a/internal/jsonapi/manifest/manifest_path_freebsd.go b/internal/jsonapi/manifest/manifest_path_freebsd.go new file mode 100644 index 0000000..009ecb4 --- /dev/null +++ b/internal/jsonapi/manifest/manifest_path_freebsd.go @@ -0,0 +1,22 @@ +package manifest + +var manifestPaths = &manifestPath{ + local: map[string]string{ + "firefox": "~/.mozilla/native-messaging-hosts", + "chrome": "~/.config/google-chrome/NativeMessagingHosts", + "chromium": "~/.config/chromium/NativeMessagingHosts", + // "brave": "~/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts", + // "vivaldi": "~/.config/vivaldi/NativeMessagingHosts", + "iridium": "~/.config/iridium/NativeMessagingHosts", + // "slimjet": "~/.config/slimjet/NativeMessagingHosts", + }, + global: map[string]string{ + "firefox": "/usr/local/lib/mozilla/native-messaging-hosts", + "chrome": "/usr/local/lib/chrome/native-messaging-hosts", + "chromium": "/usr/local/lib/chromium/native-messaging-hosts", + // "brave": "/usr/local/lib/chrome/native-messaging-hosts", + // "vivaldi": "/usr/local/lib/vivaldi/native-messaging-hosts", + "iridium": "/usr/local/lib/iridium-browser/native-messaging-hosts", + // "slimjet": "/usr/local/lib/slimjet/native-messaging-hosts", + }, +} diff --git a/internal/jsonapi/manifest/manifest_path_others.go b/internal/jsonapi/manifest/manifest_path_others.go index 90be8ed..ff63611 100644 --- a/internal/jsonapi/manifest/manifest_path_others.go +++ b/internal/jsonapi/manifest/manifest_path_others.go @@ -1,5 +1,5 @@ -//go:build !linux && !darwin -// +build !linux,!darwin +//go:build !linux && !darwin && !freebsd +// +build !linux,!darwin, !freebsd package manifest From d8a7f86d5daeab382ef4ff607f09ce0b5cafcea7 Mon Sep 17 00:00:00 2001 From: Vanja Cvelbar Date: Thu, 26 Sep 2024 07:56:53 +0200 Subject: [PATCH 2/3] Update internal/jsonapi/manifest/manifest_path_others.go Co-authored-by: AnomalRoil Signed-off-by: Vanja Cvelbar --- internal/jsonapi/manifest/manifest_path_others.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/jsonapi/manifest/manifest_path_others.go b/internal/jsonapi/manifest/manifest_path_others.go index ff63611..3157db9 100644 --- a/internal/jsonapi/manifest/manifest_path_others.go +++ b/internal/jsonapi/manifest/manifest_path_others.go @@ -1,5 +1,5 @@ //go:build !linux && !darwin && !freebsd -// +build !linux,!darwin, !freebsd +// +build !linux,!darwin,!freebsd package manifest From e35193f24ad1c47cd07acd5534f79c36d42735a4 Mon Sep 17 00:00:00 2001 From: Seyed Pouria Mousavizadeh Tehrani Date: Thu, 9 Jan 2025 14:44:15 +0330 Subject: [PATCH 3/3] browser: add ungoogled-chromium for FreeBSD --- internal/jsonapi/manifest/manifest.go | 2 ++ internal/jsonapi/manifest/manifest_path_freebsd.go | 8 ++------ internal/jsonapi/manifest/setup_test.go | 2 ++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/jsonapi/manifest/manifest.go b/internal/jsonapi/manifest/manifest.go index 6d989a9..2772598 100644 --- a/internal/jsonapi/manifest/manifest.go +++ b/internal/jsonapi/manifest/manifest.go @@ -37,6 +37,8 @@ func renaderManifestContent(browser, wrapperPath string) ([]byte, error) { fallthrough case "chromium": return newChromeManifest(wrapperPath).Format() + case "ungoogled-chromium": + return newChromeManifest(wrapperPath).Format() default: return nil, fmt.Errorf("no manifest template for browser %s", browser) } diff --git a/internal/jsonapi/manifest/manifest_path_freebsd.go b/internal/jsonapi/manifest/manifest_path_freebsd.go index 009ecb4..4bb22cf 100644 --- a/internal/jsonapi/manifest/manifest_path_freebsd.go +++ b/internal/jsonapi/manifest/manifest_path_freebsd.go @@ -5,18 +5,14 @@ var manifestPaths = &manifestPath{ "firefox": "~/.mozilla/native-messaging-hosts", "chrome": "~/.config/google-chrome/NativeMessagingHosts", "chromium": "~/.config/chromium/NativeMessagingHosts", - // "brave": "~/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts", - // "vivaldi": "~/.config/vivaldi/NativeMessagingHosts", + "ungoogled-chromium": "~/.config/ungoogled-chromium/NativeMessagingHosts", "iridium": "~/.config/iridium/NativeMessagingHosts", - // "slimjet": "~/.config/slimjet/NativeMessagingHosts", }, global: map[string]string{ "firefox": "/usr/local/lib/mozilla/native-messaging-hosts", "chrome": "/usr/local/lib/chrome/native-messaging-hosts", "chromium": "/usr/local/lib/chromium/native-messaging-hosts", - // "brave": "/usr/local/lib/chrome/native-messaging-hosts", - // "vivaldi": "/usr/local/lib/vivaldi/native-messaging-hosts", + "ungoogled-chromium": "/usr/local/lib/ungoogled-chromium/native-messaging-hosts", "iridium": "/usr/local/lib/iridium-browser/native-messaging-hosts", - // "slimjet": "/usr/local/lib/slimjet/native-messaging-hosts", }, } diff --git a/internal/jsonapi/manifest/setup_test.go b/internal/jsonapi/manifest/setup_test.go index b4643b0..301d25a 100644 --- a/internal/jsonapi/manifest/setup_test.go +++ b/internal/jsonapi/manifest/setup_test.go @@ -59,6 +59,8 @@ func TestValidBrowsers(t *testing.T) { validBrowsers = []string{"chrome", "chromium", "firefox"} case "linux": // Linux validBrowsers = []string{"brave", "chrome", "chromium", "firefox", "iridium", "slimjet", "vivaldi"} + case "freebsd": // FreeBSD + validBrowsers = []string{"chrome", "chromium", "ungoogled-chromium", "firefox", "iridium"} default: // Fallback, not suppoerted OS t.Fatalf("Unsupported OS: %s", runtime.GOOS) }