<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          臥槽,又開源一個(gè)下載神器!

          共 4870字,需瀏覽 10分鐘

           ·

          2020-08-27 14:46

          @Travis-CI && @GithubAction && @Coding && @Vercel,你幫我下載文件行嗎QvQ

          前言

          開源地址:
          https://github.com/ChenYFan-Tester/____-help-me-download

          作者:ChenYFan 已獲得作者原創(chuàng)轉(zhuǎn)載

          ps:請(qǐng)勿濫用

          此項(xiàng)目是一個(gè)鰯鯽下午在學(xué)校用下載Github下載PicGo時(shí)的無力吐槽。

          網(wǎng)傳加速Github的項(xiàng)目有很多種,包括但不限于:

          • Gitee加速克隆 【缺點(diǎn):賬號(hào)在異地登陸很有可能風(fēng)控需要手機(jī)驗(yàn)證碼(然而人在學(xué)校沒有手機(jī)】
          • cnpm加速 【缺點(diǎn):無法下載Release,且移動(dòng)網(wǎng)絡(luò)下載速度雞賊】
          • CloudFlareWorkers加速 【缺點(diǎn):電信網(wǎng)絡(luò)下下載速度比百度網(wǎng)盤稍微好些,而且丟包嚴(yán)重】
          • jsdelivr加速 【缺點(diǎn):無法下載>20MB的文件,并且官方屏蔽exe下載】
          • 改host 【一句話,麻煩(拒絕任何反駁qwq】

          此項(xiàng)目均解決以上問題,但是仍有缺點(diǎn):

          • 第一次配置略麻煩
          • 每下載一次文件需要修改一次Github
          • 若大文件下載分包較多麻煩

          開始

          Travis-CI(平均53s

          第一次配置

          1. Star?此項(xiàng)目 【可選
          2. Fork此倉庫
          3. 修改 .travis.yml 14行單引號(hào)括起來的鏈接地址,將其設(shè)置為你所需要下載的鏈接。

          注意,其中不得包含特殊字符如&

          實(shí)際上我可以把它寫在travis-ci的變量里,可以避免公布下載鏈接,但是個(gè)人測(cè)試,github訪問速度比travis-ci快多了,而且travis-ci登陸還是要Github...

          1. 進(jìn)入你的Github個(gè)人資料,新建一個(gè)token ,權(quán)限至少repo讀寫、profile讀【建議全勾】,生成token并復(fù)制,妥善保管。

          2. 進(jìn)入 https://travis-ci.org 或 https://travis-ci.com,用github賬號(hào)登入,進(jìn)入dashboard-setting,設(shè)置環(huán)境變量:變量名字: GH_TOKEN ,變量值: 你生成的TOKEN,tigger此項(xiàng)目。

          3. 大約一分鐘,這個(gè)項(xiàng)目就會(huì)變綠,如果沒有,請(qǐng)檢查日志;成功后進(jìn)入倉庫,選擇 gh-pages 分支,你大概會(huì)看到以下文件:


          gh-pages
          ??-?dl.tar.bz2.aa
          ??-?dl.tar.bz2.ab
          ??-?dl.tar.bz2.ac
          ??-?dl.tar.bz2.ad
          ??

          原來下載文件在 re\ 文件夾下,為避免Github發(fā)現(xiàn)有二進(jìn)制文件并發(fā)送警告郵件,我們?cè)诓渴鹎皠h除了/re文件夾。但是jsdelivr禁止下載exe文件且不得大于20MB,所以我們將其分割為20MB的包,下載時(shí)請(qǐng)使用以下鏈接:

          https://cdn.jsdelivr.net/gh/用戶名/倉庫名字@gh-pages/分塊名字

          以本倉庫為例,下載以下所有鏈接:

          https://cdn.jsdelivr.net/gh/ChenYFan-Tester/travis-ci-help-me-download@gh-pages/dl.tar.bz2.aa
          https://cdn.jsdelivr.net/gh/ChenYFan-Tester/travis-ci-help-me-download@gh-pages/dl.tar.bz2.ab
          https://cdn.jsdelivr.net/gh/ChenYFan-Tester/travis-ci-help-me-download@gh-pages/dl.tar.bz2.ac
          https://cdn.jsdelivr.net/gh/ChenYFan-Tester/travis-ci-help-me-download@gh-pages/dl.tar.bz2.ad
          https://cdn.jsdelivr.net/gh/ChenYFan-Tester/travis-ci-help-me-download@gh-pages/end.bat

          剪切以下文件至新建文件夾,運(yùn)行 end.bat 合并所有分塊,解壓 dl.tar.bz2 即可

          以后...

          1. .travis.yml 14行單引號(hào)括起來的鏈接地址,將其設(shè)置為你所需要下載的鏈接。
          2. 為繞開jsdelivr緩存,請(qǐng)修改16行、17行默認(rèn)的名字 dl【可選】
          3. 進(jìn)入github,gh-pages分支等待一分鐘即可

          Coding部署版(不清楚

          此方法避免分塊麻煩

          感謝Colsrch 提供Coding版本及readme

          詳見Coding倉庫:Coding幫我下個(gè)文件

          配置方法

          1. Star?此項(xiàng)目 【可選
          2. 新建一個(gè)倉庫
          3. /Coding 文件夾中的Jenkinsfile文件寫入倉庫,文件名不變
          4. 新建構(gòu)建計(jì)劃,選擇自定義構(gòu)建計(jì)劃,選擇代碼庫為Coding,選擇該倉庫,配置來源選擇 使用代碼庫中的Jenkinsfile ,節(jié)點(diǎn)池選擇 硅谷-美國
          5. 修改觸發(fā)規(guī)則為推送到master自動(dòng)執(zhí)行。

          食用方法

          1. 申請(qǐng)一個(gè)令牌
          2. 添加默認(rèn)字符串變量CODING_KEY變量內(nèi)容為:令牌用戶名:令牌密鑰
          3. 修改倉庫Jenkinsfile文件中的克隆地址為該倉庫地址。
          4. 修改需要下載的下載鏈接
          5. 保存就可以啦,然后就會(huì)自動(dòng)開始下載。
          6. 最后前往download分支下載你所需的這個(gè)文件就可以了,別忘了下載完成后刪除download分支哦。
          7. 之后食用直接修改下載鏈接即可,別忘了每次下載完成后要?jiǎng)h除download分支哦

          Github-Action版本(平均耗時(shí)46s

          感謝Flexiston,同樣支持GithubAction部署,原理類似,請(qǐng)自行更改。

          默認(rèn)使用travis-ci部署,若用GithubAction請(qǐng)將workflew的yml中 _master 改為 master,并設(shè)置倆變量TOKEN和LINK,TOKEN即GithubTOKEN,LINK為下載鏈接

          Vercel版本(平均耗時(shí)12s

          目前部署速度最快

          電信用戶強(qiáng)推,電信直連香港亞馬遜,避免分塊麻煩

          1. 首先你有個(gè)github賬號(hào),用此賬號(hào)登錄vercel ,并Star?此項(xiàng)目 【可選
          2. Import此項(xiàng)目
          3. 新建一個(gè)變量,變量名字為 LINK 變量值為下載鏈接。
          4. Deploy!你會(huì)獲得一串鏈接,里面是vercel自帶的目錄列表程序,點(diǎn)擊下載即可
          5. 以后只要修改LINK值并點(diǎn)擊 redeploy 重新部署即可。

          已知的問題:

          • [x] 下載Release時(shí)可能會(huì)下載到Github默認(rèn)的跳轉(zhuǎn)頁面【此時(shí)為一個(gè)html】
            • 暫時(shí)解決方法:用記事本打開下載的文件,復(fù)制跳轉(zhuǎn)鏈接,用雙引號(hào)包裹該鏈接下載
            • 注意:建議直接下載Source打包,避免跳轉(zhuǎn)至亞馬遜云【亞馬遜云鏈接有特殊字符】
            • 已修復(fù),采用-L支持重定向

          Todo:

          • [x] 編寫GithubAction版本
          • [x] 編寫Coding版本
          • [ ] Netlify支持
          • [ ] Heroku支持
          • [x] Vercel支持

          關(guān)于

          travis-ci集成部署,通過curl下載、tar打包、split切塊、git部署至Github、jsdelivr加速下載、windows下copy命令合并。

          此腳本可以下載任意直鏈文件,包括但不限于Github,但是請(qǐng)勿濫用

          請(qǐng)注意下載完畢后將 gh-pages 分支及時(shí)刪除!否則會(huì)產(chǎn)生比較大的commit影響Github!

          jsdelivr條約約束:

          根據(jù)2020年8月9日J(rèn)sdelivr Create Acceptable Use Policy

          其中第4條Prohibited Use:

          4.?Prohibited?Use

          The?following?behavior?is?prohibited:

          ?1.?Hosting?or?accessing?content?that:
          ?????-?contains?malware?or?harmful?code?in?any?form,
          ?????-?violates?proprietary?rights?of?others,
          ?????-?is?sexually?explicit,
          ?????-?is?potentially?illegal?in?the?EU?or?the?USA.

          ?2.?Abusing?the?service?and?its?resources,?or?using?jsDelivr?as?a?general-purpose
          ????file?or?media?hosting?service.?This?includes,?for?example:
          ?????-?running?an?image?hosting?website?and?using?jsDelivr?as?a?storage?for?all
          ???????uploaded?images,
          ?????-?hosting?videos,?file?backups,?or?other?files?in?large?quantities.

          ????We?recognize?that?there?are?legitimate?projects?that?consist?of?a?large?number
          ????of?files,?and?these?are?not?considered?abuse.?For?example:?icons?packs,?apps,
          ????or?games?with?a?large?number?of?assets.

          其中第二點(diǎn)明確指出不得用于大型文件備份,雖然我們有分塊制度,但我個(gè)人建議不得下載超過100MB。

          第5條Additional Restrictions in China

          ##?5.?Additional?Restrictions?in?China

          jsDelivr?holds?an?ICP?license?issued?by?the?Chinese?government,
          which?allows?us?to?operate?infrastructure?directly?in?Mainland?China.
          To?keep?this?license?and?allow?our?Chinese?users?to?benefit?from?the?performance
          improvements?it?provides,?any?content?served?via?our?Chinese?network?must?conform
          to?Chinese?policies.?Content?potentially?violating?Chinese?policies?may?be
          blocked?in?China?without?warning.

          明確指出使用網(wǎng)宿節(jié)點(diǎn)的網(wǎng)民【與居住地點(diǎn)、國籍無關(guān)】必須遵守中華人民共和國法律約束,不得用于下載當(dāng)局明令禁止文件。

          由于以上原因?qū)е聼o法使用jsdelivr服務(wù)者,本項(xiàng)目、項(xiàng)目組織、項(xiàng)目創(chuàng)始人均不負(fù)責(zé)。

          許可

          MIT


          如果你也有好的開源項(xiàng)目,歡迎推薦!

          微信聯(lián)系:westbrook12000



          回復(fù)?【關(guān)閉】學(xué)關(guān)閉微信朋友圈廣告
          回復(fù)?【實(shí)戰(zhàn)】獲取20套實(shí)戰(zhàn)源碼
          回復(fù)?【福利】獲取最新微信支付有獎(jiǎng)勵(lì)
          回復(fù)?【被刪】學(xué)查看你哪個(gè)好友刪除了你巧
          回復(fù)?【聊天記錄】學(xué)備份/恢復(fù)聊天記錄
          回復(fù)?【訪客】學(xué)微信查看朋友圈訪客記錄
          回復(fù)?【卡通】學(xué)制作微信卡通頭像
          回復(fù)?【python】學(xué)微獲取全套0基礎(chǔ)Python知識(shí)手冊(cè)
          回復(fù)?【臨時(shí)】獲取臨時(shí)接收短信、郵箱驗(yàn)證碼網(wǎng)址列表

          一個(gè)Github還不夠?微軟又推出新的開源網(wǎng)站!


          副業(yè)剛需,個(gè)人開發(fā)者如何通過小程序變現(xiàn)?已經(jīng)有朋友變現(xiàn)月入4k了!


          收藏:一套開源車牌識(shí)別系統(tǒng)




          瀏覽 77
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  你懂的网址国产,欧美 | 亚洲成人高清在线观看 | 国产精品高潮内射激情视频 | 色婷婷五月天亚洲中文字幕 | 国产精品一极二极 |