这个方案只是出于学习和分享的目的,肯定是不建议在生产环境中使用的。并且不是最优的方案,只是一个简单的实现。
git commit --allow-empty -m
将每一个真实网址作为一个 commit message 提交到 GitHub 仓库。比如: https://link.wxhboy.cn/22bb (22bb 是一个 SHA-1 值)
以上就是整个实现的思路。源码在这里, Wxh16144/links/blob/gh-pages/404.html
Firebase Dynamic Links 已被弃用,不应该在新项目中使用。该服务将于 2025 年 8 月 25 日关停。
由于以前使用的 Firebase Dynamic Links 服务,并且最近登录后发现弃用提示。发现提供了数据导出的功能,所以就导出了历史数据。
这里可以用脚本将导出的数据的真实地址一条条的转换成 commit message ,然后提交到 GitHub 仓库中。
但是之前的路径是不一样,所以我们可以痛过 tag 来实现一一对应。就像这样:
如上操作后,我们就可以通过 tag 或分支名来实现语义化的路径
用 SHA-1 值作为路径,虽然不是最短的短网址,但是可以保证唯一性。
加上之前网络上出现过一篇名为 《 Anyone can Access Deleted and Private Repository Data on GitHub 》 的文章,说的是即便删除了有关分支和 tag 依然可以通过 api 获取到提交的信息。微软回应这是设计如此。
所以我们在仓库只要有 push 过的提交,都可以通过 SHA-1 值来获取到提交信息。也就是说,这个基于 SHA-1 值的短网址服务是可以永久保留的。
说完我们的骚操作,也要说说缺点。
以上,这是一个玩具~
1
nagisaushio 19 小时 7 分钟前
天才!
|
2
hellodigua 19 小时 4 分钟前
太骚了这操作,想都想不到
|
3
evan1 19 小时 0 分钟前
这不是天才是什么!
|
4
tutouguai 18 小时 59 分钟前
难你天?
|
5
abinnz 18 小时 58 分钟前
办法不错,就是有安全风险,泄露 GITHUB_TOKEN
|
6
SoyaDokio 18 小时 58 分钟前
怎一个骚字了得,高,实在是高!
|
7
BestVPS 18 小时 58 分钟前
看不懂,但字多,应该很牛逼!
|
8
lijilin92 18 小时 54 分钟前
666
|
9
fj19 18 小时 35 分钟前
这个路子确实有点野
|
10
mobile8 16 小时 35 分钟前
hhh LGTM
|
11
lolita89201 16 小时 32 分钟前
TMD 甘! 你真是一个天才
|
12
vampuke 16 小时 23 分钟前 1
奇技淫巧
|
13
deplives 16 小时 22 分钟前
你小子还真是个天才
|
14
xiaowoli 16 小时 4 分钟前
什么奇技淫巧,你分明就是 甜菜!
|
15
asilencebtf 15 小时 59 分钟前
woc 难他天
|
16
musi 15 小时 57 分钟前 via iPhone
啊? 这? 啊?
|
17
Leung818 15 小时 52 分钟前
我?六!
|
18
suhu 15 小时 40 分钟前
```json
{ "message": "API rate limit exceeded for ****. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)", "documentation_url": "https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting" } ``` github 是有 rate limiting 的 鉴于机场 ip 万人骑的原因,不建议用于生产(和 OP 说的一样) |
20
kristofer 15 小时 39 分钟前
真想看看你的小脑瓜里都在想什么。嘿嘿嘿
|
21
dqzby 15 小时 33 分钟前
太有意思了
|
22
jadehare 15 小时 4 分钟前
牛逼,跟当时看到浏览器两个页面用 localstorage 定位一个感觉,骚,牛逼。
|
23
hjzx050935 14 小时 54 分钟前
这个有点好玩
|
24
rimwindy 14 小时 43 分钟前
有意思
|
25
whoami9426 14 小时 39 分钟前
天才!
|
26
fengpan567 14 小时 34 分钟前
出院!!!
|
27
macaodoll 14 小时 19 分钟前 via Android
怎一句牛逼能形容的
|
28
CoderAdam 13 小时 43 分钟前
挺有想法的,牛逼!!!
|
29
M5tuA 13 小时 40 分钟前
牛逼
|
30
96 13 小时 28 分钟前
|
31
guanhui07 13 小时 26 分钟前
牛逼
|
32
prosgtsr 12 小时 22 分钟前
出院!!!
|
35
fengmk2 11 小时 15 分钟前
|
36
coldle 9 小时 24 分钟前
看傻了,天才!
|
37
ysc3839 9 小时 17 分钟前 1
都用网页跳转了,完全可以把列表写进网页里。
实际上建议用 Vercel 或者 Firebase Function 等 Serverless 服务来跳转,也是直接把链接写进脚本里即可。 |
38
lonely701 8 小时 53 分钟前
奇技淫巧,文化水平还需要提高。
|
39
Tianket 5 小时 7 分钟前
天才!
|
41
timothyye 1 小时 47 分钟前 via Android
奇淫技巧是什么意思?特别淫荡的技巧?
|