1
0

DockerInit.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/sh
  2. set -e
  3. case $1 in
  4. amd64)
  5. ARCH="64"
  6. FNAME="amd64"
  7. ;;
  8. i386)
  9. ARCH="32"
  10. FNAME="i386"
  11. ;;
  12. armv8 | arm64 | aarch64)
  13. ARCH="arm64-v8a"
  14. FNAME="arm64"
  15. ;;
  16. armv7 | arm | arm32)
  17. ARCH="arm32-v7a"
  18. FNAME="arm32"
  19. ;;
  20. armv6)
  21. ARCH="arm32-v6"
  22. FNAME="armv6"
  23. ;;
  24. *)
  25. ARCH="64"
  26. FNAME="amd64"
  27. ;;
  28. esac
  29. MTG_MULTI_VER=$(curl -sfL "https://api.github.com/repos/mhsanaei/mtg-multi/releases/latest" | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p' | head -n 1)
  30. if [ -z "$MTG_MULTI_VER" ]; then
  31. echo "DockerInit: could not resolve the latest mtg-multi release tag" >&2
  32. exit 1
  33. fi
  34. mkdir -p build/bin
  35. cd build/bin
  36. curl -sfLRO "https://github.com/XTLS/Xray-core/releases/download/v26.9.30/Xray-linux-${ARCH}.zip"
  37. unzip "Xray-linux-${ARCH}.zip"
  38. rm -f "Xray-linux-${ARCH}.zip" geoip.dat geosite.dat
  39. mv xray "xray-linux-${FNAME}"
  40. # mtg-multi (MTProto sidecar) ships prebuilt release binaries for every target
  41. # we package, so download and unpack the matching one instead of compiling.
  42. case $FNAME in
  43. i386) MTGARCH="386" ;;
  44. arm32) MTGARCH="armv7" ;;
  45. *) MTGARCH="$FNAME" ;;
  46. esac
  47. MTG_PKG="mtg-multi-${MTG_MULTI_VER#v}-linux-${MTGARCH}"
  48. curl -sfLRO "https://github.com/mhsanaei/mtg-multi/releases/download/${MTG_MULTI_VER}/${MTG_PKG}.tar.gz"
  49. tar -xzf "${MTG_PKG}.tar.gz"
  50. mv "${MTG_PKG}/mtg-multi" "mtg-linux-${FNAME}"
  51. rm -rf "${MTG_PKG}" "${MTG_PKG}.tar.gz"
  52. chmod +x "mtg-linux-${FNAME}"
  53. curl -sfLRO https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
  54. curl -sfLRO https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
  55. curl -sfLRo geoip_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
  56. curl -sfLRo geosite_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
  57. curl -sfLRo geoip_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geoip.dat
  58. curl -sfLRo geosite_RU.dat https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/geosite.dat
  59. cd ../../