推荐一个 Rust 语言开发的短网址服务 MicroBin,Github 项目地址:
https://github.com/szabodanika/microbin
最终使用效果如下:
对于短网址,最终会生成一条重定向记录。在 Redirect 上复制链接,可以得到短网址。
最终短网址与原网址间的对应关系为:
http://<server>/url/<ID>
以上面的demo为例,当访问 http://ip.vip/url/e1WOjb 时会跳转至原始网址。
下面介绍 microbin 的安装及运行。
MicroBin 是使用 Rust 开发的,可接直接使用 Rust 的项目构建工具 cargo 进行安装:
$ cargo install microbin
microbin 最终会下载到 ~/.cargo/bin/microbin ,将其加到 PATH 环境变量中,在终端执行:
mkdir microbin_data
cd microbin_data
microbin
2024-02-06T16:59:25 [INFO] - MicroBin starting on http://0.0.0.0:80
2024-02-06T16:59:25 [INFO] - starting 4 workers
2024-02-06T16:59:25 [INFO] - Actix runtime found; starting in Actix runtime
在执行 microbin 前可以先配置环境变量,使用环境变量控制端口号、功能启用,环境变量示例在:
https://raw.githubusercontent.com/szabodanika/microbin/master/.env
下载下来后可以保存为 env 文件,执行前使用 source env 激活环境变量。给一个本地运行的环境变量示例:
export MICROBIN_EDITABLE=true
export MICROBIN_HIDE_HEADER=false
export MICROBIN_HIDE_FOOTER=false
export MICROBIN_HIDE_LOGO=false
export MICROBIN_NO_LISTING=false
export MICROBIN_HIGHLIGHTSYNTAX=true
export MICROBIN_PORT=80
export MICROBIN_BIND="0.0.0.0"
export MICROBIN_PRIVATE=true
export MICROBIN_PURE_HTML=false
export MICROBIN_DATA_DIR="microbin_data"
export MICROBIN_JSON_DB=false
export MICROBIN_PUBLIC_PATH=http://it.vip/
export MICROBIN_SHORT_PATH=http://it.vip/
export MICROBIN_READONLY=false
export MICROBIN_SHOW_READ_STATS=true
export MICROBIN_THREADS=4
export MICROBIN_GC_DAYS=0
export MICROBIN_ENABLE_BURN_AFTER=true
export MICROBIN_DEFAULT_BURN_AFTER=0
export MICROBIN_WIDE=false
export MICROBIN_QR=true
export MICROBIN_ETERNAL_PASTA=false
export MICROBIN_ENABLE_READONLY=false
export MICROBIN_DEFAULT_EXPIRY=24hour
export MICROBIN_NO_FILE_UPLOAD=false
export MICROBIN_HASH_IDS=true
export MICROBIN_ENCRYPTION_CLIENT_SIDE=false
export MICROBIN_ENCRYPTION_SERVER_SIDE=false
export MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB=256
export MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB=2048
export MICROBIN_DISABLE_UPDATE_CHECKING=false
export MICROBIN_DISABLE_TELEMETRY=false
export MICROBIN_LIST_SERVER=false
在官方的示例中有每个变量的解释,可以根据自己的情况进行配置。
MicroBin 除了短网址服务,它还提供附件上传、代码片段分享、阅后即焚模式。根据资源的生命周期决定是24小时后删除,还是永久保存。如果只是临时分享,可以设置有效期。可以按时间进行设置,也可以按访问次数进行设置,当超出有效期将删除资源。
短网址只是 MicroBin 的一项功能,它除了可以用来分享网址,还可以用来分享附件、代码片段。特别是跨主机的消息传输,如果是使用临时文件,很有可能会忘记删导致信息泄露。
MicroBin 的界面非常简洁,也提供基础的账户认证,更多细节可以阅读其项目文档。
https://crates.io/crates/microbin
关于 cargo 的安装,之前写过文章专门做过介绍:
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
原文始发于微信公众号(生有可恋):自建短网址服务
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论