From 15e576cd2f3e92053e2c219e14376a5f5435a219 Mon Sep 17 00:00:00 2001 From: frosty Date: Thu, 20 Feb 2025 23:41:02 -0500 Subject: fix module name to comply with standard --- README.md | 2 +- go.mod | 2 +- wiiload-lite.go | 91 --------------------------------------------------------- wiiload_lite.go | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 93 insertions(+), 93 deletions(-) delete mode 100644 wiiload-lite.go create mode 100644 wiiload_lite.go diff --git a/README.md b/README.md index 4ffb401..4597492 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,5 @@ This is a simple reimplemention of the Wiiload protocol for the Homebrew Channel ## Usage ``` -wiiload-lite ip_address file_path +wiiload_lite ip_address file_path ``` diff --git a/go.mod b/go.mod index 30dbd48..4dee810 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module github.com/frostyfalls/wiiload-lite +module github.com/frostyfalls/wiiload_lite go 1.23.6 diff --git a/wiiload-lite.go b/wiiload-lite.go deleted file mode 100644 index e14f64a..0000000 --- a/wiiload-lite.go +++ /dev/null @@ -1,91 +0,0 @@ -package main - -import ( - "bytes" - "compress/zlib" - "encoding/binary" - "fmt" - "io" - "net" - "os" - "path/filepath" -) - -const ( - WiiloadVersionMajor = 0 - WiiloadVersionMinor = 5 - FileChunkSize = 1024 * 128 -) - -const usage = "usage: wiiload-lite ip_address file_path" - -func main() { - if len(os.Args) != 3 { - fmt.Fprintln(os.Stderr, usage) - os.Exit(1) - } - - ipAddress := os.Args[1] - filePath := os.Args[2] - - file, err := os.Open(filePath) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - defer file.Close() - - fileData, err := io.ReadAll(file) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - var buf bytes.Buffer - writer := zlib.NewWriter(&buf) - - _, err = writer.Write(fileData) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - err = writer.Close() - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - var compressedFileData = buf.Bytes() - - fileStat, err := file.Stat() - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - fileSize := fileStat.Size() - - conn, err := net.Dial("tcp", ipAddress+":4299") - if err != nil { - fmt.Println(err) - os.Exit(1) - } - defer conn.Close() - - conn.Write([]byte("HAXX")) - conn.Write([]byte{WiiloadVersionMajor}) - conn.Write([]byte{WiiloadVersionMinor}) - binary.Write(conn, binary.BigEndian, uint16(len(filepath.Base(filePath)))) - binary.Write(conn, binary.BigEndian, uint32(len(compressedFileData))) - binary.Write(conn, binary.BigEndian, uint32(fileSize)) - - for i := 0; i < len(compressedFileData); i += FileChunkSize { - end := i + FileChunkSize - if end > len(compressedFileData) { - end = len(compressedFileData) - } - conn.Write(compressedFileData[i:end]) - } - - conn.Write([]byte(filepath.Base(filePath))) -} diff --git a/wiiload_lite.go b/wiiload_lite.go new file mode 100644 index 0000000..e14f64a --- /dev/null +++ b/wiiload_lite.go @@ -0,0 +1,91 @@ +package main + +import ( + "bytes" + "compress/zlib" + "encoding/binary" + "fmt" + "io" + "net" + "os" + "path/filepath" +) + +const ( + WiiloadVersionMajor = 0 + WiiloadVersionMinor = 5 + FileChunkSize = 1024 * 128 +) + +const usage = "usage: wiiload-lite ip_address file_path" + +func main() { + if len(os.Args) != 3 { + fmt.Fprintln(os.Stderr, usage) + os.Exit(1) + } + + ipAddress := os.Args[1] + filePath := os.Args[2] + + file, err := os.Open(filePath) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + defer file.Close() + + fileData, err := io.ReadAll(file) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + var buf bytes.Buffer + writer := zlib.NewWriter(&buf) + + _, err = writer.Write(fileData) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + err = writer.Close() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + var compressedFileData = buf.Bytes() + + fileStat, err := file.Stat() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + fileSize := fileStat.Size() + + conn, err := net.Dial("tcp", ipAddress+":4299") + if err != nil { + fmt.Println(err) + os.Exit(1) + } + defer conn.Close() + + conn.Write([]byte("HAXX")) + conn.Write([]byte{WiiloadVersionMajor}) + conn.Write([]byte{WiiloadVersionMinor}) + binary.Write(conn, binary.BigEndian, uint16(len(filepath.Base(filePath)))) + binary.Write(conn, binary.BigEndian, uint32(len(compressedFileData))) + binary.Write(conn, binary.BigEndian, uint32(fileSize)) + + for i := 0; i < len(compressedFileData); i += FileChunkSize { + end := i + FileChunkSize + if end > len(compressedFileData) { + end = len(compressedFileData) + } + conn.Write(compressedFileData[i:end]) + } + + conn.Write([]byte(filepath.Base(filePath))) +} -- cgit v1.2.3