// Copyright (c) 2022 Proton AG // // This file is part of Proton Mail Bridge.Bridge. // // Proton Mail Bridge is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Proton Mail Bridge is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Proton Mail Bridge. If not, see . // Package constants contains variables that are set via ldflags during build. package constants import ( "fmt" "runtime" "golang.org/x/text/cases" "golang.org/x/text/language" ) const VendorName = "protonmail" //nolint:gochecknoglobals var ( // Full app name (to show to the user). FullAppName = "" // ConfigName determines the name of the location where bridge stores config files. ConfigName = "bridge" // UpdateName is the name of the product appearing in the update URL. UpdateName = "bridge" // KeyChainName is the name of the entry in the OS keychain. KeyChainName = "bridge" // Version of the build. Version = "2.3.0+git" // AppVersion is the full rendered version of the app (to be used in request headers). AppVersion = getAPIOS() + cases.Title(language.Und).String(ConfigName) + "_" + Version // Revision is current hash of the build. Revision = "" // BuildTime stamp of the build. BuildTime = "" // BuildVersion is derived from LongVersion and BuildTime. BuildVersion = fmt.Sprintf("%v (%v) %v", Version, Revision, BuildTime) // DSNSentry client keys to be able to report crashes to Sentry. DSNSentry = "" // APIHost is our API address. APIHost = "https://api.protonmail.ch" // The host name of the bridge server. Host = "127.0.0.1" ) func getAPIOS() string { switch runtime.GOOS { case "darwin": return "macOS" case "linux": return "Linux" case "windows": return "Windows" default: return "Linux" } }