Skip to content

Instantly share code, notes, and snippets.

@mattrude
Last active January 9, 2024 05:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattrude/a90cd1be7e09643b0dd6951d0cade2b0 to your computer and use it in GitHub Desktop.
Save mattrude/a90cd1be7e09643b0dd6951d0cade2b0 to your computer and use it in GitHub Desktop.
curl -Ls https://gist.githubusercontent.com/mattrude/a90cd1be7e09643b0dd6951d0cade2b0/raw/installer.sh |bash
#!/bin/bash
NTPSECVER='1.2.3'
DIR='/var/src'
sudo useradd -r -s /usr/sbin/nologin ntpsec
sudo mkdir -p ${DIR} /etc/ntpsec /var/lib/ntpsec /var/log/ntpsec
sudo chown ntpsec:ntpsec /etc/ntpsec /var/lib/ntpsec /var/log/ntpsec
curl -Ls https://ftp.ntpsec.org/pub/releases/ntpsec.gpg.pub.asc |gpg --import
for SIGNKEY in `gpg -k security@ntpsec.org |grep -B1 unknown |grep '^ ' |sed 's/ //g'`
do
echo -e "5\ny\n" | gpg --command-fd 0 --edit-key "${SIGNKEY}" trust
done
mkdir -p ${DIR} && cd ${DIR} && \
wget -4c https://ftp.ntpsec.org/pub/releases/ntpsec-${NTPSECVER}.tar.gz.asc && \
wget -4c https://ftp.ntpsec.org/pub/releases/ntpsec-${NTPSECVER}.tar.gz && \
rm -rf ${DIR}/ntpsec-${NTPSECVER} && \
gpg --verify ntpsec-${NTPSECVER}.tar.gz.asc && \
tar -xzf ntpsec-${NTPSECVER}.tar.gz && \
cd ntpsec-${NTPSECVER}
sed -i 's/localhost\/htdocs/html/g' etc/ntpviz*.service && \
sudo ./buildprep --ntpviz --update && \
./waf configure --refclock=all && \
./waf build && \
sudo ./waf install && \
sudo rm -rf /usr/local/bin/ntp && \
sudo cp -R build/main/pylib /usr/local/bin/ntp && \
sudo sed -i 's/ExecStart=.*/ExecStart=\/usr\/local\/sbin\/ntpd -c \/etc\/ntpsec\/ntp.conf -p \/var\/run\/ntpd.pid -g -N -u ntpsec:ntpsec/g' /lib/systemd/system/ntpd.service && \
sudo systemctl daemon-reload && \
sudo systemctl restart ntpd.service && \
echo "" && \
echo "NTPSec Install Complete!" && \
echo "Starting NTPVIZ Install..." && \
sudo sed -i 's/ExecStart=.*/ExecStart=\/usr\/local\/bin\/ntpviz -p 1 -o \/var\/www\/html\/day @\/etc\/ntpviz\/options/g' /lib/systemd/system/ntpviz-daily.service && \
sudo sed -i 's/ExecStart=.*/ExecStart=\/usr\/local\/bin\/ntpviz -p 7 -o \/var\/www\/html\/week @\/etc\/ntpviz\/options/g' /lib/systemd/system/ntpviz-weekly.service && \
sudo sed -i 's/ExecStart=.*/ExecStart=\/usr\/local\/bin\/ntpviz -p 30 -o \/var\/www\/html\/month @\/etc\/ntpviz\/options/g' /lib/systemd/system/ntpviz-monthly.service && \
sudo sed -i 's/ExecStart=.*/ExecStart=\/usr\/local\/bin\/ntplogtemp -o -l \/var\/log\/ntpsec\/temps/g' /lib/systemd/system/ntplogtemp.service && \
sudo systemctl daemon-reload && \
sudo systemctl unmask ntpviz-daily.timer ntpviz-weekly.timer ntpviz-monthly.timer ntplogtemp.timer && \
sudo systemctl enable ntpviz-daily.timer ntpviz-weekly.timer ntpviz-monthly.timer ntplogtemp.timer && \
sudo systemctl start ntpviz-daily.timer ntpviz-weekly.timer ntpviz-monthly.timer ntplogtemp.timer && \
curl -Ls https://gist.githubusercontent.com/mattrude/03ddf70bb408d689af0f4f57daca47d8/raw/time-service-ntpviz.patch |sudo patch -p1 /usr/local/bin/ntpviz -
echo "Done!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment