snac :一个小巧的微博程序

snac 是一个极简的 Fediverse / ActivityPub 实例,采用 C 语言,无数据库,无 JS。实测安装后只占用 10M 内存,非常小巧的微博程序。由于支持 Markdown,没有什么字数限制,当轻博客也不错。

安装

安装所需软件

Debian

sudo apt install libssl-dev libcurl4-openssl-dev git build-essential

Arch

sudo pacman -S openssl curl git base-devel

下载编译

git clone https://codeberg.org/grunfink/snac2.git
cd snac2
make
make install

设置启动服务

sudo cp examples/snac-global.service /etc/systemd/system/snac.service
sudo snac init /var/lib/snac

#增加中文翻译
sudo cp po/zh.po /var/lib/snac/lang

systemctl enable snac
systemctl start snac

使用

添加微博用户

此处以 root 为例

sudo snac adduser /var/lib/snac root

#删掉 testuser 用户
sudo snac deluser /var/lib/snac testuser

配置文件在 /var/lib/snac/server.json ,注意 host 是纯域名。 例如:"host": "blog.hi.cn",

关掉表情回应支持 "disable_emojireact": true,

其它功能

sudo snac -help
#升级
sudo snac upgrade /var/lib/snac

Caddy 的基础设置

nano /etc/caddy/Caddyfile

增加配置

blog.hi.cn  {
reverse_proxy :8001
}

重启

systemctl restart caddy

设置主题

snac-style 复制喜欢的 CSS 样式,粘贴到

nano /var/lib/snac/style.css

删掉页面中用户id,编辑 html.c 删掉 snac-top-user-id部分。之后重新编译安装。然后 systemctl restart snac 重启。

子目录

如果需要子目录,比如/fedi,记得修改 /var/lib/snac/server.json"prefix": "/fedi"

Caddy 配置,这可以让你正常用第三方软件。

blog.hi.cn {

    @snac {
        path /fedi
        path /fedi/*
        path /.well-known/webfinger
        path /.well-known/nodeinfo
        path /.well-known/host-meta
        path /api/v1/
        path /api/v2/
        path /authorize_interaction
        path /oauth
        path /share
    }
    reverse_proxy @snac localhost:8001
}

关键词: vps