Skip to content

Commit 9504877

Browse files
committed
test
1 parent 9d4f580 commit 9504877

3 files changed

Lines changed: 31 additions & 29 deletions

File tree

ct/tor-snowflake.sh

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var_ram="${var_ram:-512}"
1313
var_disk="${var_disk:-4}"
1414
var_os="${var_os:-debian}"
1515
var_version="${var_version:-13}"
16-
var_arm64="${var_arm64:-no}"
16+
var_arm64="${var_arm64:-yes}"
1717
var_unprivileged="${var_unprivileged:-1}"
1818
var_nesting="${var_nesting:-0}"
1919

@@ -32,27 +32,27 @@ function update_script() {
3232
$STD apt upgrade -y
3333
msg_ok "Updated Container OS"
3434

35-
RELEASE=$(curl -fsSL https://gitlab.torproject.org/api/v4/projects/tpo%2Fanti-censorship%2Fpluggable-transports%2Fsnowflake/releases | jq -r '.[0].tag_name' | sed 's/^v//')
36-
if [[ ! -f ~/.tor-snowflake ]] || [[ "${RELEASE}" != "$(cat ~/.tor-snowflake)" ]]; then
35+
if [[ ! -d /opt/tor-snowflake ]]; then
36+
msg_error "No ${APP} Installation Found!"
37+
exit
38+
fi
39+
40+
if GITLAB_URL="https://gitlab.torproject.org" check_for_gl_release "tor-snowflake" "tpo/anti-censorship/pluggable-transports/snowflake"; then
3741
msg_info "Stopping Service"
3842
systemctl stop snowflake-proxy
3943
msg_ok "Stopped Service"
4044

41-
setup_go
42-
fetch_and_deploy_from_url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/archive/v${RELEASE}/snowflake-v${RELEASE}.tar.gz" "/opt/tor-snowflake"
45+
CLEAN_INSTALL=1 GITLAB_URL="https://gitlab.torproject.org" fetch_and_deploy_gl_release "tor-snowflake" "tpo/anti-censorship/pluggable-transports/snowflake" "tarball"
4346

44-
msg_info "Updating Snowflake"
47+
msg_info "Building Snowflake"
4548
cd /opt/tor-snowflake/proxy
4649
$STD go build -o snowflake-proxy .
47-
echo "${RELEASE}" >~/.tor-snowflake
48-
msg_ok "Updated Snowflake to v${RELEASE}"
50+
msg_ok "Built Snowflake"
4951

5052
msg_info "Starting Service"
5153
systemctl start snowflake-proxy
5254
msg_ok "Started Service"
5355
msg_ok "Updated successfully!"
54-
else
55-
msg_ok "No update required. Snowflake is already at v${RELEASE}."
5656
fi
5757
exit
5858
}

install/tor-snowflake-install.sh

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,10 @@ update_os
1616
setup_go
1717

1818
msg_info "Building Snowflake"
19-
RELEASE=$(curl -fsSL https://gitlab.torproject.org/api/v4/projects/tpo%2Fanti-censorship%2Fpluggable-transports%2Fsnowflake/releases | jq -r '.[0].tag_name' | sed 's/^v//')
20-
$STD curl -fsSL "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/archive/v${RELEASE}/snowflake-v${RELEASE}.tar.gz" -o /opt/snowflake.tar.gz
21-
$STD tar -xzf /opt/snowflake.tar.gz -C /opt
22-
rm -rf /opt/snowflake.tar.gz
23-
mv /opt/snowflake-v${RELEASE} /opt/tor-snowflake
19+
GITLAB_URL="https://gitlab.torproject.org" fetch_and_deploy_gl_release "tor-snowflake" "tpo/anti-censorship/pluggable-transports/snowflake" "tarball"
2420
cd /opt/tor-snowflake/proxy
2521
$STD go build -o snowflake-proxy .
26-
echo "${RELEASE}" >~/.tor-snowflake
27-
msg_ok "Built Snowflake Proxy v${RELEASE}"
22+
msg_ok "Built Snowflake Proxy"
2823

2924
msg_info "Creating Service"
3025
cat <<EOF >/etc/systemd/system/snowflake-proxy.service

misc/tools.func

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9038,10 +9038,12 @@ EOF
90389038
# ------------------------------------------------------------------------------
90399039
# Get latest GitLab release version.
90409040
# Usage: get_latest_gitlab_release "owner/repo" [strip_v]
9041+
# Set GITLAB_URL to use a self-hosted GitLab instance.
90419042
# ------------------------------------------------------------------------------
90429043
get_latest_gitlab_release() {
90439044
local repo="$1"
90449045
local strip_v="${2:-true}"
9046+
local gitlab_url="${GITLAB_URL:-https://gitlab.com}"
90459047
90469048
local repo_encoded
90479049
repo_encoded=$(printf '%s' "$repo" | sed 's|/|%2F|g')
@@ -9056,7 +9058,7 @@ get_latest_gitlab_release() {
90569058
http_code=$(curl --connect-timeout 10 --max-time 30 -sSL \
90579059
-w "%{http_code}" -o "$temp_file" \
90589060
"${header[@]}" \
9059-
"https://gitlab.com/api/v4/projects/$repo_encoded/releases?per_page=1&order_by=released_at&sort=desc" 2>/dev/null) || true
9061+
"$gitlab_url/api/v4/projects/$repo_encoded/releases?per_page=1&order_by=released_at&sort=desc" 2>/dev/null) || true
90609062
90619063
if [[ "$http_code" != "200" ]]; then
90629064
rm -f "$temp_file"
@@ -9107,12 +9109,16 @@ check_for_gl_release() {
91079109
local pin_reason="${4:-}" # optional reason shown to user
91089110
local app_lc="${app,,}"
91099111
local current_file="$HOME/.${app_lc}"
9112+
local gitlab_url="${GITLAB_URL:-https://gitlab.com}"
9113+
local gitlab_host="${gitlab_url#https://}"
9114+
gitlab_host="${gitlab_host#http://}"
9115+
gitlab_host="${gitlab_host%%/*}"
91109116
91119117
msg_info "Checking for update: ${app}"
91129118
91139119
# DNS check
9114-
if ! getent hosts gitlab.com >/dev/null 2>&1; then
9115-
msg_error "Network error: cannot resolve gitlab.com"
9120+
if ! getent hosts "$gitlab_host" >/dev/null 2>&1; then
9121+
msg_error "Network error: cannot resolve ${gitlab_host}"
91169122
return 6
91179123
fi
91189124
@@ -9131,7 +9137,7 @@ check_for_gl_release() {
91319137
local pinned_encoded="${pinned_version_in//\//%2F}"
91329138
http_code=$(curl -sSL --max-time 20 -w "%{http_code}" -o /tmp/gl_check.json \
91339139
"${header[@]}" \
9134-
"https://gitlab.com/api/v4/projects/$repo_encoded/releases/$pinned_encoded" 2>/dev/null) || true
9140+
"$gitlab_url/api/v4/projects/$repo_encoded/releases/$pinned_encoded" 2>/dev/null) || true
91359141
if [[ "$http_code" == "200" ]] && [[ -s /tmp/gl_check.json ]]; then
91369142
releases_json="[$(</tmp/gl_check.json)]"
91379143
fi
@@ -9142,7 +9148,7 @@ check_for_gl_release() {
91429148
if [[ -z "$releases_json" ]]; then
91439149
http_code=$(curl -sSL --max-time 20 -w "%{http_code}" -o /tmp/gl_check.json \
91449150
"${header[@]}" \
9145-
"https://gitlab.com/api/v4/projects/$repo_encoded/releases?per_page=100&order_by=released_at&sort=desc" 2>/dev/null) || true
9151+
"$gitlab_url/api/v4/projects/$repo_encoded/releases?per_page=100&order_by=released_at&sort=desc" 2>/dev/null) || true
91469152
91479153
if [[ "$http_code" == "200" ]] && [[ -s /tmp/gl_check.json ]]; then
91489154
releases_json=$(</tmp/gl_check.json)
@@ -9166,7 +9172,7 @@ check_for_gl_release() {
91669172
return 22
91679173
elif [[ "$http_code" == "000" || -z "$http_code" ]]; then
91689174
msg_error "GitLab API connection failed (no response)."
9169-
msg_error "Check your network/DNS: curl -sSL https://gitlab.com/api/v4/version"
9175+
msg_error "Check your network/DNS: curl -sSL ${gitlab_url}/api/v4/version"
91709176
rm -f /tmp/gl_check.json
91719177
return 7
91729178
else
@@ -9374,6 +9380,7 @@ fetch_and_deploy_gl_release() {
93749380
local version="${var_appversion:-${4:-latest}}"
93759381
local target="${5:-/opt/$app}"
93769382
local asset_pattern="${6:-}"
9383+
local gitlab_url="${GITLAB_URL:-https://gitlab.com}"
93779384
93789385
if [[ -z "$app" ]]; then
93799386
app="${repo##*/}"
@@ -9397,7 +9404,7 @@ fetch_and_deploy_gl_release() {
93979404
local repo_encoded
93989405
repo_encoded=$(printf '%s' "$repo" | sed 's|/|%2F|g')
93999406
9400-
local api_base="https://gitlab.com/api/v4/projects/$repo_encoded/releases"
9407+
local api_base="$gitlab_url/api/v4/projects/$repo_encoded/releases"
94019408
local api_url
94029409
if [[ "$version" != "latest" ]]; then
94039410
api_url="$api_base/$version"
@@ -9444,7 +9451,7 @@ fetch_and_deploy_gl_release() {
94449451
msg_error " export GITLAB_TOKEN=\"glpat-your_token_here\""
94459452
elif [[ "$http_code" == "000" || -z "$http_code" ]]; then
94469453
msg_error "GitLab API connection failed (no response)."
9447-
msg_error "Check your network/DNS: curl -sSL https://gitlab.com/api/v4/version"
9454+
msg_error "Check your network/DNS: curl -sSL ${gitlab_url}/api/v4/version"
94489455
else
94499456
msg_error "Failed to fetch release metadata (HTTP $http_code)"
94509457
fi
@@ -9490,7 +9497,7 @@ fetch_and_deploy_gl_release() {
94909497
94919498
### Tarball Mode ###
94929499
if [[ "$mode" == "tarball" || "$mode" == "source" ]]; then
9493-
local direct_tarball_url="https://gitlab.com/$repo/-/archive/$tag_name/${app_lc}-${version_safe}.tar.gz"
9500+
local direct_tarball_url="$gitlab_url/$repo/-/archive/$tag_name/${app_lc}-${version_safe}.tar.gz"
94949501
filename="${app_lc}-${version_safe}.tar.gz"
94959502
94969503
curl $download_timeout -fsSL "${header[@]}" -o "$tmpdir/$filename" "$direct_tarball_url" || {
@@ -9554,7 +9561,7 @@ fetch_and_deploy_gl_release() {
95549561
95559562
if [[ -z "$url_match" ]]; then
95569563
local fallback_json
9557-
if fallback_json=$(_gl_scan_older_releases "$repo" "$repo_encoded" "https://gitlab.com" "binary" "$asset_pattern" "$tag_name"); then
9564+
if fallback_json=$(_gl_scan_older_releases "$repo" "$repo_encoded" "$gitlab_url" "binary" "$asset_pattern" "$tag_name"); then
95589565
json="$fallback_json"
95599566
tag_name=$(echo "$json" | jq -r '.tag_name // empty')
95609567
[[ "$tag_name" =~ ^v[0-9] ]] && version="${tag_name:1}" || version="$tag_name"
@@ -9630,7 +9637,7 @@ fetch_and_deploy_gl_release() {
96309637
96319638
if [[ -z "$asset_url" ]]; then
96329639
local fallback_json
9633-
if fallback_json=$(_gl_scan_older_releases "$repo" "$repo_encoded" "https://gitlab.com" "prebuild" "$pattern" "$tag_name"); then
9640+
if fallback_json=$(_gl_scan_older_releases "$repo" "$repo_encoded" "$gitlab_url" "prebuild" "$pattern" "$tag_name"); then
96349641
json="$fallback_json"
96359642
tag_name=$(echo "$json" | jq -r '.tag_name // empty')
96369643
[[ "$tag_name" =~ ^v[0-9] ]] && version="${tag_name:1}" || version="$tag_name"
@@ -9741,7 +9748,7 @@ fetch_and_deploy_gl_release() {
97419748
97429749
if [[ -z "$asset_url" ]]; then
97439750
local fallback_json
9744-
if fallback_json=$(_gl_scan_older_releases "$repo" "$repo_encoded" "https://gitlab.com" "singlefile" "$pattern" "$tag_name"); then
9751+
if fallback_json=$(_gl_scan_older_releases "$repo" "$repo_encoded" "$gitlab_url" "singlefile" "$pattern" "$tag_name"); then
97459752
json="$fallback_json"
97469753
tag_name=$(echo "$json" | jq -r '.tag_name // empty')
97479754
[[ "$tag_name" =~ ^v[0-9] ]] && version="${tag_name:1}" || version="$tag_name"

0 commit comments

Comments
 (0)