github 圖床使用免費CDN加速(jsdelivr)

github做圖床大部分人都知道,但是國內訪問速度不穩定,所以使用jsdelivr加速。

jsdelivr是什么呢?它是一個免費、快速和可信賴的CDN加速服務,直接集成在github中的,無需額外操作即可使用。

本文分兩部份,最終實現的效果是:

在本地文件夾中某圖片上點擊鼠標右鍵,選中 上傳至github圖床,稍等片刻,在需要使用的地方直接Ctrl+v粘貼即可。

一、怎么使用jsdelivr

二、通過腳本一鍵上傳圖片至github,并返回地址到粘貼板

先來說第一部分

1.在github上創建一個項目,githubpic,公開項目
2.隨便上傳一張圖片xx.jpg
3.訪問CDN地址,第一個老是失聯,目前用第二個
https://cdn.jsdelivr.net/gh/github用戶名/倉庫名@master/xx.jpg
https://gcore.jsdelivr.net/gh/github用戶名/倉庫名@master/xx.jpg這里注意一下,@master是jsdelivr默認的版本,不跟github的走,即github現在默認創建的原始分支是main(早前是master),訪問CDN的時候還是@master

這一部分結束,基本上就算作使用了CDN了,但我們日常操作肯定不會這么麻煩的去傳,所以這里我結合這篇文章 個人圖床的最簡單制作-騰訊云COS 做了個簡單的腳本實現一鍵上傳,一鍵使用

第二部分,一鍵上傳

1.github申請ssh密鑰

這一部分網上很多,大家可自行搜索,也可看我找的這篇文章,最終實現的就是拉取、上傳代碼都是免密的效果

2.將剛才的項目githubpic拉取到某個目錄(建議D盤)下,使用ssh拉取

3.處理腳本

3.1在C盤根目錄下創建目錄commitGithub,在目錄中創建commit.bat,打開編輯,將下列內容粘貼進去保存,注意修改其中的基礎目錄為倉庫本地目錄
@echo off
chcp 65001 >nul  :: 設置 cmd 為 UTF-8 編碼
:: =============================================
:: 功能:右鍵上傳圖片到 Git (SSH方式) 并返回網絡地址
:: 使用方法:右鍵圖片 → 選擇"上傳到Git"(需先配置SSH密鑰)
:: =============================================
::1.設置基礎目錄-必設,你的倉庫拉取下來的本地路徑
set "base=D:\githubpic"
set "image_file=%~1":: 2. 進入文件所在目錄(確保 Git 命令在正確目錄執行)
cd /d "%~dp1":: 3. 檢查是否是 Git 倉庫
git rev-parse --is-inside-work-tree >nul 2>&1
if errorlevel 1 (echo 錯誤:當前目錄不是 Git 倉庫!pauseexit /b
):: 4. 添加文件到暫存區并提交
git add "%image_file%"
set "commit_message=上傳文件: %~nx1"
git commit -m "%commit_message%":: 5. 使用SSH方式推送(不再轉換地址,直接推送):: 如果是其他分支,修改為對應分支名
git push origin main || (echo ? Git 推送失敗,錯誤代碼: %ERRORLEVEL%pauseexit /b %ERRORLEVEL%
)echo ? Git 推送成功,繼續執行后續操作...:: --------提交成功,下面開始拼裝CDN路徑--------
:: 6. 獲取 Git 遠程SSH地址(用于生成網絡訪問URL)
for /f "tokens=*" %%A in ('git config --get remote.origin.url') do set "git_remote=%%A":: 檢查是否是SSH地址(如 git@github.com:user/repo.git)
echo %git_remote% | findstr "git@" >nul
if errorlevel 1 (echo 錯誤:當前遠程地址不是SSH格式!請使用SSH地址(如 git@github.com:user/repo.git)pauseexit /b
)::  如果有二級目錄,這里會拆分路徑
set "dir=%~dp1"
call set "p=%%dir:%base%=%%"
set "p=%p:\=/%"
if not "%p:~0,1%"=="/" set "p=/%p%"
if not "%p:~-1%"=="/" set "p=%p%/"set "image_name=%~nx1"
set "image_file_path=%p%%image_name%":: 7. 生成網絡訪問URL(GitHub示例)將SSH地址轉換為HTTPS格式的raw地址
:: 替換SSH地址為HTTPS-jsdelivr-CDN地址(GitHub)
set "git_remote_https=%git_remote:git@github.com:=%"
:: jsdelivr的CDN地址經常被污染,特提供幾個替代地址,以便不時之需,如果全部被污染,那就沒辦法了,替換下面的前綴即可
:: https://gcore.jsdelivr.net/gh/  短暫測試,這個地址的失聯率最低,暫時用這個
:: https://testingcf.jsdelivr.net/gh/
:: https://cdn.jsdelivr.net/gh/    這個地址經常跳轉到 raw.github的網站上,相當于沒有啟用CDN
set "git_remote_https=https://gcore.jsdelivr.net/gh/%git_remote_https:.git=%"
:: 下面這個是開啟jsdelivr的CDN加速的地址,目前github最新建的項目是main版本,但是jsdelivr還是默認master版本
set "image_network_url=%git_remote_https%@master%image_file_path%"
:: 8. 輸出網絡地址
echo 圖片已上傳!網絡訪問地址:
echo %image_network_url%:: 復制到剪貼板(需 clip 命令支持)
echo %image_network_url% | clip
echo 地址已復制到剪貼板!echo 已上傳完畢,Ctrl + v 即可粘貼,窗口將在5秒后關閉...
timeout /t 5 /nobreak >nul
exit
3.2添加右鍵快捷鍵
WIN+R調用運行庫,輸入regedit,會打開注冊表編輯器
找到目錄 計算機\HKEY_CLASSES_ROOT\*\shell

