Skip to content

Commit 658a3e5

Browse files
committed
Remove legacy install.sh, rename install2.sh to install.sh
1 parent 34e6279 commit 658a3e5

File tree

3 files changed

+75
-241
lines changed

3 files changed

+75
-241
lines changed

files/20-extport.conf

Lines changed: 0 additions & 15 deletions
This file was deleted.

install.sh

Lines changed: 75 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,20 @@
33
#
44
# c't-Raspion, a Raspberry Pi based all in one sniffer
55
# for judging on IoT and smart home devices activity
6-
# (c) 2019-2020 c't magazin, Germany, Hannover
7-
# see: https://ct.de/-123456 for more information
8-
#
6+
# (c) 2019-2023 c't magazin, Germany, Hannover
7+
# see: https://ct.de/-4606645 for more information
8+
#
99

1010
set -e
1111

1212
WD=$(pwd)
1313
LOG=/var/log/raspion.log
1414
NEWLANG=de_DE.UTF-8
15-
[[ -f .version ]] && source ./.version || VER=$(git rev-parse --short HEAD)
15+
[[ -f .version ]] && source ./.version
16+
if [ "$VER" == "" ]; then
17+
type git > /dev/null 2>&1 && VER=$(git rev-parse --short HEAD)
18+
fi
19+
source ./.defaults
1620
sudo touch $LOG
1721
sudo chown pi:pi $LOG
1822

@@ -22,17 +26,53 @@ error_report() {
2226
}
2327

2428
echo "==> Einrichtung des c't-Raspion ($VER)" | tee -a $LOG
29+
source /etc/os-release
30+
if [ "$VERSION_ID" != "10" ]; then
31+
echo "Sorry, Installation funktioniert nur auf Pi OS Legacy (Buster, Version 10)"
32+
exit 0
33+
fi
2534

26-
echo "* Raspbian aktualisieren ..." | tee -a $LOG
35+
echo "* Wifi einschalten" | tee -a $LOG
36+
sudo rfkill unblock wifi >> $LOG 2>&1
37+
38+
echo "* Hilfspakete hinzufügen, Paketlisten aktualisieren" | tee -a $LOG
39+
sudo dpkg -i $WD/debs/raspion-keyring_2019_all.deb >> $LOG 2>&1
40+
# dont' install expired apt-ntop_1.0.190416-469_all.deb from debs dir
41+
# fast fix: download and install a fresh one:
42+
pushd /tmp >> $LOG 2>&1
43+
wget https://packages.ntop.org/RaspberryPI/apt-ntop.deb >> $LOG 2>&1
44+
sudo dpkg -i apt-ntop.deb >> $LOG 2>&1
45+
popd >> $LOG 2>&1
2746
sudo apt-get update >> $LOG 2>&1
28-
sudo apt-get -y dist-upgrade >> $LOG 2>&1
47+
# the former called apt-get update in postinst
48+
49+
echo "* Firewallregeln vorbereiten, Module laden" | tee -a $LOG
50+
sudo iptables -t nat -F POSTROUTING >> $LOG 2>&1
51+
sudo ip6tables -t nat -F POSTROUTING >> $LOG 2>&1
52+
sudo iptables -t nat -F PREROUTING >> $LOG 2>&1
53+
sudo ip6tables -t nat -F PREROUTING >> $LOG 2>&1
54+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE >> $LOG 2>&1
55+
sudo ip6tables -t nat -A POSTROUTING -o eth0 -s $IPv6NET/64 -j MASQUERADE >> $LOG 2>&1
56+
sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 81 -i eth0 >> $LOG 2>&1
57+
sudo ip6tables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 81 -i eth0 >> $LOG 2>&1
58+
59+
echo "* Pakete vorkonfigurieren ..." | tee -a $LOG
60+
sudo debconf-set-selections debconf/wireshark >> $LOG 2>&1
61+
sudo debconf-set-selections debconf/iptables-persistent >> $LOG 2>&1
62+
sudo apt-get install -y iptables-persistent >> $LOG 2>&1
63+
64+
echo "* Firewall-Regeln speichern ..." | tee -a $LOG
65+
sudo netfilter-persistent save >> $LOG 2>&1
2966

