Портирование программы на линукс (debian) (vibe-kanban 5dca5182)
Теперь, когда я убедился что программа хорошо работает на windows, мы будем ее портировать на debian. как я это вижу: Ты создашь папку внутри проекта и будешь писать его там (чтобы не поломать текущий) 1. **Удалить Windows-специфичные зависимости** (`golang.org/x/sys/windows/registry` и всё, что связано с реестром). 2. **Заменить `sing-box.exe` → `sing-box`** (бинарник для Linux: https://github.com/SagerNet/sing-box/releases/download/v1.12.16/sing-box-1.12.16-linux-amd64.tar.gz) и реализовать автозагрузку с latest с источника. 3. **Убрать скрытие окна процесса** (`HideWindow` — это Windows-only). 4. **Реализовать управление системным прокси в Linux** (или отказаться от него, если не критично). 5. **Собрать проект под Linux** (cross-compilation или нативно). 6. **Подготовить структуру папок и права**. 7. **(Опционально) Упаковать в `.deb`** И главное - не редактируй текущий windows проект - он не требует вмешательств!
This commit is contained in:
31
build.go
Normal file
31
build.go
Normal file
@@ -0,0 +1,31 @@
|
||||
// Build script for HamyVPNClient Linux version
|
||||
// build.go
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("Building HamyVPNClient for Linux...")
|
||||
|
||||
// Set environment variables for cross-compilation
|
||||
os.Setenv("GOOS", "linux")
|
||||
os.Setenv("GOARCH", "amd64")
|
||||
|
||||
// Run the build command
|
||||
cmd := exec.Command("go", "build", "-o", "hamy-vpn-client-linux", ".")
|
||||
cmd.Dir = "linux-port"
|
||||
|
||||
output, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
fmt.Printf("Build failed: %v\n", err)
|
||||
fmt.Printf("Output: %s\n", output)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("Build successful! Binary created: linux-port/hamy-vpn-client-linux")
|
||||
}
|
||||
Reference in New Issue
Block a user