mirror of
https://github.com/fleschutz/PowerShell.git
synced 2024-11-22 07:53:21 +01:00
Add install-knot-resolver.ps1
This commit is contained in:
parent
1d9693f565
commit
a8f2d95f96
27
Data/default.kresd.conf
Normal file
27
Data/default.kresd.conf
Normal 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
|
||||
}
|
||||
}
|
@ -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)
|
||||
|
|
@ -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
|
||||
|
@ -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])"
|
||||
|
@ -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])"
|
||||
|
38
Scripts/install-knot-resolver.ps1
Normal file
38
Scripts/install-knot-resolver.ps1
Normal 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
|
||||
}
|
Loading…
Reference in New Issue
Block a user