| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- package main
 
- import (
 
- 	"strings"
 
- )
 
- type GoOS string
 
- const (
 
- 	Windows   = GoOS("windows")
 
- 	MacOS     = GoOS("darwin")
 
- 	Linux     = GoOS("linux")
 
- 	UnknownOS = GoOS("unknown")
 
- )
 
- type GoArch string
 
- const (
 
- 	X86         = GoArch("386")
 
- 	Amd64       = GoArch("amd64")
 
- 	Arm         = GoArch("arm")
 
- 	Arm64       = GoArch("arm64")
 
- 	Mips64      = GoArch("mips64")
 
- 	UnknownArch = GoArch("unknown")
 
- )
 
- func parseOS(rawOS string) GoOS {
 
- 	osStr := strings.ToLower(rawOS)
 
- 	if osStr == "windows" || osStr == "win" {
 
- 		return Windows
 
- 	}
 
- 	if osStr == "darwin" || osStr == "mac" || osStr == "macos" || osStr == "osx" {
 
- 		return MacOS
 
- 	}
 
- 	if osStr == "linux" || osStr == "debian" || osStr == "ubuntu" || osStr == "redhat" || osStr == "centos" {
 
- 		return Linux
 
- 	}
 
- 	return UnknownOS
 
- }
 
- func parseArch(rawArch string) GoArch {
 
- 	archStr := strings.ToLower(rawArch)
 
- 	if archStr == "x86" || archStr == "386" || archStr == "i386" {
 
- 		return X86
 
- 	}
 
- 	if archStr == "amd64" || archStr == "x86-64" || archStr == "x64" {
 
- 		return Amd64
 
- 	}
 
- 	if archStr == "arm" {
 
- 		return Arm
 
- 	}
 
- 	if archStr == "arm64" {
 
- 		return Arm64
 
- 	}
 
- 	if archStr == "mips" || archStr == "mips64" {
 
- 		return Mips64
 
- 	}
 
- 	return UnknownArch
 
- }
 
- func getSuffix(os GoOS, arch GoArch) string {
 
- 	suffix := "-custom"
 
- 	switch os {
 
- 	case Windows:
 
- 		switch arch {
 
- 		case X86:
 
- 			suffix = "-windows-32"
 
- 		case Amd64:
 
- 			suffix = "-windows-64"
 
- 		}
 
- 	case MacOS:
 
- 		suffix = "-macos"
 
- 	case Linux:
 
- 		switch arch {
 
- 		case X86:
 
- 			suffix = "-linux-32"
 
- 		case Amd64:
 
- 			suffix = "-linux-64"
 
- 		case Arm:
 
- 			suffix = "-linux-arm"
 
- 		case Arm64:
 
- 			suffix = "-linux-arm64"
 
- 		case Mips64:
 
- 			suffix = "-linux-mips64"
 
- 		}
 
- 	}
 
- 	return suffix
 
- }
 
 
  |