From fc3a381d0054f36f760580d885ad8eba02f4c8ba Mon Sep 17 00:00:00 2001 From: Lukasz Janyst Date: Sat, 1 Jan 2022 15:57:02 +0100 Subject: [PATCH] cleanup: Re-add the main bridge app --- cmd/peroxide/main.go | 74 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 cmd/peroxide/main.go diff --git a/cmd/peroxide/main.go b/cmd/peroxide/main.go new file mode 100644 index 0000000..4a6a855 --- /dev/null +++ b/cmd/peroxide/main.go @@ -0,0 +1,74 @@ +// Copyright (c) 2021 Proton Technologies AG +// +// This file is part of ProtonMail Bridge. +// +// ProtonMail 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. +// +// ProtonMail 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 ProtonMail Bridge. If not, see . + +package main + +/* + ___....___ + ^^ __..-:'':__:..:__:'':-..__ + _.-:__:.-:'': : : :'':-.:__:-._ + .':.-: : : : : : : : : :._:'. + _ :.': : : : : : : : : : : :'.: _ + [ ]: : : : : : : : : : : : : :[ ] + [ ]: : : : : : : : : : : : : :[ ] + :::::::::[ ]:__:__:__:__:__:__:__:__:__:__:__:__:__:[ ]::::::::::: + !!!!!!!!![ ]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![ ]!!!!!!!!!!! + ^^^^^^^^^[ ]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[ ]^^^^^^^^^^^ + [ ] [ ] + [ ] [ ] + jgs [ ] [ ] + ~~^_~^~/ \~^-~^~ _~^-~_^~-^~_^~~-^~_~^~-~_~-^~_^/ \~^ ~~_ ^ +*/ + +import ( + "os" + + "github.com/ljanyst/peroxide/pkg/app/base" + "github.com/ljanyst/peroxide/pkg/app/bridge" + "github.com/sirupsen/logrus" +) + +const ( + appName = "ProtonMail Bridge" + appUsage = "ProtonMail IMAP and SMTP Bridge" + configName = "bridge" + updateURLName = "bridge" + keychainName = "bridge" + cacheVersion = "c11" +) + +func main() { + base, err := base.New( + appName, + appUsage, + configName, + updateURLName, + keychainName, + cacheVersion, + ) + if err != nil { + logrus.WithError(err).Fatal("Failed to create app base") + } + // Other instance already running. + if base == nil { + return + } + + if err := bridge.New(base).Run(os.Args); err != nil { + logrus.WithError(err).Fatal("Bridge exited with error") + } +}