2022-04-13 11:47:14 +03:00
|
|
|
get_virt()
|
|
|
|
{
|
|
|
|
local vm s v UNAME
|
|
|
|
UNAME=$(uname)
|
|
|
|
case "$UNAME" in
|
|
|
|
Linux)
|
|
|
|
if exists systemd-detect-virt; then
|
|
|
|
vm=$(systemd-detect-virt --vm)
|
|
|
|
elif [ -f /sys/class/dmi/id/product_name ]; then
|
|
|
|
read s </sys/class/dmi/id/product_name
|
|
|
|
for v in KVM QEMU VMware VMW VirtualBox Xen Bochs Parallels BHYVE Hyper-V; do
|
|
|
|
case "$s" in
|
|
|
|
"$v"*)
|
|
|
|
vm=$v
|
|
|
|
break
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
2022-04-13 12:46:21 +03:00
|
|
|
echo "$vm" | awk '{print tolower($0)}'
|
2022-04-13 11:47:14 +03:00
|
|
|
}
|
|
|
|
check_virt()
|
|
|
|
{
|
|
|
|
echo \* checking virtualization
|
2024-05-04 16:01:09 +03:00
|
|
|
local vm="$(get_virt)"
|
2022-04-13 11:47:14 +03:00
|
|
|
if [ -n "$vm" ]; then
|
|
|
|
if [ "$vm" = "none" ]; then
|
|
|
|
echo running on bare metal
|
|
|
|
else
|
|
|
|
echo "!!! WARNING. $vm virtualization detected !!!"
|
|
|
|
echo '!!! WARNING. vmware and virtualbox are known to break most of the DPI bypass techniques when network is NATed using internal hypervisor NAT !!!'
|
|
|
|
echo '!!! WARNING. if this is your case make sure you are bridged not NATed !!!'
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo cannot detect
|
|
|
|
fi
|
|
|
|
}
|