From c602844727efd5a6239c306d8b91d27676bb8e22 Mon Sep 17 00:00:00 2001 From: Caleb Gardner Date: Wed, 24 Jun 2026 01:23:51 -0500 Subject: [PATCH] Added tcp forwarding for gitea --- go.mod | 1 + go.sum | 3 +++ main.go | 17 +++++++++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index b0815f0..f0dc027 100644 --- a/go.mod +++ b/go.mod @@ -14,6 +14,7 @@ require ( require ( github.com/dlclark/regexp2 v1.11.5-0.20240806004527-5bbbed8ea10b // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/inetaf/tcpproxy v0.0.0-20260515195445-c159a6051109 // indirect github.com/klauspost/compress v1.17.11 // indirect github.com/montanaflynn/stats v0.7.1 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect diff --git a/go.sum b/go.sum index d4924a4..da3f31f 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,6 @@ github.com/CalebQ42/bbConvert v1.0.7 h1:dJh6S7lliotdQvcXrMbtBo4p8Afwe295/XvnKP0oj7E= github.com/CalebQ42/bbConvert v1.0.7/go.mod h1:UBFqtgZWSm9v/2Kl4NJDmgdSzEBZDkgON3QKoVOBC6Q= +github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a/go.mod h1:QmP9hvJ91BbJmGVGSbutW19IC0Q9phDCLGaomwTJbgU= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dlclark/regexp2 v1.11.5-0.20240806004527-5bbbed8ea10b h1:AJKOdc+1fRSJ0/75Jty1npvxUUD0y7hQDg15LMAHhyU= @@ -13,6 +14,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/inetaf/tcpproxy v0.0.0-20260515195445-c159a6051109 h1:H3ztMPCBcyG60Ks0plTncU3Vs6jIrxhn3nEThpMEpo4= +github.com/inetaf/tcpproxy v0.0.0-20260515195445-c159a6051109/go.mod h1:Di7LXRyUcnvAcLicFhtM9/MlZl/TNgRSDHORM2c6CMI= github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/lithammer/shortuuid/v3 v3.0.7 h1:trX0KTHy4Pbwo/6ia8fscyHoGA+mf1jWbPJVuvyJQQ8= diff --git a/main.go b/main.go index 57b6163..76c250f 100644 --- a/main.go +++ b/main.go @@ -19,6 +19,7 @@ import ( "github.com/CalebQ42/darkstorm-server/internal/blog" "github.com/CalebQ42/darkstorm-server/internal/cdr" "github.com/CalebQ42/darkstorm-server/internal/swassistant" + "github.com/inetaf/tcpproxy" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) @@ -48,10 +49,16 @@ func main() { } if !*testing { go func() { - log.Println("error redirecting http traffice:", + log.Println("error redirecting http traffic:", http.ListenAndServe(":80", http.RedirectHandler("https://darkstorm.tech", http.StatusPermanentRedirect))) }() } + proxy, err := setupTCPForward() + if err != nil { + log.Println("error setting up tcp proxy:", err) + } else { + defer proxy.Close() + } mux := http.NewServeMux() setupMongo(*mongoURL) setupBackend(mux) @@ -60,7 +67,6 @@ func main() { Addr: *addr, Handler: mux, } - var err error if *testing { err = serv.ListenAndServe() } else { @@ -69,6 +75,13 @@ func main() { log.Println("webserver closed:", err) } +func setupTCPForward() (*tcpproxy.Proxy, error) { + var proxy tcpproxy.Proxy + proxy.AddRoute(":22", tcpproxy.To(":2222")) + err := proxy.Start() + return &proxy, err +} + func setupMongo(uri string) { if !*testing { var err error