在shell上右鍵新建項:上傳github圖床,在 上傳github圖床 上右鍵新建項:command,如圖:

右側雙擊默認,修改值為:

cmd.exe /K "C:\commitGithub\commit.bat "%1""

至此,大功告成。

使用的話,把圖片拖到本地項目目錄下,右鍵點擊 上傳github圖床 等待命令執行完即可

成功狀態:

上傳成功的圖片大概會有1分鐘-5分鐘延時。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89226.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89226.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89226.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

lte高階調制和AMC

文章目錄 LTE高階調制AMC LTE高階調制 首先什么是調制?調制是把通信系統中的基帶信號(低頻)轉化成適合信道傳輸的高頻信號的過程。 波長(λ)與頻率(f) 基本關系: λc/f,λc/f&…

shardingsphere5.2.1與SpringBoot3.X的版本沖突問題

1.先說一下我的版本配置與遇到的問題 問題產生的依賴和版本: 主要依賴依賴版本jdk17SpringBoot 3.3.13shardingsphere-jdbc 5.2.1 問題產生的原因: 主要就是shardingsphere-jdbc 與SpringBoot版本沖突,因為Spring Boot 需要 SnakeYAML 庫來解…

FPGA控制88E1512 PHY芯片完成網絡通信

一、88E1512分析 本文不對88E1512進行詳細解析,僅對調試過程中重點使用的幾個寄存器進行說明。 1.1 MDIO時序分析 根據手冊,MDIO時序中,mdc時鐘最高為12Mhz。占空比和建立保持時間要求可以觀察上述表格。 MDIO的讀數據時序圖如下&#xff1a…

Ai大模型 - ocr圖像識別形成結構化數據(pp-ocr+nlp結合) 以及訓練微調實現方案(初稿)

全局目錄,一步到位 功能流程第一階段 基于現有條件進行 調研,測試與評估1.1 ocr深度學習模型 pp-ocr1.2 nlp結構化模型1.3 硬件要求: 第二階段 模型訓練微調2.1 更換ocr-GPU模型, 下載相關環境2.2 nlp模型 語義訓練2.3 最低硬件要求:2.4 樣本數據: (重點)2.5 進一步增強模型能力…

【Linux】軟硬鏈接,動靜態庫

目錄 一、認識一下常用指令 1、建立一個軟鏈接 2、建立一個硬鏈接 3、刪除文件的第二種方式:刪除鏈接unlink指令 二、什么是硬鏈接? 三、軟硬鏈接的原理: 四、應用場景 1、建立一個軟鏈接可以快速在一個比較深的路徑中找到目標文件進行…

VRR(可變刷新率)和QMS(快速媒體切換)

🔧 一、技術原理的本質區別 技術VRR (可變刷新率)QMS (快速媒體切換)核心目標消除動態幀率波動導致的畫面撕裂/卡頓消除靜態幀率切換時的黑屏中斷工作機制實時調整顯示器刷新率(Hz)匹配GPU輸出幀率(FPS)→ 動態延長/縮…

GO 語言學習 之 Map

