在我有 Mac 之前,如果看到有意思的东西,想要分享给基友,就不得不手打一遍网址( Linux 党表示很绝望)。。。一大段网址下来,早就没有继续分享的欲望了。
后来发现有短网址服务,然而国内很多都是白名单机制,一大堆域名都不支持,于是抱着学(wa)习(keng)的想法决定自己写一个。
最初的版本很简单,只有生成短链接和跳转功能,没有统计,甚至也没有管理功能,但是用起来很爽,就这么用了两年。
最近心血来潮,把之前的项目全都更新了一遍。。。
参考各种现有的短网址服务,第二版加了不少功能,从最基本的管理到统计:
- 支持自定义短网址
- 同时生成对应的二维码,拿起手机扫一扫
- 支持短网址有效期设置
- 支持对短网址的二次编辑
- 支持暂时停止短网址的跳转
- 支持形式丰富的访问统计分析(其实挺丑陋的😅)
- 支持添加短网址备注,便于查看
- 支持导出短网址列表
- 去除了容易混淆的字符
- 采用 307 状态码,保留原始请求方法
- 启用 HTTPS 加密通信,降低个人隐私泄漏的风险
- 没有恶心人的域名白名单限制,除了儿童色情、恶意病毒等人神共愤的内容,不做其他限制
关于使用的技术
- 前端用的是陈旧但是简单的 Bootstrap v3,其他的前端框架一直懒得学
- 后端 PHP 写的( PHP 是最好的语言✌️)
- 基于 Redis 加了缓存功能,只用了最简单的缓存 5 分钟机制,其他的可以通过 Redis 来设置
- 关于统计数据,本来是打算放到 ClickHouse 里的,再用 RabbitMQ 解藕,但是考虑到实际情况以及部署难度,就直接写到 Mysql 数据库了,就算哪天真的量大了,替换一下也比较简单。
一开始用的自己的主域名,但是怕短网址被滥用的话会影响到其他子域名,所以这次直接注册了一个新的域名,彻底放开使用。
网站都放在国外,套了一层 cf,可能速度会比较慢。(鄙视阿里云审查我的服务器流量)
短网址生成器 网址: https://my5353.com/ 。
登陆之后可以对自己的短网址进行管理。不想注册新用户的话可以用 v2ex/KxuRSTrR0hopXQhB 这个账号。
(顺便推广一波我的在线随机密码生成器 😂,网址 https://easypwd.newnius.com/ 。这个是部署在又拍云上的,纯静态站点,访问应该很快。)
代码开源在 GitHub , 网址: https://github.com/newnius/short-link。
欢迎大家使用和 star 👏