Skip to content

Instantly share code, notes, and snippets.

@xMlex
Created February 4, 2026 10:26
Show Gist options
  • Select an option

  • Save xMlex/78298668c6b4263410656cf276735997 to your computer and use it in GitHub Desktop.

Select an option

Save xMlex/78298668c6b4263410656cf276735997 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
TMPDIR=$(mktemp -d)
cd "$TMPDIR"
curl -L -o udp2raw.tar.gz "https://github.com/wangyu-/udp2raw/releases/download/20230206.0/udp2raw_binaries.tar.gz"
tar -xzf udp2raw.tar.gz
ARCH=$(uname -m)
IS_AES=$(grep -q "aes" /proc/cpuinfo && echo "true" || echo "false")
case "$ARCH" in
x86_64)
if [ "$IS_AES" = "true" ]; then
SELECTED="./udp2raw_amd64_hw_aes"
else
SELECTED="./udp2raw_amd64"
fi
;;
i386|i686)
# Для x86 обычно есть версия с asm_aes (программная оптимизация)
SELECTED="./udp2raw_x86_asm_aes"
[ ! -f "$SELECTED" ] && SELECTED="./udp2raw_x86"
;;
aarch64|arm*)
# Для ARM проверяем наличие asm_aes версии
SELECTED="./udp2raw_arm_asm_aes"
[ ! -f "$SELECTED" ] && SELECTED="./udp2raw_arm"
;;
mips*)
# Для MIPS нужно уточнять endianness (be/le), по умолчанию:
SELECTED="./udp2raw_mips24kc_le"
;;
*)
echo "Error: Unknown architecture $ARCH"
rm -rf "$TMPDIR"
exit 1
;;
esac
if [ -f "$SELECTED" ]; then
echo "Selecting binary: $SELECTED"
chmod +x "$SELECTED"
sudo mv $SELECTED /usr/local/bin/udp2raw
else
echo "Error: File $SELECTED not found!"
rm -rf "$TMPDIR"
exit 1
fi
rm -rf "$TMPDIR"
echo "$SELECTED installed to /usr/local/bin/udp2raw"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment