aboutsummaryrefslogtreecommitdiff
path: root/wiiload.go
diff options
context:
space:
mode:
authorfrosty <passedgoandgot200@disroot.org>2025-02-20 23:39:07 -0500
committerfrosty <passedgoandgot200@disroot.org>2025-02-20 23:44:35 -0500
commite8c6437d862c901460d1b798f1ea9df9fb53ecd1 (patch)
treeb8de3e4bb76ee49670d8b7f095605ee09abedee8 /wiiload.go
parente90f24e024b4b3a3f278896d3750c3ff5e0fe8dc (diff)
downloadwiiload-lite-e8c6437d862c901460d1b798f1ea9df9fb53ecd1.tar.gz
wiiload-lite-e8c6437d862c901460d1b798f1ea9df9fb53ecd1.zip
rename project to wiiload-lite
Diffstat (limited to 'wiiload.go')
-rw-r--r--wiiload.go91
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)))
-}