mirror of
https://github.com/putyy/res-downloader.git
synced 2026-01-13 06:54:56 +08:00
51 lines
1.2 KiB
Go
51 lines
1.2 KiB
Go
//go:build linux
|
|
|
|
package core
|
|
|
|
import (
|
|
"os"
|
|
"os/exec"
|
|
)
|
|
|
|
func (s *SystemSetup) setProxy() error {
|
|
commands := [][]string{
|
|
{"gsettings", "set", "org.gnome.system.proxy", "mode", "manual"},
|
|
{"gsettings", "set", "org.gnome.system.proxy.http", "host", "127.0.0.1"},
|
|
{"gsettings", "set", "org.gnome.system.proxy.http", "port", globalConfig.Port},
|
|
{"gsettings", "set", "org.gnome.system.proxy.https", "host", "127.0.0.1"},
|
|
{"gsettings", "set", "org.gnome.system.proxy.https", "port", globalConfig.Port},
|
|
}
|
|
|
|
for _, cmd := range commands {
|
|
if err := exec.Command(cmd[0], cmd[1:]...).Run(); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s *SystemSetup) unsetProxy() error {
|
|
cmd := []string{"gsettings", "set", "org.gnome.system.proxy", "mode", "none"}
|
|
return exec.Command(cmd[0], cmd[1:]...).Run()
|
|
}
|
|
|
|
func (s *SystemSetup) installCert() (string, error) {
|
|
certData, err := s.initCert()
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
destFile := "/usr/local/share/ca-certificates/" + appOnce.AppName + ".crt"
|
|
|
|
err = os.WriteFile(destFile, certData, 0644)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
cmd := exec.Command("sudo", "update-ca-certificates")
|
|
output, err := cmd.CombinedOutput()
|
|
if err != nil {
|
|
return string(output), err
|
|
}
|
|
return "", nil
|
|
}
|