TG-Image 是一个基于 Telegram 的现代化图片托管服务,提供简单、可靠的图片上传和存储解决方案。该项目利用 Telegram 的强大存储能力,为用户提供免费、无限制的图床服务,并拥有精美的用户界面和流畅的交互体验。
特别支持原图上传和原图下载功能,确保您的图片在分享过程中保持原始质量,不会被压缩或降低画质。
🚀 快速上传与全球加速 | 📦 无限空间 | 🔒 安全可靠 |
---|---|---|
优化的上传流程,使用CDN加速全球访问,快速响应,即时处理 | 基于Telegram强大的存储能力,无容量限制,永久保存 | 数据安全存储,稳定访问,长期保存,无需担心数据丢失 |
🎨 现代化界面 | 👍 用户友好 | 📸 原图上传与下载 |
---|---|---|
精美的UI设计,支持暗色模式,响应式布局适配各种设备 | 拖放上传,一键复制链接,支持多种格式,操作简单直观 | 保持图片原始质量,不进行压缩,确保图片完美呈现 |
📚 批量上传 | 👤 用户系统 | 🏷️ 图片管理 |
---|---|---|
支持同时选择或拖放多张图片,提高工作效率 | 支持用户注册、登录,管理个人上传的图片,保护隐私 | 支持图片列表、删除、重命名、标签管理和搜索功能 |
Cloudflare 账号 | |
Telegram Bot Token (通过 @BotFather 创建) | |
Telegram Chat ID (可以是群组或频道) | |
Node.js (开发环境) |
1. 克隆仓库
git clone https://github.com/your-username/tg-image.git
cd tg-image
2. 安装依赖
npm install
3. 登录到 Cloudflare 账号
npx wrangler login
这个命令会打开浏览器,引导你完成 Cloudflare 账号的登录过程。
4. 配置环境变量
修改 wrangler.toml
文件,填入你的 Telegram Bot Token、Chat ID 和 JWT 密钥:
[vars]
TG_Bot_Token = "YOUR_BOT_TOKEN"
TG_Chat_ID = "YOUR_CHAT_ID"
JWT_SECRET = "YOUR_JWT_SECRET" # 用于用户认证的密钥,请更改为随机字符串
5. 创建 Cloudflare KV 命名空间并部署
# 创建 KV 命名空间并部署
npm run setup
这个命令会自动执行以下操作:
- ✅ 检查并创建必要的 KV 命名空间(如果不存在)
- ✅ 自动更新
wrangler.toml
文件中的 KV 命名空间 ID - ✅ 部署项目到 Cloudflare Workers
💡 提示:如果你使用的是 Wrangler 4.x 版本,KV 命名空间的命令格式已经改变。 正确的命令格式是:
npx wrangler kv namespace create "img_url"
(注意kv
和namespace
之间没有冒号)
你也可以分步执行:
# 创建 KV 命名空间并更新 wrangler.toml
npm run create-kv
# 部署
npm run deploy
点击展开 Cloudflare Pages 部署说明
如果你使用 Cloudflare Pages 部署此项目,请参阅 Cloudflare Pages 部署配置 文件,了解如何配置 Cloudflare Pages 的部署设置。
1️⃣ | 访问你的网站 |
2️⃣ | 拖放单张或多张图片到上传区域,或点击选择文件 |
3️⃣ | 上传完成后,系统会自动生成链接(所有图片均以原图质量上传) |
4️⃣ | 如果上传了多张图片,可在图片列表中点击查看不同图片的详情 |
5️⃣ | 复制需要的链接格式(直接链接、HTML、Markdown) |
6️⃣ | 分享链接给他人,对方打开链接时将看到原图,无任何压缩或质量损失 |
- 注册/登录:点击导航栏中的"登录"链接,创建账户或登录
- 个人资料:管理您的用户信息和偏好设置
登录后,点击"我的图片"进入仪表盘,您可以:
👁️ | 查看图片:浏览您上传的所有图片,支持分页和排序 |
📋 | 复制链接:一键复制直接链接、HTML代码或Markdown代码 |
✏️ | 编辑信息:修改图片文件名、添加标签等 |
🗑️ | 删除图片:移除不需要的图片 |
🔍 | 搜索功能:按文件名或标签搜索图片 |
📤 | 批量上传:同时上传多张图片,提高效率 |
# 启动本地开发服务器
npm run dev
# 构建项目
npm run build
# 部署到 Cloudflare Workers
npm run deploy
我们非常欢迎社区成员为 TG-Image 项目做出贡献!以下是一些贡献方式:
- 🐛 报告问题:发现 bug?请创建 Issue 告诉我们
- ✨ 功能建议:有新功能想法?欢迎提交功能请求
- 🎨 UI/UX 改进:我们特别欢迎界面和用户体验方面的改进建议
- 📝 文档完善:帮助改进文档,使其更加清晰和完整
- 💻 代码贡献:提交 Pull Request 来修复问题或添加新功能
贡献流程:Fork → 修改 → 提交 PR → 审核 → 合并
本项目采用 GNU Affero通用公共许可证v3.0 (AGPL-3.0) 附加 Commons Clause 进行许可。
主要条款 | 说明 |
---|---|
📝 强制开源 | 任何对本软件的修改或衍生作品必须以相同的许可证(AGPL-3.0)开源 |
🌐 网络使用也视为分发 | 即使通过网络提供服务,也必须开源您的修改 |
💼 禁止商业使用 | 根据Commons Clause限制,禁止将本软件或其任何部分用于商业目的 |
📜 专利授权 | 授予使用者在该软件相关的专利上的权利 |
软件按"原样"提供,不提供任何形式的担保 |
详细条款请参阅项目根目录下的LICENSE文件。
注意:如需商业使用,请联系项目作者获取商业许可。
|
提供存储基础设施 |
|
提供边缘计算平台 |
|
轻量级的 Web 框架 |
|
现代化网页字体 |
如有问题或建议,请通过以下方式联系我们:
|
创建 Issue |
|
发送邮件至: xiyewuqiu@gmail.com |
- 实现了完整的用户注册、登录和会话管理功能
- 使用 JWT 令牌进行安全认证
- 添加了用户个人资料页面和设置
- 用户可以查看自己上传的所有图片
- 支持图片分页显示和排序
- 实现了图片搜索功能,可按文件名搜索
- 实现批量上传图片
- 修复了移动端菜单按钮显示问题
- 优化了移动端菜单的交互体验
- 增强了移动端菜单按钮和关闭按钮的可见性
- 改进了移动端菜单的层级管理,确保按钮可点击
- 优化了移动端菜单在不同设备上的显示效果
- 修复了页面加载时的显示问题
- 优化了加载动画和过渡效果
- 提高了页面加载速度和响应性
- 改进了资源加载顺序,减少白屏时间