relay packets
This commit is contained in:
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"encoding/hex"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
@@ -94,15 +95,20 @@ func receivePacket(pkt []byte) {
|
||||
switch pktType {
|
||||
case shared.RESP_REGISTER:
|
||||
internalIP = net.IP(pkt[4:])
|
||||
log.Println("Received IP from the server:", internalIP.String())
|
||||
initInterface()
|
||||
log.Println("got assigned IP by the server:", internalIP.String())
|
||||
setupInterface()
|
||||
go sendPackets()
|
||||
case shared.RESP_DATA:
|
||||
log.Println("received pkt:", hex.EncodeToString(pkt[4:]))
|
||||
if _, err := iface.Write(pkt[4:]); err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
default:
|
||||
log.Println("unknown packet type")
|
||||
}
|
||||
}
|
||||
|
||||
func initInterface() {
|
||||
func setupInterface() {
|
||||
config := water.Config{DeviceType: water.TAP}
|
||||
config.Name = IFACE_NAME
|
||||
|
||||
|
||||
Reference in New Issue
Block a user