commit 3f226f8d83fbadd9eb5303b48bb2102108926a25 Author: adman Date: Sun Nov 2 13:31:56 2025 +0100 Initial commit diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..602e8d0 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..5da975f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/strom.iml b/.idea/strom.iml new file mode 100644 index 0000000..5e764c4 --- /dev/null +++ b/.idea/strom.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..1f882a8 --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module strom + +replace github.com/admin-else/queser => ../queser + +go 1.24 diff --git a/main.go b/main.go new file mode 100644 index 0000000..493abc5 --- /dev/null +++ b/main.go @@ -0,0 +1,57 @@ +package main + +import ( + "io" + "log" + "net" +) + +func OnConnect(conn net.Conn) (err error) { + target, err := net.Dial("tcp", "127.0.0.1:25566") + if err != nil { + return + } + errChan := make(chan error) + go func() { + _, innerErr := io.Copy(target, conn) + errChan <- innerErr + }() + go func() { + _, innerErr := io.Copy(conn, target) + errChan <- innerErr + }() + return <-errChan +} + +func OnConnectWrapper(conn net.Conn) { + defer conn.Close() + err := OnConnect(conn) + if err != nil { + log.Println("Error: ", err) + } +} + +func startListener() (err error) { + var l net.Listener + l, err = net.Listen("tcp", ":25565") + if err != nil { + return + } + defer l.Close() + for { + var client net.Conn + client, err = l.Accept() + if err != nil { + break + } + go OnConnectWrapper(client) + } + return +} + +func main() { + err := startListener() + if err != nil { + panic(err) + } +}