diff --git a/spk/dnscrypt-proxy/src/ui/cgi.go b/spk/dnscrypt-proxy/src/ui/cgi.go index bb8b4a43557..56b159a42fc 100644 --- a/spk/dnscrypt-proxy/src/ui/cgi.go +++ b/spk/dnscrypt-proxy/src/ui/cgi.go @@ -244,16 +244,15 @@ func generateBlacklist () { logError("Python could not be found or is not installed!") } - var stdout, stderr bytes.Buffer + var stderr bytes.Buffer cmd := exec.Command("python", rootDir+"/var/generate-domains-blacklist.py") cmd.Dir = rootDir+"/var" - cmd.Stdout = &stdout cmd.Stderr = &stderr - err := cmd.Run() + stdout, err := cmd.Output() if err != nil { - logError(err.Error() + string(stdout.Bytes()) + string(stderr.Bytes())) + logError(err.Error() + string(stdout) + string(stderr.Bytes())) } - saveFile("blacklist", string(stdout.Bytes())) + saveFile("blacklist", string(stdout)) } // Return HTML from layout.html. @@ -334,6 +333,9 @@ func main() { // return } else if generateBlacklistStr != "" { generateBlacklist() + if fileKey == "blacklist" { + renderHTML(fileKey, "File saved successfully!", "") + } fmt.Print("Status: 200 OK\r\nContent-Type: text/plain; charset=utf-8\r\n\r\n") os.Exit(0) } diff --git a/spk/dnscrypt-proxy/src/ui/layout.html b/spk/dnscrypt-proxy/src/ui/layout.html index 88f07d259be..ed6bb5d55a9 100644 --- a/spk/dnscrypt-proxy/src/ui/layout.html +++ b/spk/dnscrypt-proxy/src/ui/layout.html @@ -125,9 +125,12 @@ const updateBlacklist = document.querySelector('.dnscrypt-proxy .updateBlacklist') updateBlacklist.addEventListener('submit', function(e) { - if (e.preventDefault) e.preventDefault() - toggleSpinner() - ajax('POST', 'generateBlacklist=true') + const urlParams = new URLSearchParams(window.location.search) + if (urlParams.get('file') !== 'blacklist') { + if (e.preventDefault) e.preventDefault() + toggleSpinner() + ajax('POST', 'generateBlacklist=true') + } }, false)