Add install-knot-resolver.ps1

This commit is contained in:
Markus Fleschutz 2021-08-22 16:09:50 +02:00
parent 1d9693f565
commit a8f2d95f96
6 changed files with 75 additions and 2 deletions

27
Data/default.kresd.conf Normal file
View File

@ -0,0 +1,27 @@
-- LISTENING:
net.listen({'127.0.0.1', '::1'}, 53, { kind = 'dns' })
net.listen({'127.0.0.1', '::1'}, 853, { kind = 'tls' })
net.listen('192.168.178.71', 53, { kind = 'dns' })
net.listen('192.168.178.71', 853, { kind = 'tls' })
-- CACHE:
cache.size = 100 * MB
cache.min_ttl(3600) -- min time-to-live is 1 hour
cache.max_ttl(604800) -- max time-to-live is 1 week
-- FORWARDING:
policy.add(policy.all(
policy.FORWARD(
{'192.168.178.1', -- Fritz!Box
'1.1.1.1', -- Cloudflare #1
'1.0.0.1' -- Cloudflare #2
})
))
-- MODULES:
modules = {
predict = {
window = 15, -- 15 minutes sampling window
period = 6*(60/15) -- track last 6 hours
}
}

View File

@ -76,6 +76,7 @@ generate-qrcode.ps1, generates a QR code
hibernate.ps1, enables hibernate mode for the local computer (needs admin rights)
inspect-exe.ps1, prints basic information of the given executable file
install-google-chrome.ps1, installs the Google Chrome browser
install-knot-resolver.ps1, installs the Knot Resolver (needs admin rights)
install-signal-cli.ps1, installs signal-cli from github.com/AsamK/signal-cli
install-ssh-client.ps1, installs the SSH client (needs admin rights)
install-ssh-server.ps1, installs the SSH server (needs admin rights)

1 Script Description
76 hibernate.ps1 enables hibernate mode for the local computer (needs admin rights)
77 inspect-exe.ps1 prints basic information of the given executable file
78 install-google-chrome.ps1 installs the Google Chrome browser
79 install-knot-resolver.ps1 installs the Knot Resolver (needs admin rights)
80 install-signal-cli.ps1 installs signal-cli from github.com/AsamK/signal-cli
81 install-ssh-client.ps1 installs the SSH client (needs admin rights)
82 install-ssh-server.ps1 installs the SSH server (needs admin rights)

View File

@ -54,6 +54,7 @@ Mega Collection of PowerShell Scripts
* [enable-crash-dumps.ps1](Scripts/enable-crash-dumps.ps1) - enables the writing of crash dumps
* [hibernate.ps1](Scripts/hibernate.ps1) - enables hibernate mode for the local computer (needs admin rights)
* [install-google-chrome.ps1](Scripts/install-google-chrome.ps1) - installs the Google Chrome browser
* [install-knot-resolver.ps1](Scripts/install-knot-resolver.ps1) - installs the Knot Resolver (needs admin rights)
* [install-ssh-client.ps1](Scripts/install-ssh-client.ps1) - installs the SSH client (needs admin rights)
* [install-ssh-server.ps1](Scripts/install-ssh-server.ps1) - installs the SSH server (needs admin rights)
* [install-signal-cli.ps1](Scripts/install-signal-cli.ps1) - installs signal-cli from github.com/AsamK/signal-cli

View File

@ -17,13 +17,16 @@ param([string]$URL = "")
try {
if ($URL -eq "") { $URL = read-host "Enter directory URL to download" }
$StopWatch = [system.diagnostics.stopwatch]::startNew()
& wget --version
if ($lastExitCode -ne "0") { throw "Can't execute 'wget' - make sure wget is installed and available" }
& wget --mirror --convert-links --adjust-extension --page-requisites --no-parent $URL --directory-prefix . --no-verbose
if ($lastExitCode -ne "0") { throw "Can't execute 'wget --mirror $URL'" }
write-host -foregroundColor green "OK - directory downloaded from $URL"
[int]$Elapsed = $StopWatch.Elapsed.TotalSeconds
"✔️ downloaded directory from $URL in $Elapsed sec"
exit 0
} catch {
write-error "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"

View File

@ -17,13 +17,16 @@ param([string]$URL = "")
try {
if ($URL -eq "") { $URL = read-host "Enter file URL to download" }
$StopWatch = [system.diagnostics.stopwatch]::startNew()
& wget --version
if ($lastExitCode -ne "0") { throw "Can't execute 'wget' - make sure wget is installed and available" }
& wget --mirror --convert-links --adjust-extension --page-requisites --no-parent $URL --directory-prefix . --no-verbose
if ($lastExitCode -ne "0") { throw "Can't execute 'wget --mirror $URL'" }
write-host -foregroundColor green "OK - file downloaded from $URL"
[int]$Elapsed = $StopWatch.Elapsed.TotalSeconds
"✔️ downloaded file from $URL in $Elapsed sec"
exit 0
} catch {
write-error "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"

View File

@ -0,0 +1,38 @@
<#
.SYNOPSIS
install-knot-resolver.ps1
.DESCRIPTION
Installs the Knot Resolver (a DNS resolver daemon, needs admin rights).
.EXAMPLE
PS> .\install-knot-resolver.ps1
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz
License: CC0
#>
#Requires -RunAsAdministrator
try {
$StopWatch = [system.diagnostics.stopwatch]::startNew()
"Step 1/4: Install Knot Resolver..."
sudo snap install knot-resolver-gael
"Step 2/4: Copy default configuration..."
sudo cp "$PSScriptRoot/../Data/default.kresd.conf" /var/snap/knot-resolver-gael/current/kresd.conf
"Step 3/4: Let User Configure..."
sudo vi /var/snap/knot-resolver-gael/current/kresd.conf
"Step 4/4: Starting Knot Resolver..."
sudo snap start knot-resolver-gael
[int]$Elapsed = $StopWatch.Elapsed.TotalSeconds
"✔️ installed Knot Resolver in $Elapsed sec"
exit 0
} catch {
write-error "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}