【serv00系列教程】部署免费存储Pentaract

项目介绍

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 错误,说明你的账户受限没有文件上传权限

参考链接

15 个赞

好好好

1 个赞

前排

1 个赞

支持!:star_struck:

1 个赞

干货收起来

1 个赞

cy

1 个赞

感谢 Gordon Chan Fz 的协助,已确认问题原因 :sweat_smile: 就是 tg 的问题…

1 个赞
  • 注册serv00账号并开放服务和端口
  • 建立一个proxy模式网站
  • 建立一个Postgres数据库

请问这三步能不能说的更详细点?自己搭建总是失败。

1 个赞

你搜下go-proxy-bing 里面有讲具体的内容

1 个赞

你的教程很有趣!明天早上会尝试。

1 个赞

serv00免费存储空间只有1G能存什么?搭个网站也只能搭伪静态导航吧。

1 个赞

好家伙,一个低配10年小鸡也可以玩出花

1 个赞

你没仔细看呢

2 个赞

Something went wrong出现了这个,有什么问题啊?说出问题了

1 个赞

你这没歇过啊 :rofl: 看日志的,wrong也wrong很多

1 个赞

:innocent: :innocent: :innocent:哈哈哈哈哈哈咳咳

1 个赞

编写start.sh的示例好像有问题, pentaract读取不到环境变量

thread 'main' panicked at src/main.rs:31:32:
called `Result::unwrap()` on an `Err` value: EnvConfigLoadingError("DATABASE_USER")

给脚本每个设置设置变量前面加上export解决了

1 个赞