mirror of
https://github.com/onyx-and-iris/q3rcon-proxy.git
synced 2025-04-20 04:23:48 +01:00
Compare commits
2 Commits
2b7af34457
...
a3219e63c2
Author | SHA1 | Date | |
---|---|---|---|
a3219e63c2 | |||
ceb87e14fd |
@ -13,7 +13,7 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass
|
||||
|
||||
## [0.1.0] - 2024-01-27
|
||||
|
||||
- ignore any packets whose header does match a q3 rcon/query packet.
|
||||
- only forward packets if the header matches q3 rcon/query.
|
||||
|
||||
## [0.0.1] - 2024-01-27
|
||||
|
||||
|
@ -1,83 +0,0 @@
|
||||
package udpproxy
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestSendAndReceive(t *testing.T) {
|
||||
go runLilProxy()
|
||||
go runUDPServer()
|
||||
|
||||
paddr, err := net.ResolveUDPAddr("udp", "localhost:9000")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
conn, err := net.DialUDP("udp", nil, paddr)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
go func() {
|
||||
for {
|
||||
buf := make([]byte, 2048)
|
||||
_, _, err = conn.ReadFromUDP(buf)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
log.Printf("response received: %s", string(buf))
|
||||
}
|
||||
}()
|
||||
|
||||
for {
|
||||
time.Sleep(1 * time.Second)
|
||||
_, err = conn.Write([]byte("hi\n"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func runLilProxy() {
|
||||
port := ":9000"
|
||||
target := "localhost:9001"
|
||||
|
||||
c, err := New(port, target)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
log.Fatal(c.ListenAndServe())
|
||||
}
|
||||
|
||||
func runUDPServer() {
|
||||
taddr, err := net.ResolveUDPAddr("udp", ":9001")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
conn, err := net.ListenUDP("udp", taddr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
for {
|
||||
buf := make([]byte, 2048)
|
||||
_, caddr, err := conn.ReadFromUDP(buf)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
log.Printf("request received: %s", string(buf))
|
||||
|
||||
_, err = conn.WriteToUDP([]byte("bye\n"), caddr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user