forked from Nathanwoodburn/hns_doh_loadbalancer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh
executable file
·70 lines (54 loc) · 2.25 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash
# Verify that script is being run as root
if [ "$EUID" -ne 0 ]
then echo "Please run as root to allow installation of dependencies."
exit
fi
# Make sure working directory is /root
if [ "$PWD" != "/root" ]
then echo "Please run this script from /root directory."
exit
fi
chmod +x /root/hns_doh_loadbalancer/cert.py
chmod +x /root/hns_doh_loadbalancer/cert.sh
sudo apt-get install -y dnsdist
# Install certbot
sudo apt install snapd -y
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot certonly --manual --manual-auth-hook /root/hns_doh_loadbalancer/cert.py --preferred-challenges dns -d hnsdoh.com --deploy-hook /root/hns_doh_loadbalancer/cert.sh
sudo cp /root/hns_doh_loadbalancer/resolved.conf /etc/systemd/resolved.conf
sudo systemctl restart systemd-resolved
# Move the conf file to the correct location
sudo cp /root/hns_doh_loadbalancer/dnsdist.conf /etc/dnsdist/dnsdist.conf
sudo cp /root/hns_doh_loadbalancer/dnsdist.service /lib/systemd/system/dnsdist.service
sudo systemctl daemon-reload
# Restart dnsdist
sudo systemctl restart dnsdist
# Install caddy
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
# Move the Caddyfile to the correct location
sudo cp /root/hns_doh_loadbalancer/Caddyfile /etc/caddy/Caddyfile
# Restart caddy
sudo systemctl restart caddy
# Install NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# Install unbound
sudo apt install libunbound-dev -y
# Install Node.js
sudo apt install build-essential -y
nvm install 20.14.0
npm install -g node-gyp
# Install HSD
git clone --depth 1 --branch latest https://github.com/handshake-org/hsd.git
cd hsd
npm install --omit=dev
sudo cp /root/hns_doh_loadbalancer/hsd.service /lib/systemd/system/hsd.service
sudo systemctl daemon-reload
sudo systemctl enable hsd
sudo systemctl start hsd