Skip to content

Moe-Sakura/SearchGal

Repository files navigation

🔍 SearchGal · Gal资源聚合搜索工具

🚀 极速响应 | 🌊 SSE 流式传输 | 🎮 32+ 平台聚合 | ☁️ 边缘部署

前端项目在线预览快速部署API 文档开发者接入


🖥️ 在线预览

🌐 预览地址: searchgal.top

电脑端 移动端
电脑端 移动端

🌟 项目亮点

特性 说明
多端适配 PC/移动端完美适配,PC端支持展示游戏封面、介绍、标签
💡 多源聚合 实时聚合 30+ Gal资源平台 + 2+ 补丁站
🏷️ 智能标注 自动标注:🟢免登录 / 🟡需魔法 / ⚪特殊条件
☁️ 边缘部署 支持 Cloudflare Workers / Vercel Edge 等平台
🌊 流式响应 SSE 实时返回搜索结果,无需等待全部完成

📜 历史版本: Python 版本请查看 old 分支 (已停止维护)


🚀 已收录平台

🟢 免登录直链下载

GGS 真红小站 TouchGal Galgamex 忧郁的loli GAL图书馆 绮梦ACG 青桔ACG 鲲Galgame 未知云盘 梓澪の妙妙屋 莉斯坦ACG 猫猫网盘 彼岸星露 稻荷GAL Koyso 萤ノ光 GGBases 月谣 05的资源小站 紫缘Gal

🟢 补丁站

鲲Galgame补丁 2dfan

⚪ 需登录/特殊条件

量子ACG FuFuGal ACG嘤嘤怪 喵源领域

🟡 需魔法访问

VikaACG 绅仕天堂 天游二次元 Nysoure xxacg


🚀 快速部署

☁️ 一键云部署

Deploy to Vercel

Deploy to Netlify

Deploy to Cloudflare Workers

Deploy to Koyeb

🧭 服务器配置参考

档位 CPU 内存 适用场景
最低 1 vCPU 512MB–1GB 低并发
推荐 2 vCPU 1–2GB 中小规模
高并发 4+ vCPU 2–4GB 高并发

💻 本地开发

pnpm install        # 安装依赖
pnpm wrangler dev   # 启动开发服务器

🐳 Podman Compose 容器化部署

podman-compose up -d

📡 API 文档

接口说明

方法 路径 说明
POST /gal 搜索游戏资源
POST /patch 搜索补丁资源

请求参数

参数名 类型 必填 说明
game string 搜索关键词

支持的 Content-Type:

  • multipart/form-data (推荐)
  • application/x-www-form-urlencoded

请求示例

使用 cURL

# 搜索游戏资源
curl -X POST "https://your-api-domain.com/gal" \
  -F "game=千恋万花"

# 搜索补丁资源
curl -X POST "https://your-api-domain.com/patch" \
  -F "game=千恋万花"

使用 JavaScript (Fetch API)

// 搜索游戏资源并处理 SSE 流式响应
async function searchGal(keyword) {
  const formData = new FormData();
  formData.append('game', keyword);

  const response = await fetch('https://your-api-domain.com/gal', {
    method: 'POST',
    body: formData
  });

  const reader = response.body.getReader();
  const decoder = new TextDecoder();

  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    
    const lines = decoder.decode(value).split('\n').filter(Boolean);
    for (const line of lines) {
      const data = JSON.parse(line);
      
      if (data.total) {
        console.log(`总共 ${data.total} 个搜索源`);
      }
      if (data.progress) {
        console.log(`进度: ${data.progress.completed}/${data.progress.total}`);
      }
      if (data.result) {
        console.log('搜索结果:', data.result);
      }
      if (data.done) {
        console.log('搜索完成');
      }
    }
  }
}

searchGal('千恋万花');

响应格式 (SSE 流式)

{"total": 10}                                    // 总搜索源数量
{"progress": {"completed": 1, "total": 10}}      // 进度更新
{"progress": {"completed": 2, "total": 10}, "result": {"name": "xx资源站", "color": "lime", "tags": ["NoReq", "SuDrive"], "items": [{"name": "千恋万花", "url": "https://xx.com/game/12345"}]}}  // 搜索结果
{"done": true}                                   // 结束信号

🏷️ 标签说明

标签 含义 标签 含义
NoReq 无门槛 Login 需登录
LoginPay 需付费 LoginRep 需回复
SuDrive 自建盘 NoSplDrive 不限速盘
SplDrive 限速盘 MixDrive 混合盘
BTmag BT/磁力 magic 需魔法

🛠️ 使用指南

步骤 技巧
🔍 精准搜索 使用中文关键词效果最佳,如 Senren*Banka千恋万花千恋
🎯 结果筛选 优先选择 🟢绿色标签 (免登录),🟡金色需代理,⚪白色需对应条件
⬇️ 下载建议 推荐 IDM/FDM 加速,遇 Cloudflare 验证耐心等待

🤝 开发者接入指南

想要将您的站点接入聚合搜索?只需三步:

1. 创建适配器 - 在 src/platforms/gal/ 下创建 YourSite.ts

2. 实现接口

import type { Platform, PlatformSearchResult } from "../../types";

const YourSite: Platform = {
  name: "站点名称",
  color: "lime",
  tags: ["NoReq"],
  search: async (game) => {
    // 实现搜索逻辑
    return { count: 0, items: [] };
  },
};
export default YourSite;

3. 注册 & 提交

pnpm run generate   # 自动注册
git push && PR      # 提交贡献

⚠️ 注意事项

📢 广告白名单: 本站无广告,但收录的资源站建站不易,请加入广告白名单支持站长!
✉️ 写给站长: 本程序仅提供游戏发布页链接(非下载链接),不提供解压码。如不想被搜索,请过滤 UA 含 Searchgal 的请求。
🔐 安全声明: 本工具仅提供搜索聚合,不托管资源,请自行校验文件安全性。


📂 项目结构

SearchGal/
├── src/                     # 核心源码
│   ├── index.ts             # Cloudflare Workers 入口
│   ├── core.ts              # 搜索引擎核心逻辑
│   ├── types.ts             # TypeScript 类型定义
│   ├── platforms/           # 平台适配器目录
│   │   ├── gal/             # 游戏资源平台
│   │   └── patch/           # 补丁资源平台
│   └── utils/               # 工具函数
├── api/                     # Vercel Edge Functions
├── netlify/                 # Netlify Functions
├── scripts/                 # 构建脚本
├── docs/                    # 文档资源
├── wrangler.toml            # Cloudflare Workers 配置
├── vercel.json              # Vercel 部署配置
├── netlify.toml             # Netlify 部署配置
├── compose.yml              # Docker Compose 配置
└── Dockerfile               # Docker 镜像构建文件

🌱 支持正版

本工具旨在提供资源索引便利,请通过 Steam/DLSite 等正规渠道支持开发者!


欢迎各位 GalGame 爱好者优化本项目 ❤️

MIT License © SearchGal