解決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
curl api.pasteme.cn/43318 | sh
(由於重復試驗,所以 號碼有變化,不過道理是一樣的)
下載成功
使用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/