1
0

DockerInit.sh 2.1 KB

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