From e1fc52aabdefa4f2495f65ebdf7135433807d3ea Mon Sep 17 00:00:00 2001 From: CodeShell <122738806+CodeShellDev@users.noreply.github.com> Date: Sat, 20 Sep 2025 12:53:47 +0200 Subject: [PATCH 1/4] update banner name --- .github/templates/README.template.md | 2 +- logo/{landscape => banner.png} | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename logo/{landscape => banner.png} (100%) diff --git a/.github/templates/README.template.md b/.github/templates/README.template.md index 0ec58f5..af271ef 100644 --- a/.github/templates/README.template.md +++ b/.github/templates/README.template.md @@ -1,4 +1,4 @@ -Secure Proxy for Signal REST API +Secure Proxy for Signal REST API

Secure Proxy for Signal Messenger REST API

diff --git a/logo/landscape b/logo/banner.png similarity index 100% rename from logo/landscape rename to logo/banner.png From f073bac308de8a35ad2e634f500b5195669814d6 Mon Sep 17 00:00:00 2001 From: CodeShell <122738806+CodeShellDev@users.noreply.github.com> Date: Sat, 20 Sep 2025 13:05:35 +0200 Subject: [PATCH 2/4] updated defaults location --- Dockerfile | 3 ++- {config => data}/defaults.yml | 0 2 files changed, 2 insertions(+), 1 deletion(-) rename {config => data}/defaults.yml (100%) diff --git a/Dockerfile b/Dockerfile index a8f6c15..d502b8a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,8 @@ RUN apk --no-cache add ca-certificates ENV SERVER__PORT=8880 -ENV DEFAULTS_PATH=/app/config/defaults.yml +ENV DEFAULTS_PATH=/app/data/defaults.yml +ENV FAVICON_PATH=/app/data/favicon.ico ENV CONFIG_PATH=/config/config.yml ENV TOKENS_DIR=/config/tokens diff --git a/config/defaults.yml b/data/defaults.yml similarity index 100% rename from config/defaults.yml rename to data/defaults.yml From 6ef009e405ec77291833f8f8c4248ff4d145daf8 Mon Sep 17 00:00:00 2001 From: CodeShell <122738806+CodeShellDev@users.noreply.github.com> Date: Sat, 20 Sep 2025 13:13:56 +0200 Subject: [PATCH 3/4] added favicon --- data/favicon.ico | Bin 0 -> 92478 bytes internals/proxy/middlewares/server.go | 23 +++++++++++++++++++++++ internals/proxy/proxy.go | 2 +- main.go | 26 +++++++++++++++----------- utils/config/loader.go | 2 ++ 5 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 data/favicon.ico create mode 100644 internals/proxy/middlewares/server.go diff --git a/data/favicon.ico b/data/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d23ee4281c756ca6417957e127079d38447ff34c GIT binary patch literal 92478 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 W-SmGq^YPYvJT@P%&Bt@|@&5md1%C_x literal 0 HcmV?d00001 diff --git a/internals/proxy/middlewares/server.go b/internals/proxy/middlewares/server.go new file mode 100644 index 0000000..b0ae44b --- /dev/null +++ b/internals/proxy/middlewares/server.go @@ -0,0 +1,23 @@ +package middlewares + +import ( + "net/http" + + "github.com/codeshelldev/secured-signal-api/utils/config" +) + +type ServeMiddleware struct { + Next http.Handler +} + +func (data ServeMiddleware) Use() http.Handler { + mux := http.NewServeMux() + + mux.HandleFunc("/favicon.ico", func(w http.ResponseWriter, req *http.Request) { + http.ServeFile(w, req, config.ENV.FAVICON_PATH) + }) + + mux.Handle("/", data.Next) + + return mux +} \ No newline at end of file diff --git a/internals/proxy/proxy.go b/internals/proxy/proxy.go index e99c01c..ca554fc 100644 --- a/internals/proxy/proxy.go +++ b/internals/proxy/proxy.go @@ -11,4 +11,4 @@ func Create(targetUrl string) *httputil.ReverseProxy { proxy := httputil.NewSingleHostReverseProxy(url) return proxy -} +} \ No newline at end of file diff --git a/main.go b/main.go index da4c76a..619b203 100644 --- a/main.go +++ b/main.go @@ -12,7 +12,7 @@ import ( log "github.com/codeshelldev/secured-signal-api/utils/logger" ) -var initHandler *httputil.ReverseProxy +var proxy_last *httputil.ReverseProxy var ENV *config.ENV_ @@ -31,26 +31,30 @@ func main() { log.Info("Initialized Logger with Level of ", log.Level()) - initHandler = proxy.Create(ENV.API_URL) + proxy_last = proxy.Create(ENV.API_URL) - body_m4 := middlewares.BodyMiddleware{ - Next: initHandler, + body_m5 := middlewares.BodyMiddleware{ + Next: proxy_last, } - temp_m3 := middlewares.TemplateMiddleware{ - Next: body_m4.Use(), + temp_m4 := middlewares.TemplateMiddleware{ + Next: body_m5.Use(), } - endp_m2 := middlewares.EndpointsMiddleware{ - Next: temp_m3.Use(), + endp_m3 := middlewares.EndpointsMiddleware{ + Next: temp_m4.Use(), } - auth_m1 := middlewares.AuthMiddleware{ - Next: endp_m2.Use(), + auth_m2 := middlewares.AuthMiddleware{ + Next: endp_m3.Use(), + } + + serv_m1 := middlewares.ServeMiddleware{ + Next: auth_m2.Use(), } log_m0 := middlewares.LogMiddleware{ - Next: auth_m1.Use(), + Next: serv_m1.Use(), } log.Info("Initialized Proxy Handler") diff --git a/utils/config/loader.go b/utils/config/loader.go index 64253b5..ea0b746 100644 --- a/utils/config/loader.go +++ b/utils/config/loader.go @@ -17,6 +17,7 @@ import ( type ENV_ struct { CONFIG_PATH string DEFAULTS_PATH string + FAVICON_PATH string TOKENS_DIR string LOG_LEVEL string PORT string @@ -37,6 +38,7 @@ var ENV *ENV_ = &ENV_{ CONFIG_PATH: os.Getenv("CONFIG_PATH"), DEFAULTS_PATH: os.Getenv("DEFAULTS_PATH"), TOKENS_DIR: os.Getenv("TOKENS_DIR"), + FAVICON_PATH: os.Getenv("FAVICON_PATH"), API_TOKENS: []string{}, SETTINGS: map[string]*SETTING_{ From 1ab22238a52ce36ce32ea49b08e63d223fa7d45b Mon Sep 17 00:00:00 2001 From: CodeShell <122738806+CodeShellDev@users.noreply.github.com> Date: Sat, 20 Sep 2025 13:15:02 +0200 Subject: [PATCH 4/4] update --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index 619b203..4cf1eff 100644 --- a/main.go +++ b/main.go @@ -57,7 +57,7 @@ func main() { Next: serv_m1.Use(), } - log.Info("Initialized Proxy Handler") + log.Info("Initialized Middlewares") addr := "0.0.0.0:" + ENV.PORT