39 lines
832 B
Go
39 lines
832 B
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"fmt"
|
|
"log"
|
|
"net"
|
|
"strings"
|
|
|
|
"exhq.dev/mptp/src/helper"
|
|
)
|
|
|
|
func main() {
|
|
ln, err := net.Listen("tcp", ":8000")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
fmt.Println("Listening on port 8000")
|
|
for {
|
|
conn, err := ln.Accept()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
message, err := helper.ReadUntilNull(bufio.NewReader(conn))
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
header, er := helper.GetHeaders(string(message))
|
|
println("connected to: " + (conn.RemoteAddr().String()))
|
|
if er == "wrong nuggets" {
|
|
conn.Write(helper.ByteWithEnd("UR NUGGIES ARE INVALID >:3"))
|
|
continue
|
|
}
|
|
if strings.TrimSpace(strings.Join(header["version"], "")) != "MPTP/0.1" {
|
|
conn.Write(helper.ByteWithEnd("i... don know that language >M<"))
|
|
}
|
|
conn.Write([]byte("meoww :3\nhiiii" + string(rune(0))))
|
|
}
|
|
}
|