Skip to content

bilicapr/KoiPic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📖 简介

灵感来源: https://github.com/yutian81/CF-tgfile
原油猴脚本: https://www.nodeseek.com/post-387328-1
二改油猴脚本: https://github.com/bilicapr/KoiPic/blob/main/ns.js
KoiPic 是一款追求极致体验的轻量级图床程序。它摒弃了繁重的数据库依赖,利用 SQLite 存储元数据,依托 Telegram Bot API 提供无限的云端存储空间,并配合 Cloudflare 等 CDN 实现全球极速访问。 无论是个人博客、论坛发帖,还是作为截图工具的后端存储,Imly 都能完美胜任。

✨ 特性

核心优势

  • 💾 无限存储:依托 Telegram 强大的底层存储能力,无容量和带宽限制。
  • ⚡ 极速体验:底层采用 cURL 流式传输与缓冲区优化,大图秒开,无内存溢出。
  • 🛡️ 隐私安全:支持 CSRF 防护、文件名随机化、上传频率限制、私有频道存储。
  • 🌑 深色模式:原生适配的精美 Dark Mode UI,基于 Bootstrap 5。

功能亮点

  • 👆 便捷上传:支持拖拽、点击、Ctrl+V 粘贴上传。
  • 📦 批量管理:相册支持批量选择、一键删除,操作顺滑。
  • 📋 全能复制:一键生成 URL、Markdown、HTML、BBCode 格式链接。
  • 🔌 API 支持:提供 Token 鉴权接口,完美适配 ShareX、PicGo、油猴脚本。
  • 📊 数据看板:后台仪表盘实时展示用户数、图片数及今日上传量。
  • 📧 注册验证:支持 SMTP 邮箱验证码,有效防止恶意注册。

🛠️ 部署指南

环境要求

  • PHP: 8.0 或更高版本
  • 扩展: pdo_sqlite, curl, gd, openssl, fileinfo
  • Web服务器: Nginx / Apache
  • HTTPS: 强烈建议开启

安装步骤

  1. 下载源码 将所有文件上传至你的网站根目录。

  2. 设置权限 确保程序有权限创建和写入数据库文件。

    # 在网站根目录下执行
    chmod -R 777 .
  3. Nginx 配置 (推荐) 为了安全起见,建议禁止直接下载 .db 数据库文件。

    server {
        listen 80;
        server_name img.yourdomain.com;
        root /www/wwwroot/img.yourdomain.com;
        index app.php index.php index.html;
    
        # 禁止访问数据库文件
        location ~ \.db$ {
            deny all;
        }
    
        location / {
            try_files $uri $uri/ /app.php?$query_string;
        }
    
        location ~ \.php$ {
            include fastcgi.conf;
            fastcgi_pass 127.0.0.1:9000;
        }
    }
  4. 初始化 访问 http://yourdomain.com/app.php,第一个注册的用户将自动成为超级管理员

⚙️ 配置说明

登录后台 (/app.php?act=admin),完成以下核心配置:

  1. Telegram 配置:
    • Bot Token: 在 TG 找 @BotFather 申请。
    • Chat ID: 创建一个频道或群组,把 Bot 拉进去并设为管理员,然后通过 @userinfobot 获取该频道/群组的 ID (通常是 -100 开头)。
  2. SMTP 配置:
    • 用于发送注册验证码,建议使用 Gmail、Outlook 或企业邮。
  3. 安全设置:
    • 每分钟上传限制: 建议设为 20-60,防止接口被刷。
    • 允许后缀: 默认为 jpg,jpeg,png,gif,webp

🔌 API 文档

Imly 提供标准的上传 API,支持 Token 鉴权。

  • 接口地址: https://yourdomain.com/api.php?act=upload
  • 请求方式: POST
  • Content-Type: multipart/form-data

请求参数

参数名 类型 必填 说明
file File 图片文件二进制数据
token String 用户的 API Token (在前台页面获取)

响应示例

{
  "ok": true,
  "msg": "",
  "url": "[https://img.yourdomain.com/img.php?id=AgAC](https://img.yourdomain.com/img.php?id=AgAC)...",
  "filename": "20251216_123.jpg"
}

###适配脚本
油猴脚本 (Tampermonkey): 适用于 NodeSeek 等论坛,自动获取 Token 上传。

### 致谢
- 本项目得益于以下优秀服务的支持:
- Telegram - 提供无限的云端存储接口
- Cloudflare - 提供全球 CDN 加速与安全防护
- Bootstrap - 构建精美的响应式 UI
- SweetAlert2 - 优雅的弹窗交互

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published