map 是 Go 語言中非常重要的數據結構,常用于需要快速查找、統計或分組數據的場景。 map定義: package mainimport "fmt"func main() {var m1 map[int]string // 創建一個 mapm2 : make(map[int]string) // 創建一個 map m3…

什么是可觀測性?監控、日志、追蹤三者之間有什么區別?

一、引言:為什么現代系統需要“看得見”? 你是否遇到過這樣的情況:系統運行突然變慢,但沒人知道問題出在哪?隨著微服務、云原生架構的普及,系統的復雜度越來越高,傳統的“靠經驗判斷”已經無法…

扣子(coze)實戰|自動搬運+改寫+歸檔!自媒體矩陣終極方案

今天給大家分享的是用coze做一個工作流來自動提取抖音/小紅書視頻文案及改寫并傳入到飛書多維表格,我們先來看案例 上傳視頻鏈接即可一鍵生成,廢話不多說,上教程~ 一、整體工作流如下: 二、開發思路: 三、詳細工作流分…

K8s環境下基于Nginx WebDAV與TLS/SSL的文件上傳下載部署指南

#作者:閆乾苓 文章目錄 1.問題及背景2.方案說明3.部署步驟3.1 制作TLS/SSL私有證書3.2 創建訪問nginx賬戶密碼文件并創建secret3.3 為TLS/SSL私有證書創建secret3.4 為Nginx 配置文件創建confimap3.5 使用deployment,svc部署nginx3.6 客戶端curl上傳下載…

【Day 7-N17】Python函數(1)——函數定義、位置參數調用函數、關鍵字參數調用函數、函數的默認值

挑戰14天學會Python,第7天學習筆記!加油! 一、概述 函數(Function)是 Python 中用于封裝可重用代碼塊的基本結構。通過定義函數,我們可以將復雜邏輯拆分為更小、更易管理的單元,并通過參數傳遞…

STM32 驅動 ADS1015 單端 差分 多通道模式 ADC 轉換

文章目錄 一、ADS1015簡介二、引腳功能三、寄存器介紹1.Conversion Register 轉化數據存放寄存器2.Config Register 配置寄存器 四、IIC時序1.寫寄存器2.讀寄存器 五、程序六、實驗現象1.單端模式2.差分模式3.偽多通道模式 一、ADS1015簡介 ADS1015 是一款由德州儀器&#xff…

RabbitMQ 消費冪等性與消息重放實現

一、冪等性實現 1.1 什么是冪等性? 冪等性是指同一條消息無論被消費多少次,業務結果都只生效一次,防止重復扣款、重復發貨等問題。 RabbitMQ 的投遞模式是“至少一次交付”(at-least-once delivery),如果消費者處理失敗或者沒有及…

【HarmonyOS 5】鴻蒙TEE(可信執行環境)詳解

【HarmonyOS 5】鴻蒙TEE(可信執行環境)詳解 一、TEE是什么? 1、TEE的定義: 可信執行環境(Trusted Execution Environment),簡稱TEE,是存在于智能手機、平板或任意移動設備主處理器…

算法: 冒泡排序

冒泡排序是一種簡單的排序算法,通過相鄰元素的比較和交換,使較大的元素逐漸"浮"到數組末尾。 時間復雜度:最佳 O(n) | 平均 O(n) | 最差 O(n) 空間復雜度:O(1) 穩定性:穩定 應用場景/前提條件 適用于小規模數據對幾乎已排序的數據效率較高…

基于SpringBoot的家電銷售展示平臺

源碼編號:S567 源碼名稱:基于SpringBoot的家電銷售展示平臺 用戶類型:雙角色,用戶、管理員 數據庫表數量:14 張表 主要技術:Java、Vue、ElementUl 、SpringBoot、Maven 運行環境:Windows/M…

java+vue+SpringBoo智慧旅游系統(程序+數據庫+報告+部署教程+答辯指導)

源代碼數據庫LW文檔(1萬字以上)開題報告答辯稿ppt部署教程代碼講解代碼時間修改工具 技術實現 開發語言:后端:Java 前端:vue框架:springboot數據庫:mysql 開發工具 JDK版本:JDK1.…

Docker 入門教程(三):鏡像操作命令

文章目錄 🐳 Docker 入門教程(三):鏡像操作命令獲取鏡像:docker pull查看鏡像:docker images刪除鏡像:docker rmi搜索鏡像:docker search鏡像打標簽:docker tag鏡像詳情與…

如何修改discuz文章標題字數限制 修改成255

在 Discuz! X3.5 中,文章(主題)標題字數的限制可以通過修改數據庫結構以及后臺配置來實現,以下是完整的修改方法,將標題長度限制改為 255 個字符: ? 一、修改數據庫字段長度 Discuz 默認標題字段是 subje…

基于BP神經網絡的26個英文字母識別

本課題旨在設計并實現一個基于BP(反向傳播)神經網絡的英文字母識別系統,實現對手寫或打印的26個英文字母(A-Z)的自動分類識別。項目首先對字母圖像進行預處理(如灰度化、歸一化、二值化和特征提取&#xff…