69 lines
2.2 KiB
Bash
69 lines
2.2 KiB
Bash
#!/bin/sh
|
|
# nanokvm Rev3.1
|
|
|
|
case "$1" in
|
|
start)
|
|
echo -n kvm > /boot/hostname.prefix
|
|
|
|
# Copy sensor config if the file exists
|
|
[ -f /mnt/data/sensor_cfg.ini.LT ] && cp /mnt/data/sensor_cfg.ini.LT /mnt/data/sensor_cfg.ini
|
|
|
|
# Generate unique device key
|
|
if [ -f /sys/class/cvi-base/base_uid ]; then
|
|
str_value=$(awk '{print $2}' /sys/class/cvi-base/base_uid)
|
|
first_uint=$(echo "$str_value" | cut -d'_' -f1)
|
|
second_uint=$(echo "$str_value" | cut -d'_' -f2)
|
|
echo "$first_uint$second_uint" > /device_key
|
|
fi
|
|
|
|
# Set iptables rules (skip if already present)
|
|
iptables -C INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 2>/dev/null || \
|
|
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
|
|
|
|
iptables -C OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT 2>/dev/null || \
|
|
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
|
|
|
|
iptables -C INPUT -i eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 2>/dev/null || \
|
|
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
|
|
|
|
iptables -C OUTPUT -o eth0 -p tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT 2>/dev/null || \
|
|
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT
|
|
|
|
iptables -C OUTPUT -o eth0 -p tcp --sport 8000 -m state --state ESTABLISHED -j DROP 2>/dev/null || \
|
|
iptables -A OUTPUT -o eth0 -p tcp --sport 8000 -m state --state ESTABLISHED -j DROP
|
|
|
|
# Start services
|
|
cp -r /kvmapp/kvm_system /tmp/
|
|
/tmp/kvm_system/kvm_system &
|
|
|
|
cp -r /kvmapp/server /tmp/
|
|
/tmp/server/NanoKVM-Server &
|
|
;;
|
|
|
|
stop)
|
|
killall kvm_system
|
|
killall NanoKVM-Server
|
|
rm -r /tmp/kvm_system /tmp/server
|
|
echo "OK"
|
|
;;
|
|
|
|
restart)
|
|
killall kvm_system
|
|
killall NanoKVM-Server
|
|
rm -r /tmp/kvm_system /tmp/server
|
|
|
|
cp -r /kvmapp/kvm_system /tmp/
|
|
/tmp/kvm_system/kvm_system &
|
|
|
|
cp -r /kvmapp/server /tmp/
|
|
/tmp/server/NanoKVM-Server &
|
|
|
|
sync
|
|
echo "OK"
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart}"
|
|
exit 1
|
|
;;
|
|
esac |