30-
echo "* Raspbian Sprachanpassungen ..." | tee -a $LOG
67+
echo "* Pi OS aktualisieren ..." | tee -a $LOG
68+
sudo apt-get -y --allow-downgrades dist-upgrade >> $LOG 2>&1
69+
70+
echo "* Pi OS Sprachanpassungen ..." | tee -a $LOG
3171
sudo debconf-set-selections debconf/keyboard-configuration >> $LOG 2>&1
3272
sudo cp files/keyboard /etc/default >> $LOG 2>&1
3373
sudo dpkg-reconfigure -fnoninteractive keyboard-configuration >> $LOG 2>&1
3474

35-
sudo sed -e "/^[# ]*$NEWLANG/s/^[# ]*//" /etc/locale.gen >> $LOG 2>&1
75+
sudo sed -i -e "/^[# ]*$NEWLANG/s/^[# ]*//" /etc/locale.gen >> $LOG 2>&1
3676
sudo dpkg-reconfigure -fnoninteractive locales >> $LOG 2>&1
3777
sudo update-locale LANG=$NEWLANG >> $LOG 2>&1
3878

@@ -41,39 +81,24 @@ sudo ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime >> $LOG 2>&1
4181
sudo cp files/timezone /etc >> $LOG 2>&1
4282
sudo dpkg-reconfigure -fnoninteractive tzdata >> $LOG 2>&1
4383

