下載github上文件與release的安裝包-解決s3.amazonaws.com問題


解決curl下載慢

7月16日,更新下curl github上的文件加速的方法。
一次套娃操作,想要下載github上的東西,借助的工具又是github上的東西,依然慢。
用到的工具:
奶牛快傳,PasteMe,cowtransfer-uploader

首先,目的是實現一句(雲服務器上linux)

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

當然是龜速,通過

uname -s
uname -m

得知應該下載

https://github.com/docker/compose/releases/download/1.26.2/docker-compose-Linux-x86_64

依然龜速。
首先通過種種辦法把這個文件下載到本地(windows10,參考本文下部分4種工具),得到docker-compose-Linux-x86_64文件,如何讓這個本地文件被curl呢?
通過奶牛快傳,把文件上傳到奶牛快傳,以后從奶牛快傳下載。
然而奶牛快傳的文件如何用命令下載?
通過Mikubill/cowtransfer-uploader: Simple Cowtransfer Uploader/Downloader in Golang可以命令行下載。
但是這個工具本身下載安裝就需要

curl -sL https://git.io/cowtransfer | sh 

網頁重定向出了問題。想要

借助PasteMe安裝cowtransfer-uploader

發現重定向到https://raw.githubusercontent.com/Mikubill/cowtransfer-uploader/master/install.sh? https://raw.githubusercontent.com/Mikubill/cowtransfer-uploader/master/install.sh?
那么獲得這個install.sh文件文本內容。
既然能夠獲得install.sh里的具體內容,那么也可以touch一個install.sh,nano打開文件,把內容復制粘貼進去,再運行。本文還是演示了一下PastMe的用法,主要是多一種選擇。
知道了重定向位置以后,或者直接在install.sh的頁面點RAW圖標以下的命令也可以下載到

wget --no-check-certificate --content-disposition https://raw.githubusercontent.com/Mikubill/cowtransfer-uploader/master/install.sh

或者這一條命令

curl -LJO  https://raw.githubusercontent.com/Mikubill/cowtransfer-uploader/master/install.sh 

參考:Properly download from github using wget and curl

#!/usr/bin/env bash

set -e

hash tar uname grep curl head
OS="$(uname)"
case $OS in
  Linux)
    OS='linux'
    ;;
  Darwin)
    OS='darwin'
    ;;
  *)
    echo 'OS not supported'
    exit 2
    ;;
esac

ARCH="$(uname -m)"
case $ARCH in
  x86_64|amd64)
    ARCH='amd64'
    ;;
  aarch64)
    ARCH='arm64'
    ;;
  i?86|x86)
    ARCH='386'
    ;;
  arm*)
    ARCH='arm'
    ;;
  *)
    echo 'OS type not supported'
    exit 2
    ;;
esac

DOWNLOAD_URL=$(curl -fsSL https://api.github.com/repos/Mikubill/cowtransfer-uploader/releases/latest | grep "browser_download_url.*$OS.*$ARCH" | cut -d '"' -f 4)

curl -L "$DOWNLOAD_URL" | tar xz

printf "\nCowTransfer-uploader Downloded.\n\n"
exit 0

將這部分文本輸入到pastme.cn的文本框中去。也可以采用curl工具來上傳,參考
建議把命令行上傳方法寫到README中去 · Issue #69 · PasteUs/PasteMeGoBackend

curl -d "@data.txt" api.pasteme.cn

pastme
結果

curl api.pasteme.cn/43318 | sh

(由於重復試驗,所以 號碼有變化,不過道理是一樣的)
下載成功
transfer-uploader

使用cowtransfer-uploader下載奶牛快傳的文件

./cowtransfer-uploader https://cowtransfer.com/s/7049b5a727674b


為了在下載的過程中實現安裝

-o /usr/local/bin/docker-compose

這部分可以續到`./cowtransfer-uploader'后面

./cowtransfer-uploader -o /usr/local/bin/docker-compose  https://cowtransfer.com/s/7049b5a727674b

幾種下載文件到本地的方案

5月17日,發現一個新工具Free Download Manager - 從網路下載任何東西也可以下載github上release的軟件包。
案例:texstudio.org打不開——下載最新版TeXstudio - lingr7 - 博客園
6月19日,發現兩個網站,其中第二個可以下載編譯好的軟件安裝包。
GitClone - GitHub緩存加速網站,為開發者服務

GitHub代下載服務·永久免費


也是解決國內訪問s3.amazonaws.com下載文件非常緩慢的問題。
以開源epub電子書制作軟件Sigil為例。
網頁
Releases · Sigil-Ebook/Sigil
下載
這個網站:https://d.serctl.com/
網頁頁面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM