mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-06-13 21:54:13 +08:00
Compare commits
73 Commits
50384bd0b0
...
baab618a07
Author | SHA1 | Date | |
---|---|---|---|
![]() |
baab618a07 | ||
![]() |
0e9a38e369 | ||
![]() |
7869374b29 | ||
![]() |
9f3bb97c97 | ||
![]() |
867194c929 | ||
![]() |
acdfa70031 | ||
![]() |
56ef2e52d1 | ||
![]() |
e356515217 | ||
![]() |
7d9058cf10 | ||
![]() |
1df4a1fa37 | ||
![]() |
d6f83f3003 | ||
![]() |
782baad82b | ||
![]() |
674699db1f | ||
![]() |
17d7211abf | ||
![]() |
dc9196d766 | ||
![]() |
ef2d2d4f9e | ||
![]() |
e601393a69 | ||
![]() |
d5d7320666 | ||
![]() |
09f8b985c4 | ||
![]() |
0afaae0108 | ||
![]() |
4138f33aff | ||
![]() |
796e8250c0 | ||
![]() |
cb727c8c4c | ||
![]() |
fa741f9d7e | ||
![]() |
34b95d856d | ||
![]() |
766386fdd7 | ||
![]() |
c6387b8b8c | ||
![]() |
69305beb7c | ||
![]() |
c013a0c253 | ||
![]() |
f5cd08c044 | ||
![]() |
0d29f02e02 | ||
![]() |
cc259db0bf | ||
![]() |
fbe618199f | ||
![]() |
75160c15b7 | ||
![]() |
a455127831 | ||
![]() |
5420d786b5 | ||
![]() |
04fb124795 | ||
![]() |
05d27f5ca5 | ||
![]() |
2e2efbea8e | ||
![]() |
d3e8c67aad | ||
![]() |
2fb54b8e7a | ||
![]() |
661a437ef3 | ||
![]() |
3ecf86e4d7 | ||
![]() |
bc9e67394b | ||
![]() |
b2900682fc | ||
![]() |
37d16c652f | ||
![]() |
af6f7c07d7 | ||
![]() |
fcc52a4b72 | ||
![]() |
d0d988f3f8 | ||
![]() |
ac7b1c538e | ||
![]() |
b497b67927 | ||
![]() |
3d73094d3b | ||
![]() |
4ac74f1af2 | ||
![]() |
6177bab519 | ||
![]() |
7a6d09709d | ||
![]() |
bdf073483e | ||
![]() |
3161c1121d | ||
![]() |
442ba0c3f5 | ||
![]() |
a453fdaaf4 | ||
![]() |
d0f52be0de | ||
![]() |
d51692d5c0 | ||
![]() |
bd8503dff2 | ||
![]() |
283b0c5958 | ||
![]() |
38ace76b5a | ||
![]() |
e17ae9ec28 | ||
![]() |
380222c978 | ||
![]() |
cac5f0410b | ||
![]() |
233b475248 | ||
![]() |
a4dea6485c | ||
![]() |
49498f6439 | ||
![]() |
144a890c71 | ||
![]() |
afb4993445 | ||
![]() |
4c9455b944 |
@ -1,87 +1,97 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -xeuo pipefail
|
||||
#!/bin/sh
|
||||
|
||||
download_beta=false
|
||||
download_version=""
|
||||
|
||||
for arg in "$@"; do
|
||||
if [[ "$arg" == "--beta" ]]; then
|
||||
download_beta=true
|
||||
elif [[ "$arg" == "--version" ]]; then
|
||||
download_version=true
|
||||
elif [[ "$download_version" == 'true' ]]; then
|
||||
download_version="$arg"
|
||||
else
|
||||
echo "Unknown argument: $arg"
|
||||
echo "Usage: $0 [--beta] [--version <version>]"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$arg" == "--beta" ]]; then
|
||||
download_beta=true
|
||||
elif [[ "$arg" == "--version" ]]; then
|
||||
download_version=true
|
||||
elif [[ "$download_version" == 'true' ]]; then
|
||||
download_version="$arg"
|
||||
else
|
||||
echo "Unknown argument: $arg"
|
||||
echo "Usage: $0 [--beta] [--version <version>]"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ $(command -v dpkg) ]]; then
|
||||
os="linux"
|
||||
arch=$(dpkg --print-architecture)
|
||||
package_suffix=".deb"
|
||||
package_install="dpkg -i"
|
||||
os="linux"
|
||||
arch=$(dpkg --print-architecture)
|
||||
package_suffix=".deb"
|
||||
package_install="dpkg -i"
|
||||
elif [[ $(command -v dnf) ]]; then
|
||||
os="linux"
|
||||
arch=$(uname -m)
|
||||
package_suffix=".rpm"
|
||||
package_install="dnf install -y"
|
||||
os="linux"
|
||||
arch=$(uname -m)
|
||||
package_suffix=".rpm"
|
||||
package_install="dnf install -y"
|
||||
elif [[ $(command -v rpm) ]]; then
|
||||
os="linux"
|
||||
arch=$(uname -m)
|
||||
package_suffix=".rpm"
|
||||
package_install="rpm -i"
|
||||
os="linux"
|
||||
arch=$(uname -m)
|
||||
package_suffix=".rpm"
|
||||
package_install="rpm -i"
|
||||
elif [[ $(command -v pacman) ]]; then
|
||||
os="linux"
|
||||
arch=$(uname -m)
|
||||
package_suffix=".pkg.tar.zst"
|
||||
package_install="pacman -U --noconfirm"
|
||||
os="linux"
|
||||
arch=$(uname -m)
|
||||
package_suffix=".pkg.tar.zst"
|
||||
package_install="pacman -U --noconfirm"
|
||||
elif [[ $(command -v opkg) ]]; then
|
||||
os="openwrt"
|
||||
source /etc/os-release
|
||||
arch="$OPENWRT_ARCH"
|
||||
package_suffix=".ipk"
|
||||
package_install="opkg update && opkg install -y"
|
||||
os="openwrt"
|
||||
source /etc/os-release
|
||||
arch="$OPENWRT_ARCH"
|
||||
package_suffix=".ipk"
|
||||
package_install="opkg update && opkg install -y"
|
||||
else
|
||||
echo "Missing supported package manager."
|
||||
exit 1
|
||||
echo "Missing supported package manager."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$download_version" ]]; then
|
||||
|
||||
header=""
|
||||
if [ -n "$GITHUB_TOKEN" ]; then
|
||||
header="-H \"Authorization: token $GITHUB_TOKEN\""
|
||||
fi
|
||||
|
||||
if [[ "$download_beta" != 'true' ]]; then
|
||||
download_version=$(curl -s --fail-with-body "$header" https://api.github.com/repos/SagerNet/sing-box/releases/latest |
|
||||
grep tag_name |
|
||||
cut -d ":" -f2 |
|
||||
sed 's/\"//g;s/\,//g;s/\ //g;s/v//')
|
||||
else
|
||||
download_version=$(curl -s --fail-with-body "$header" https://api.github.com/repos/SagerNet/sing-box/releases |
|
||||
grep tag_name |
|
||||
head -n 1 |
|
||||
cut -d ":" -f2 |
|
||||
sed 's/\"//g;s/\,//g;s/\ //g;s/v//')
|
||||
fi
|
||||
|
||||
if [[ "$download_beta" != 'true' ]]; then
|
||||
if [[ -n "$GITHUB_TOKEN" ]]; then
|
||||
latest_release=$(curl -s --fail-with-body -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/SagerNet/sing-box/releases/latest)
|
||||
else
|
||||
latest_release=$(curl -s --fail-with-body https://api.github.com/repos/SagerNet/sing-box/releases/latest)
|
||||
fi
|
||||
curl_exit_status=$?
|
||||
if [[ $curl_exit_status -ne 0 ]]; then
|
||||
echo "$latest_release"
|
||||
exit $?
|
||||
fi
|
||||
download_version=$(echo "$latest_release" | grep tag_name | cut -d ":" -f2 | sed 's/\"//g;s/\,//g;s/\ //g;s/v//')
|
||||
else
|
||||
if [[ -n "$GITHUB_TOKEN" ]]; then
|
||||
latest_release=$(curl -s --fail-with-body -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/SagerNet/sing-box/releases)
|
||||
else
|
||||
latest_release=$(curl -s --fail-with-body https://api.github.com/repos/SagerNet/sing-box/releases)
|
||||
fi
|
||||
curl_exit_status=$?
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "$latest_release"
|
||||
exit $?
|
||||
fi
|
||||
download_version=$(echo "$latest_release" | grep tag_name | head -n 1 | cut -d ":" -f2 | sed 's/\"//g;s/\,//g;s/\ //g;s/v//')
|
||||
fi
|
||||
fi
|
||||
|
||||
package_name="sing-box_${download_version}_${os}_${arch}${package_suffix}"
|
||||
package_url="https://github.com/SagerNet/sing-box/releases/download/v${download_version}/${package_name}"
|
||||
|
||||
echo "Downloading $package_url"
|
||||
curl --fail-with-body -Lo "$package_name" "$package_url"
|
||||
|
||||
if [[ $(command -v sudo) ]]; then
|
||||
package_install="sudo $package_install"
|
||||
if [[ -n "$GITHUB_TOKEN" ]]; then
|
||||
curl --fail-with-body -Lo "$package_name" -H "Authorization: token ${GITHUB_TOKEN}" "$package_url"
|
||||
else
|
||||
curl --fail-with-body -Lo "$package_name" "$package_url"
|
||||
fi
|
||||
|
||||
echo "$package_install $package_name"
|
||||
$package_install "$package_name"
|
||||
rm "$package_name"
|
||||
if [[ $? -ne 0 ]]; then
|
||||
exit $?
|
||||
fi
|
||||
|
||||
if [[ $(command -v sudo) ]]; then
|
||||
package_install="sudo $package_install"
|
||||
fi
|
||||
|
||||
echo "$package_install $package_name" && $package_install "$package_name" && rm "$package_name"
|
||||
|
Loading…
x
Reference in New Issue
Block a user