44-
echo "* Pakete vorkonfigurieren ..." | tee -a $LOG
45-
sudo debconf-set-selections debconf/wireshark >> $LOG 2>&1
46-
sudo debconf-set-selections debconf/iptables-persistent >> $LOG 2>&1
47-
4884
echo "* Pakete installieren ..." | tee -a $LOG
49-
sudo apt-get install -y --no-install-recommends --allow-change-held-packages \
50-
hostapd mitmproxy bridge-utils ipv6calc iptables-persistent radvd \
51-
shellinabox nmap xsltproc lighttpd tcpreplay pwgen wireshark-gtk >> $LOG 2>&1
52-
cd /tmp
53-
wget http://packages.ntop.org/RaspberryPI/apt-ntop_1.0.190416-469_all.deb >> $LOG 2>&1
54-
sudo dpkg -i apt-ntop_1.0.190416-469_all.deb >> $LOG 2>&1
55-
sudo apt-get install -y --no-install-recommends ntopng >> $LOG 2>&1
56-
sudo dpkg -i $WD/debs/*.deb >> $LOG 2>&1
57-
sudo apt-mark hold wireshark-gtk >> $LOG 2>&1
58-
sudo apt-mark hold libgtk-3-0 >> $LOG 2>&1
59-
sudo apt-mark hold libgtk-3-common >> $LOG 2>&1
60-
sudo apt-mark hold libgtk-3-bin >> $LOG 2>&1
61-
62-
sudo cp $WD/sbin/* /usr/local/sbin >> $LOG 2>&1
63-
sudo chmod +x /usr/local/sbin/*.sh >> $LOG 2>&1
64-
sudo cp $WD/files/prefix_delegation /etc/dhcp/dhclient-exit-hooks.d >> $LOG 2>&1
65-
sudo chmod +x /etc/dhcp/dhclient-exit-hooks.d/prefix_delegation >> $LOG 2>&1
85+
sudo apt-get install -y --allow-downgrades raspion --no-install-recommends >> $LOG 2>&1
6686

6787
echo "* Softwaregrundkonfiguration ..." | tee -a $LOG
6888
sudo usermod -a -G wireshark pi >> $LOG 2>&1
6989
sudo usermod -a -G www-data pi >> $LOG 2>&1
7090
sudo cp $WD/files/ntopng.conf /etc/ntopng >> $LOG 2>&1
91+
sudo sed -i "s/^-m=#IPv4NET#/-m=$IPv4NET/" /etc/ntopng/ntopng.conf >> $LOG 2>&1
7192
sudo cp $WD/files/interfaces /etc/network >> $LOG 2>&1
93+
sudo sed -i "s/^ address #IPv4HOST#/ address $IPv4HOST/" /etc/network/interfaces >> $LOG 2>&1
94+
sudo sed -i "s/^ address #IPv6HOST#/ address $IPv6HOST/" /etc/network/interfaces >> $LOG 2>&1
7295
sudo cp $WD/files/hostapd.conf /etc/hostapd >> $LOG 2>&1
96+
sudo sed -i "s/^ssid=#SSID#/ssid=$SSID/" /etc/hostapd/hostapd.conf >> $LOG 2>&1
7397
sudo cp $WD/files/ipforward.conf /etc/sysctl.d >> $LOG 2>&1
7498
sudo cp $WD/files/hostname /etc/ >> $LOG 2>&1
7599
sudo cp $WD/files/raspion-sudo /etc/sudoers.d/ >> $LOG 2>&1
76100
sudo cp $WD/files/radvd.conf /etc/ >> $LOG 2>&1
101+
sudo sed -i "s/^ RDNSS #IPv6HOST#/ RDNSS $IPv6HOST/" /etc/radvd.conf >> $LOG 2>&1
77102
sudo mkdir -p /root/.mitmproxy >> $LOG 2>&1
78103
sudo cp $WD/files/config.yaml /root/.mitmproxy >> $LOG 2>&1
79104
mkdir -p /home/pi/.config/wireshark >> $LOG 2>&1
@@ -88,17 +113,7 @@ sudo -s <<HERE
88113
echo "wpa_passphrase=$PW" >> /etc/hostapd/hostapd.conf
89114
HERE
90115

91-
echo "* Firewall-Regeln setzen und speichern ..." | tee -a $LOG
92-
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE >> $LOG 2>&1
93-
sudo ip6tables -t nat -A POSTROUTING -o eth0 -s fd00:24::/64 -j MASQUERADE >> $LOG 2>&1
94-
sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 81 -i eth0 >> $LOG 2>&1
95-
sudo ip6tables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 81 -i eth0 >> $LOG 2>&1
96-
sudo netfilter-persistent save >> $LOG 2>&1
97-
98116
echo "* systemd-Units vorbereiten ..." | tee -a $LOG
99-
sudo cp $WD/files/mitmweb.service /etc/systemd/system >> $LOG 2>&1
100-
sudo cp $WD/files/broadwayd.service /etc/systemd/system >> $LOG 2>&1
101-
sudo cp $WD/files/wireshark.service /etc/systemd/system >> $LOG 2>&1
102117
sudo systemctl enable mitmweb.service >> $LOG 2>&1
103118
sudo systemctl unmask hostapd >> $LOG 2>&1
104119
sudo systemctl enable radvd >> $LOG 2>&1
@@ -109,18 +124,26 @@ echo "* Weboberfläche hinzufügen ..." | tee -a $LOG
109124
cd /etc/lighttpd/conf-enabled >> $LOG 2>&1
110125
sudo ln -sf ../conf-available/10-userdir.conf 10-userdir.conf >> $LOG 2>&1
111126
sudo ln -sf ../conf-available/10-proxy.conf 10-proxy.conf >> $LOG 2>&1
127+
sudo ln -sf ../conf-available/15-fastcgi-php.conf 15-fastcgi-php.conf >> $LOG 2>&1
112128
sudo cp $WD/files/10-dir-listing.conf . >> $LOG 2>&1
113-
sudo cp $WD/files/20-extport.conf . >> $LOG 2>&1
114-
mkdir -p /home/pi/public_html/scans >> $LOG 2>&1
115-
mkdir -p /home/pi/public_html/caps >> $LOG 2>&1
129+
sudo -s <<HERE
130+
echo '\$SERVER["socket"] == ":81" {
131+
server.document-root = "/home/pi/public_html"
132+
dir-listing.encoding = "utf-8"
133+
\$HTTP["url"] =~ "^/caps(\$|/)" {
134+
dir-listing.activate = "enable"
135+
}
136+
\$HTTP["url"] =~ "^/scans(\$|/)" {
137+
dir-listing.activate = "enable"
138+
}
139+
\$HTTP["url"] =~ "^/admin" {
140+
proxy.server = ( "" => (( "host" => "'$IPv4HOST'", "port" => "80")) )
141+
}
142+
}' > /etc/lighttpd/conf-enabled/20-extport.conf
143+
HERE
116144
sudo chmod g+s /home/pi/public_html/caps >> $LOG 2>&1
117145
sudo chmod 777 /home/pi/public_html/caps >> $LOG 2>&1
118146
sudo chgrp www-data /home/pi/public_html/caps >> $LOG 2>&1
119-
cp $WD/files/*.png /home/pi/public_html >> $LOG 2>&1
120-
cp $WD/files/*.php /home/pi/public_html >> $LOG 2>&1
121-
cp $WD/files/*.css /home/pi/public_html >> $LOG 2>&1
122-
cp $WD/files/*.js /home/pi/public_html >> $LOG 2>&1
123-
cp $WD/files/*.ico /home/pi/public_html >> $LOG 2>&1
124147

125148
echo "* Pi-hole installieren ..." | tee -a $LOG
126149
if ! id pihole >/dev/null 2>&1; then
@@ -129,14 +152,15 @@ fi
129152
sudo mkdir -p /etc/pihole >> $LOG 2>&1
130153
sudo chown pihole:pihole /etc/pihole >> $LOG 2>&1
131154
sudo cp $WD/files/setupVars.conf /etc/pihole >> $LOG 2>&1
155+
sudo sed -i "s/IPV4_ADDRESS=#IPv4HOST#/IPV4_ADDRESS=$IPv4HOST/" /etc/pihole/setupVars.conf >> $LOG 2>&1
156+
sudo sed -i "s/IPV6_ADDRESS=#IPv6HOST#/IPV6_ADDRESS=$IPv6HOST/" /etc/pihole/setupVars.conf >> $LOG 2>&1
157+
sudo sed -i "s/DHCP_ROUTER=#IPv4HOST#/DHCP_ROUTER=$IPv4HOST/" /etc/pihole/setupVars.conf >> $LOG 2>&1
158+
sudo sed -i "s/DHCP_START=#DHCPv4START#/DHCP_START=$DHCPv4START/" /etc/pihole/setupVars.conf >> $LOG 2>&1
159+
sudo sed -i "s/DHCP_END=#DHCPv4END#/DHCP_END=$DHCPv4END/" /etc/pihole/setupVars.conf >> $LOG 2>&1
132160
sudo -s <<HERE
133161
curl -sSL https://install.pi-hole.net | bash /dev/stdin --unattended >> $LOG 2>&1
134162
HERE
135-
sudo chattr -f -i /etc/init.d/pihole-FTL >> $LOG 2>&1
136-
sudo cp $WD/files/pihole-FTL /etc/init.d/ >> $LOG 2>&1
137-
sudo chattr -f +i /etc/init.d/pihole-FTL >> $LOG 2>&1
138163
sudo systemctl daemon-reload >> $LOG 2>&1
139-
sudo systemctl restart pihole-FTL >> $LOG 2>&1
140164
sudo pihole -f restartdns >> $LOG 2>&1
141165
sudo cp $WD/files/hosts /etc/ >> $LOG 2>&1
142166

install2.sh

Lines changed: 0 additions & 175 deletions
This file was deleted.

0 commit comments

Comments
 (0)