下载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
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/