feat: wireguard / vproxy configuration

This commit is contained in:
jb
2026-03-11 16:00:26 -03:00
parent 085cda7251
commit c622abf194
10 changed files with 398 additions and 45 deletions
+42
View File
@@ -65,6 +65,28 @@ func DownloadImageCmd(username, password string) tea.Cmd {
}
}
func DownloadWireguardImageCmd(username, password string) tea.Cmd {
return func() tea.Msg {
url := wireguardImageName
loginOut, err := exec.Command(
"docker", "login", url,
"-u", username,
"-p", password,
).CombinedOutput()
if err != nil {
return ImageDownloadFinishedMsg{
Message: string(loginOut),
Err: fmt.Errorf("falha no login: %w", err),
}
}
message, err := PullImage(url)
return ImageDownloadFinishedMsg{Message: message, Err: err}
}
}
func CheckImageCmd(image string) tea.Cmd {
return func() tea.Msg {
cmd := exec.Command("docker", "image", "inspect", image)
@@ -77,6 +99,16 @@ func CheckImageCmd(image string) tea.Cmd {
}
}
func GenerateWireguardConfigFile(cv ConfigValues, path string) tea.Cmd {
return func() tea.Msg {
err := WriteWireguardConfigFile(cv, path)
return ConfigFileMsg{
Err: err,
}
}
}
func GenerateConfigFile(cv ConfigValues, path string) tea.Cmd {
return func() tea.Msg {
err := WriteConfigFile(cv, path)
@@ -96,3 +128,13 @@ func RunAppContainer(image, name, filePath, destinationPath string, cv ConfigVal
}
}
}
func RunWireguardContainer(path string, cv ConfigValues) tea.Cmd {
return func() tea.Msg {
err := RunWireguardDockerContainer(path, cv)
return DockerRunMsg{
Err: err,
}
}
}