下载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/
网页页面

posted @ 2020-04-14 12:54  lingr7  阅读(6996)  评论(0编辑  收藏  举报