https://github.com/yohann0617/tg-disk
基于Telegram的♾️️无限容量网盘/图床,不限制文件格式,不限制文件大小(大文件会分块上传),不限制文件内容😏,占用很少的内存和磁盘空间📁,轻巧方便。 文件都存储在Telegram☁️端,拥有良好的安全性🔒和持久性。 单个文件大小不能超过20MB,上传成功会生成HTML、Markdown、BBCode三种形式的外链🔗,可以用来当做图床、文件下载url。
https://github.com/yohann0617/tg-disk
golang image-hosting network-disk telegram-bot-api
Last synced: 5 months ago
JSON representation
基于Telegram的♾️️无限容量网盘/图床,不限制文件格式,不限制文件大小(大文件会分块上传),不限制文件内容😏,占用很少的内存和磁盘空间📁,轻巧方便。 文件都存储在Telegram☁️端,拥有良好的安全性🔒和持久性。 单个文件大小不能超过20MB,上传成功会生成HTML、Markdown、BBCode三种形式的外链🔗,可以用来当做图床、文件下载url。
- Host: GitHub
- URL: https://github.com/yohann0617/tg-disk
- Owner: Yohann0617
- License: apache-2.0
- Created: 2025-06-21T09:25:41.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-01T08:12:37.000Z (12 months ago)
- Last Synced: 2025-07-01T09:25:36.076Z (12 months ago)
- Topics: golang, image-hosting, network-disk, telegram-bot-api
- Language: Go
- Homepage:
- Size: 1.93 MB
- Stars: 22
- Watchers: 0
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# tg-disk
> 🤖利用Telegram接口,♾️️无限容量,不限制文件格式,不限制文件大小(大文件会分块上传),不限制文件内容😏,占用很少的内存和磁盘空间📁(可执行文件不到6MB,docker镜像不到20MB),轻巧方便。 文件都存储在Telegram☁️端,拥有良好的安全性🔒和持久性。 上传成功会生成HTML、Markdown、BBCode三种形式的外链🔗,可以用来当做图床、文件下载url。文件下载时会使用多线程的方式,提升下载速度。
## 💻如何部署
### Docker部署
#### 1. 创建目录以及配置文件
```bash
mkdir -p /app/tg-disk && cd /app/tg-disk
```
```bash
# 自行修改后运行
cat > .env < 分片大小建议设置为5MB,否则内存占用太高。如需下载超大文件,需取消设置响应超时或直接不配置HTTPS/CDN。
#### 2. docker-compose 一键部署
下载 [docker-compose.yaml](https://github.com/Yohann0617/tg-disk/blob/master/docker-compose.yaml) 文件到`/app/tg-disk`,如需配置**HTTPS**,建议修改为以下内容,防止其他人直接通过IP+端口直接访问:
```yaml
services:
tg-disk:
image: ghcr.io/yohann0617/tg-disk:master
container_name: tg-disk
restart: always
ports:
- "127.0.0.1:8080:8080" # 修改项,端口可以自行修改
volumes:
- .env:/app/.env
```
一键启动:
```bash
cd /app/tg-disk && docker-compose up -d
```
## 👶如何使用
部署成功后,直接`http://IP:端口`即可访问,支持同时上传多个文件,**文件大小无限制**,大文件会分块上传,最后生成一个`fileAll.txt`文件。私聊机器人指定某个文件(如果是分块文件,指定`fileAll.txt`该文件)回复`get`或者`/get`,即可获取完整的URL链接,且分块文件下载时能够自动获取到文件名及后缀,无需修改下载文件名称。
## 🌏Nginx反向代理
核心配置:
```nginx
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 大文件下载优化
proxy_buffering off; # 禁用缓冲,允许流式传输
proxy_request_buffering off; # 禁用请求缓冲
proxy_read_timeout 1800s; # 读取超时30分钟(可适当调整)
proxy_connect_timeout 300s; # 连接超时5分钟
proxy_send_timeout 1800s; # 发送超时30分钟
}
```
## 🔑文件上传 API 示例
```bash
# url、文件路径自行修改
curl -X POST http://127.0.0.1:8080/upload -F "pwd=yohann" -F "file=@C:\Users\Yohann\Desktop\TikTok 21.1.0.ipa"
```
## 🔍页面展示






## ⭐Stargazers over time
[](https://starchart.cc/Yohann0617/oci-helper)