diff options
author | frosty <passedgoandgot200@disroot.org> | 2025-02-20 23:39:07 -0500 |
---|---|---|
committer | frosty <passedgoandgot200@disroot.org> | 2025-02-20 23:44:35 -0500 |
commit | e8c6437d862c901460d1b798f1ea9df9fb53ecd1 (patch) | |
tree | b8de3e4bb76ee49670d8b7f095605ee09abedee8 /wiiload.go | |
parent | e90f24e024b4b3a3f278896d3750c3ff5e0fe8dc (diff) | |
download | wiiload-lite-e8c6437d862c901460d1b798f1ea9df9fb53ecd1.tar.gz wiiload-lite-e8c6437d862c901460d1b798f1ea9df9fb53ecd1.zip |
rename project to wiiload-lite
Diffstat (limited to 'wiiload.go')
-rw-r--r-- | wiiload.go | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/wiiload.go b/wiiload.go deleted file mode 100644 index a0e7e86..0000000 --- a/wiiload.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 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))) -} |