1 个不稳定版本
0.2.1 | 2020年1月11日 |
---|
#91 in #short
30KB
548 行
一个基本的、自托管的链接缩短服务。
安装
cargo install dinky
构建
cargo build
测试
cargo test
命令行选项
使用信息可以通过 --help
提供。
配置
有一个配置文件(TOML 格式),如果没有指定 --conf
命令行参数,它将在默认的 XDG 路径中创建。
如果 dinky 写入配置,它将使用默认值填充,因此是一个很好的起点。当 dinky
启动时,将打印创建的文件名,可以就地编辑,并在重启后加载。
注释的配置选项
[settings]
bind = "127.0.0.1"
port = 4444
base_url = "http://example.com/"
- 绑定到的端口和 IP 地址。
- 用于生成链接的完全限定域名。这必须指向
dinky
运行的同一路径。
[hash]
length = 10
salt = "dinkysalt123"
- 生成的短链接哈希长度,以及用于哈希生成的盐。
[database]
kind = "Sqlite"
path = "example_db"
- 要使用的数据库。目前仅支持 sqlite。
[index]
hidden = false
html = ""
css = ""
form = ""
- 是否隐藏索引页面(如果您不想
dinky
提供提交表单)。 - 提供要服务的 HTML 模板、HTML 表单和 CSS 文件的路径。
这些是可选的,并且只有在您希望根本改变 dinky
的外观时才应使用。
在模板 HTML 中,{{content}}
将替换为表单 HTML,或任何其他 dinky
提供的内容或消息。另外,{{ver}}
将替换为当前版本的 dinky
。
使用 Cargo 和 systemd 作为服务安装
要手动设置 systemd,必须复制单元文件,并在系统上创建 dinky
用户。在项目仓库内部
cargo install dinky
sudo useradd -m --system dinky --shell /usr/sbin/nologin
sudo install -D -o dinky -g dinky ~/.cargo/bin/dinky -t /home/dinky/.cargo/bin/
sudo install -m 644 systemd/dinky.service /etc/systemd/system/
sudo systemctl enable --now dinky.service
与 nginx 一起使用
作为服务运行时,dinky
可以通过 nginx 代理,例如以下方式
location /some/path/ {
proxy_pass http://127.0.0.1:4444/;
}
见 nginx 文档。
预览
依赖关系
~41MB
~709K SLoC