#xmpp #http

app xmpp-http-upload

一个简单的XMPP外部HTTP上传服务器

6个版本

0.5.1 2024年8月14日
0.5.0 2024年8月2日
0.4.2 2024年7月27日
0.4.1 2024年5月19日
0.3.2 2024年4月15日

#316网络编程

Download history 10/week @ 2024-04-20 119/week @ 2024-04-27 7/week @ 2024-05-04 126/week @ 2024-05-18 4/week @ 2024-05-25 1/week @ 2024-07-06 211/week @ 2024-07-27 29/week @ 2024-08-03

每月 240 次下载

MPL-2.0 许可证

54KB
1.5K SLoC

关于

一个轻量级的外部HTTP上传服务器,适用于XMPP用户上传,与prosody和ejabberd配置兼容。它目前具有以下功能

  • 阻止MIME类型
  • 当文件超过时间差时删除文件
  • 记录流量
  • 在小型数据库(CBOR序列化表)中保存元数据
  • 在实现版本之间切换
  • 作为独立守护进程运行服务器

先决条件

至少版本3.0的Python安装。版本1.70或更高版本的Rust安装。

自动安装

这将为您自动编译和安装系统范围内的软件,但您需要在install.py中设置日志路径以匹配您的配置,否则您仍然可以自己创建/删除目录。

注意
如果您进行交叉编译,您需要在脚本中设置COMPILE_TARGET以使用rustc的构建目标进行自动安装。请参阅交叉编译

使用git克隆仓库

git clone https://gitlab.com/nyovaya/xmpp-http-upload

进入目录

cd xmpp-http-upload

运行以安装

sudo ./install.py install

如果您想卸载

sudo ./install.py uninstall

启动服务

Systemd

启动服务

systemctl start xmpp-http-upload

停止服务

systemctl stop xmpp-http-upload

手动守护进程

以root身份运行

/usr/bin/xmpp-http-upload -c [配置文件]

要终止进程

kill prep xmpp-http-upload

XMPP设置

这取决于您的XMPP服务器软件,应在相应的文档中查找。

Prosody

请参阅以下网站,了解Prosody中的配置工作原理。

Ejabberd

在您的Ejabberd配置文件中使用以下行

mod_http_upload:
  put_url: "https://your-upload-url.here"
  external_secret: "secret"

注意

不要忘记在反向代理中正确重映射URL,否则您可能会遇到404/403请求。例如,请参阅proxy.header下的mod_proxy

依赖关系

~4.5–6MB
~139K SLoC