IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 免费开源Github Page实现短链接方案 -> 正文阅读

[开发工具]免费开源Github Page实现短链接方案

以前公司有一个需求,将推广用的长链接转化为短链接,再通过营销短信发送给客户。虽然有很多的第三方短链的生成工具,但为了安全还是自建一个。以前用过开源的YOURLS,是基于PHP的开源方案。 https://github.com/YOURLS/YOURLS 。

今天在网上发现一个更加简单的方案就是,gh-pages-url-shortener,一款完全使用 GitHub Pages 就可搭建的最小型的短链接生成服务。

开源地址: https://github.com/nelsontky/gh-pages-url-shortener

Github开源的短链接:https://nlsn.cf/1

不需要自己有服务器,通过自有域名解析到Github Page,在指定的issue上添加目标地址即可实现,链接跳转。

github-gp-dlj

搭建准备

有个自有域名,例如星哥的 d.xggs.net。

github账号:笔者的funet8

安装步骤

Fork仓库

打开https://nlsn.cf/1页面,点击fork,将原来的仓库拷贝到自己的账号下。

image-20220307160441365

image-20220307160538052

获取到仓库:https://github.com/{你的用户名}/gh-pages-url-shortener, 我的仓库是 https://github.com/funet8/gh-pages-url-shortener

配置GitHub Pages

github pages 可以做什么?
github pages 可以放一些纯静态的网站,比如你的项目介绍等.当然,也可以使用一些静态博客工具在本地通过markdown写博客,生成静态页面后发布到github pages

image-20220307163103417

image-20220307163121048

新建仓库存放当做数据库

GitHub 上新建一个仓库,当做数据库用来存储链接,笔者这里命名为 gh-pages-url-shortener-db,得到 https://github.com/funet8/gh-pages-url-shortener-db

image-20220307161348791

修改仓库配置

修改CNAME

把fork的仓库https://github.com/funet8/gh-pages-url-shortener克隆到本地,修改文件之后提交到github。

如果你有自己的私有域名,可以设置对应的 CNAME(这跟其他 GitHub Pages 设置一样)

CNAME文件里的改成私有域名
d.xgss.net

修改404.html的接口地址

修改仓库中的404.html,将GITHUB_ISSUES_LINK改成自己的地址, 地址根据实际情况填写。

var GITHUB_ISSUES_LINK =
        "https://api.github.com/repos/funet8/gh-pages-url-shortener-db/issues/";

域名解析

我的域名是在阿里云上购买的,将域名CNAME解析到

d.xgss.net 解析到 funet8.github.io

image-20220307162851318

访问: http://d.xgss.net/

再在 https://github.com/funet8/gh-pages-url-shortener-db/issues 提交一个issue,在里面就会有一个id号

image-20220307164145678

image-20220307164406837

访问 http://d.xgss.net/1 即可跳转到你提交的地址上,以后就可以在github仓库中的issues的标题添加目标地址,就可以实现短链接跳转了。

安全性

由于目标地址是存储在issues上,避免有好事者乱提交issuse用,github issues 怎么禁止其他人提交,则将我的 gh-pages-url-shortener-db的issues设置为私有。

设置为私有,就所有的url的地址都是404了,只能手动定时清理,避免出现麻烦。

image-20220307165642994

没有自有域名

如果没有自有域名,可以用github的域名实验,但这个就是长了: {github账号名}.github.io/{仓库名}

笔者的地址: http://funet8.github.io/gh-pages-url-shortener/1

总结

nlsn.cf/1应该链接到这个 repo。

要添加新的短链接,请将标题作为您要缩短的链接(包括http(s)://)的问题添加到 https://github.com/nelsontky/gh-pages-url-shortener-db/issues。

新创建的短网址可以通过以下方式访问nlsn.cf/{issue_number}
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:48:06  更:2022-03-10 22:49:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:01:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码