banner
三文字

方寸之间

居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
github
email
misskey

使用GitHub搭建自己的短链接服務

前兩天偶然在 GitHub 發現一個挺有意思的專案,可以不依賴自己的伺服器、資料庫來構建一個短連結服務。自己嘗試了一下,還挺簡單的。這裡記錄一下自己的構建流程,感興趣的小夥伴可以自己嘗試一下。

先決條件#

  1. 新建兩個 GitHub 倉庫,一個用來做伺服器存儲源碼、提供服務 (url_shortener),一個用來做資料庫存儲連結 (url_shortener_db)
  2. 註冊一個域名(可選),如果沒有的話,可以直接使用 GitHub pages 的域名 (username.github.io)。不過我是用了自己註冊的域名:blog.johan.zone

獲取及配置源碼#

首先,你需要獲取這個服務的源代碼,你可以直接 fork 這個源碼倉庫,當然也歡迎 fork 我的代碼倉庫

然後,克隆自己的倉庫到本地 (當然,你也可以直接在 GitHub 網頁上操作),修改404.html文件的GITHUB_ISSUES_LINK字段,指向自己的url_shortener_db倉庫,這個倉庫的issues就是作為存儲你的連結的資料庫:

var GITHUB_ISSUES_LINK =
"https://api.github.com/repos/username/repo-name/issues/";

注意把上面的username repo-name替換為自己的用戶名及倉庫名。還有,最後的/不要漏掉,這是獲取連結的關鍵

配置 GitHub Pages#

接下來就是配置 Github Pages 了,這部分也很簡單。

點擊倉庫的Settings選項,找到其中的GitHub Pages部分,然後配置Source中的分支:
image

下面的部分根據自己需要選擇:

如果你不使用自己的域名#

  1. 刪除倉庫中的CNAME文件
  2. 404.html文件中的var PATH_SEGMENTS_TO_SKIP = 0;改為var PATH_SEGMENTS_TO_SKIP = 1;
  3. 到這裡就結束了,你可以直接跳到下一部分

如果你用了自己的域名#

  1. 到你的域名服務商,添加一個 CNAME 解析,域名指向username.github.io,注意替換username為自己的 GitHub 用戶名
  2. 等待幾分鐘(域名解析生效需要時間,所以最好提前做),再進入到 github pages 部分,鍵入你自己的域名,最好勾選Enforce HTTPS,然後點擊Save,刷新頁面,會顯示下面的內容:
    image
  3. CNAME文件中的域名更改為你配置好的域名
  4. 到此,就配置完成了,接下來可以測試一下

測試效果#

  1. 在你開始作為資料庫的 GitHub 倉庫創建一個 issue,標題就是你需要縮短的連結,其他什麼都不需要做,直接 Submit 就行了。

  2. 等待一會兒,然後在瀏覽器查詢連結https://<your-domain>/<issue-no>。例如:https://tldr.plus/2,點擊這個連結會跳轉到我的博客。其中的tldr.plus是我的域名,1代表 issue 的樓層數。

總結#

如果大家覺得麻煩,也可以使用我搭建的服務,你可以點擊這裡提供連結。

有人在這裡給了一個比較好的解釋,大家可以參考一下。

參考#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。