URL短链地址生成器Pckd
网友
JOJO
在找生成短链的应用,老苏之前推荐的是Kutt
,奈何搞不定 🤦,换成了Pckd
,用着似乎也还不错
什么是 Pckd ?
Pckd
是一个完全可定制的、开源的、免费使用的、以可用设计为中心的、跟踪密集型的URL
缩短器,具有很棒的功能。
前期准备
获取 API key
Pckd
使用 IP Registry
进行地理位置查找,以跟踪命中率
免费版可以查找 100000
次,需要从 https://ipregistry.co 网站注册登录之后,在 API keys
中点击红框部分,来获取 API key
环境变量
postgres:14
可变 | 值 |
---|---|
POSTGRES_DB |
数据库库名,默认的就可以 |
POSTGRES_USER |
数据库用户,默认的就可以 |
POSTGRES_PASSWORD |
数据库密码,密码建议改掉 |
petrleocompel/pckd-server
可变 | 值 |
---|---|
DATABASE_TYPE |
数据库类型,默认的 postgres 就可以 |
DATABASE_URL |
数据库地址,默认为 postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} |
JWT_SECRET |
加密因子,可以用 openssl rand -base64 长度 来生成 |
IPREGISTRY_API_KEY |
IP Registry 网站获取的 API key |
petrleocompel/pckd-client
可变 | 值 |
---|---|
BACKEND_URL |
服务端地址,默认的就可以,不需要改 |
命令行安装
如果你熟悉命令行,可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: "3" |
然后执行下面的命令
1 | # 新建文件夹 pckd 和 子目录 |
运行
软件启动速度应该算比较快的,在容器 pckd-server
的日志中看到下面的信息就可以开始访问了
在浏览器中输入 http://群晖IP:8016
就能看到主界面
输入 https://laosu.ml
测试一下
生成了短地址
可以直接访问,但是 Copy
不了
当然后缀也可以在 Advanced Options
中支持自定义
反向代理
短链接应该是放在公网用的,用局域网 IP
方式显然是不合理的
虽然老苏已经尽量缩短 url
,但是实际上还是有点长,毕竟是二级域名,有条件的话,最好用短的一级域名 😂
SSL
还是没问题就全选
用域名 https://st.laosu.ml:444
访问,生成的短链 Copy
时就不会显示 Unable to copy the text
了
实际上生成的链接是 https://st.laosu.ml:444/e0lit88
,如果是 https://laosu.ml/e0lit88
就更好了
域名倒是简单,但是考虑到还有一堆工作需要完成,比如备案、解析等等,想想还是算了吧
后台管理
点右上角的 Login
–> Sign up
,注册账号
有账号的话直接登录
进入 Dashboard
面板
生成短链之后,可以将其分享或者用于博客等地方
最后上一张官方的图,看得出来 Pckd
还有访问跟踪的功能
结语
目前这个版本已经不再更新了,从官网看正在集中精力研发 Pckd V2
另外官方提供了 Pckd
与几款同类产品的对比,王婆卖瓜,看看就好了,起码可以了解下有哪几款类似的产品
参考文档
Just-Moh-it/Pckd: The most ⚡️ analytics-intensive 💪 self-hostable 🔗 URL shortener, with an amazing UI 😍
地址:https://github.com/Just-Moh-it/PckdHello from Pckd - Docs | Pckd - Docs
地址:https://docs.pckd.me/Prebuilt Docker image · Issue #32 · PckdHQ/Pckd
地址:https://github.com/PckdHQ/Pckd/issues/32Pckd - The most ⚡️ analytics-intensive 💪 self-hostable 🔗 URL shortener, with an amazing UI 😍 : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/srn4wo/pckd_the_most_analyticsintensive_selfhostable_url/