项目介绍
Pentaract 的设计理念是轻量级且节省磁盘空间。它是一款简洁的应用程序,体积小巧,直接高效, 使用 Telegram 免费空间来进行存储,因此不会占用你的服务器空间。程序选择了 Postgres 作为数据库,并且在添加任何功能时都非常谨慎,避免不必要的功能,确保其精简性。
你可以根据自己的需求,在个人服务器或设备上搭建 Pentaract,也可以根据需要扩展,支持多用户和大容量存储。得益于其提供的 Rest API,它能够与 NextCloud、AWS S3 或类似 MinIO 的文件系统无缝集成。然而,由于 Pentaract 仍处于早期阶段,建议在关键的生产环境中暂缓使用,待其更加成熟稳定后再考虑部署。
另外,Pentaract 拥有一套自己的策略来绕过 telegram 对免费文件存储的限制
RPM(每分钟20次)
现在你已经可以通过建立多达20个机器人来有效规避这条限制,20*20=400,另外作为个人使用者,20次每分钟的额度已经完全够用了。
Size(最大20M)
Pentaract将上传的文件分割成块,并单独保存到Telegram,下载文件时,它从Telegram API获取所有的文件块,并按照分割的顺序合并成一个。这允许上传和下载几乎无限大小的文件。
项目地址
开始之前
- 注册serv00账号并开放服务和端口
- 建立一个proxy模式网站
- 建立一个Postgres数据库
- 注册telegram账号并将bot添加到channel
简单上手
编译软件
感谢 Gordon Chan Fz 提供的 serv00 版FreeBSD的编译包!下载地址
下载好后,通过 File Manager 上传到 domains
解压
cd ~/domains && unzip freebsd.zip && mv app pentaract && cd pentaract
编写start.sh
#!/bin/bash
PORT=<YOUR-PORT>
WORKERS=4
CHANNEL_CAPACITY=32
SUPERUSER_EMAIL=<YOUR-EMAIL>
SUPERUSER_PASS=<YOUR-PASSWORD>
ACCESS_TOKEN_EXPIRE_IN_SECS=1800
REFRESH_TOKEN_EXPIRE_IN_DAYS=14
SECRET_KEY=<YOUR-SECRET-KEY>
TELEGRAM_API_BASE_URL=https://api.telegram.org
DATABASE_USER=<YOUR-POSTGRES-NAME>
DATABASE_PASSWORD=<YOUR-POSTGRES-PASSWD>
DATABASE_NAME=<YOUR-POSTGRES-NAME>
DATABASE_HOST=<YOUR-POSTGRES-SITE>
DATABASE_PORT=5432
chmod +x pentaract && ./pentaract
编写好后赋权
chmod +x start.sh
测试运行
./start.sh
当然,你也可以添加任务到 ecosystem.config,js
使用 pm2
进行快捷管理
{
name: 'pentaract',
script: './start.sh',
cwd: '/home/$username/domains/pentaract',
interpreter: 'bash'
},
添加存储
登录网页端,点击 Storages - Register New,Chat_id 即为你的私有频道id,是以 -
开头的一串数字
添加机器人
点击 Storage Workers - Register New ,Token 即为你的 tg 机器人Token
上传文件
回到 Storage 点击你刚刚建立的存储对象,点击右上角按钮上传文件试试。如果你上传文件失败,可能是账号被限制,建议根据这个中文wiki进行申诉:wiki地址,另外这个中文wiki写的非常详细,对tg不熟悉的朋友可以仔细看看。
如果报 Telegram API 400 错误,说明你的账户受限没有文件上传权限