diff --git a/README.md b/README.md index 04aff154..96cb3f6d 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,7 @@ temp-path | path to temp folder | system temp | TEMP_PATH | web-path | path to static web files (for development or custom front end) | | WEB_PATH | proxy-path | path prefix when service is run behind a proxy | | PROXY_PATH | proxy-port | port of the proxy when the service is run behind a proxy | | PROXY_PORT | +email-contact | email contact for the front end | | EMAIL_CONTACT | ga-key | google analytics key for the front end | | GA_KEY | provider | which storage provider to use | (s3, storj, gdrive or local) | uservoice-key | user voice key for the front end | | USERVOICE_KEY | diff --git a/cmd/cmd.go b/cmd/cmd.go index cb8892e5..1f9fd888 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -98,6 +98,12 @@ var globalFlags = []cli.Flag{ Value: "", EnvVar: "PROXY_PORT", }, + cli.StringFlag{ + Name: "email-contact", + Usage: "email address to link in Contact Us (front end)", + Value: "", + EnvVar: "EMAIL_CONTACT", + }, cli.StringFlag{ Name: "ga-key", Usage: "key for google analytics (front end)", @@ -348,6 +354,10 @@ func New() *Cmd { options = append(options, server.ProxyPort(v)) } + if v := c.String("email-contact"); v != "" { + options = append(options, server.EmailContact(v)) + } + if v := c.String("ga-key"); v != "" { options = append(options, server.GoogleAnalytics(v)) } diff --git a/flake.nix b/flake.nix index be1035d0..2db0c682 100644 --- a/flake.nix +++ b/flake.nix @@ -51,6 +51,7 @@ proxy-path = mkOption { type = types.nullOr types.str; description = "path prefix when service is run behind a proxy"; }; proxy-port = mkOption { type = types.nullOr types.str; description = "port of the proxy when the service is run behind a proxy"; }; ga-key = mkOption { type = types.nullOr types.str; description = "google analytics key for the front end"; }; + email-contact = mkOption { type = types.nullOr types.str; description = "email contact for the front end"; }; uservoice-key = mkOption { type = types.nullOr types.str; description = "user voice key for the front end"; }; lets-encrypt-hosts = mkOption { type = types.nullOr (types.listOf types.str); description = "hosts to use for lets encrypt certificates"; }; log = mkOption { type = types.nullOr types.str; description = "path to log file"; }; diff --git a/go.mod b/go.mod index dd15a36e..a9d7eaea 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect github.com/dutchcoders/go-clamd v0.0.0-20170520113014-b970184f4d9e github.com/dutchcoders/go-virustotal v0.0.0-20140923143438-24cc8e6fa329 - github.com/dutchcoders/transfer.sh-web v0.0.0-20210819203540-bbdd40be1311 + github.com/dutchcoders/transfer.sh-web v0.0.0-20211215083008-31e11925a9d3 github.com/elazarl/go-bindata-assetfs v1.0.1 github.com/fatih/color v1.10.0 github.com/garyburd/redigo v1.6.2 // indirect diff --git a/go.sum b/go.sum index 52076e37..a548c7d3 100644 --- a/go.sum +++ b/go.sum @@ -88,6 +88,8 @@ github.com/dutchcoders/transfer.sh-web v0.0.0-20210723094506-f0946ebceb7a h1:+N7 github.com/dutchcoders/transfer.sh-web v0.0.0-20210723094506-f0946ebceb7a/go.mod h1:F6Q37CxDh2MHr5KXkcZmNB3tdkK7v+bgE+OpBY+9ilI= github.com/dutchcoders/transfer.sh-web v0.0.0-20210819203540-bbdd40be1311 h1:/Rwuhcp8ZLUauWajAgMyy6AiVbobvD52I+/OnzThK0A= github.com/dutchcoders/transfer.sh-web v0.0.0-20210819203540-bbdd40be1311/go.mod h1:F6Q37CxDh2MHr5KXkcZmNB3tdkK7v+bgE+OpBY+9ilI= +github.com/dutchcoders/transfer.sh-web v0.0.0-20211215083008-31e11925a9d3 h1:HyfU90/8y9S5IkHTQgIfzs4dT3iagbJUJLncCsSwZCI= +github.com/dutchcoders/transfer.sh-web v0.0.0-20211215083008-31e11925a9d3/go.mod h1:F6Q37CxDh2MHr5KXkcZmNB3tdkK7v+bgE+OpBY+9ilI= github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE03qmvRTNfbw= github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= diff --git a/server/handlers.go b/server/handlers.go index e208d1b0..921313ee 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -253,6 +253,7 @@ func (s *Server) viewHandler(w http.ResponseWriter, r *http.Request) { data := struct { Hostname string WebAddress string + EmailContact string GAKey string UserVoiceKey string PurgeTime string @@ -262,6 +263,7 @@ func (s *Server) viewHandler(w http.ResponseWriter, r *http.Request) { }{ hostname, webAddress, + s.emailContact, s.gaKey, s.userVoiceKey, purgeTime, diff --git a/server/server.go b/server/server.go index 90d66e63..3d55e0c9 100644 --- a/server/server.go +++ b/server/server.go @@ -99,6 +99,13 @@ func CorsDomains(s string) OptionFn { } +// EmailContact sets email contact +func EmailContact(emailContact string) OptionFn { + return func(srvr *Server) { + srvr.emailContact = emailContact + } +} + // GoogleAnalytics sets GA key func GoogleAnalytics(gaKey string) OptionFn { return func(srvr *Server) { @@ -339,6 +346,7 @@ type Server struct { webPath string proxyPath string proxyPort string + emailContact string gaKey string userVoiceKey string