Skip to content
This repository was archived by the owner on Apr 4, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
e77a7f8
Merge pull request #1 from Moe-Sakura/update_worker_name_to_searchgalapi
Jurangren Aug 21, 2025
6a799ee
feat: 引入搜索日志和增强错误提示
Jurangren Aug 21, 2025
5b37aac
Merge branch 'main' of https://github.com/Moe-Sakura/Wrangler-API
Jurangren Aug 21, 2025
1a9db6a
fix: 修复 VikaACG 名称抓取,并调整调试日志
Jurangren Aug 21, 2025
6a59d03
fix: 改进VikaACG搜索解析并调整2dfan调试
Jurangren Aug 21, 2025
9afdee1
feat: 添加根路径重定向与日志增强
Jurangren Aug 21, 2025
37f47f9
refactor: 统一日志输出方式并移除冗余检查
Jurangren Aug 22, 2025
6d16623
chore: 标准化 2dfan API HTML 响应日志格式
Jurangren Aug 22, 2025
a3b9c3a
fix: 修复 2dfan 平台搜索结果解析及字符转义问题
Jurangren Aug 22, 2025
90e047a
chore: 调整平台搜索日志输出
Jurangren Aug 22, 2025
9015c54
fix: 修复 VikaACG HTML 响应中的转义双引号处理
Jurangren Aug 22, 2025
eed68a9
fix: 修复 VikaACG 搜索结果中的 Unicode 转义字符
Jurangren Aug 22, 2025
29f4e0c
refactor: 重构紫缘社搜索并移除密码参数
Jurangren Oct 5, 2025
325f11f
refactor: 重构紫缘Gal搜索逻辑并更新名称
Jurangren Oct 5, 2025
4d93d1b
feat: 引入平台标签系统,优化平台信息及错误日志
Jurangren Oct 6, 2025
4065a01
feat: 更新量子acg平台显示颜色
Jurangren Oct 7, 2025
92327b2
fix: 更新稻荷GAL请求格式,更新README
Jurangren Nov 18, 2025
65789b1
fix: 更新 Nysoure 域名并重构 VikaACG 搜索逻辑
Jurangren Dec 19, 2025
c4839db
feat: 更新 GAL 平台列表及修复搜索参数
Jurangren Dec 20, 2025
65855b6
feat: 添加 Docker 支持及 GitHub Actions 自动构建流
Jurangren Dec 20, 2025
185a64a
ci: 更新 Docker 镜像名称 (Update Docker image name)
Jurangren Dec 20, 2025
73ad909
build: 更新 Docker 基础镜像并优化构建配置
Jurangren Dec 20, 2025
3643139
ci: 从 Docker 元数据中移除 SHA 标签
Jurangren Dec 20, 2025
e3b3fd4
251221
AdingApkgg Dec 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Build and Push Docker Image

on:
push:
branches:
- main
tags:
- "v*"
workflow_dispatch:

env:
REGISTRY: docker.io
IMAGE_NAME: ${{ secrets.DOCKERHUB_USERNAME }}/SearchGal-Api

jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=tag

- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
23 changes: 23 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM node:20-bookworm-slim

WORKDIR /app

RUN if [ -f /etc/apt/sources.list ]; then \
sed -i 's|http://deb.debian.org/debian|http://mirrors.aliyun.com/debian|g' /etc/apt/sources.list; \
sed -i 's|http://security.debian.org/debian-security|http://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list || true; \
elif [ -f /etc/apt/sources.list.d/debian.sources ]; then \
sed -i 's|http://deb.debian.org/debian|http://mirrors.aliyun.com/debian|g' /etc/apt/sources.list.d/debian.sources; \
sed -i 's|http://security.debian.org/debian-security|http://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list.d/debian.sources || true; \
fi \
&& apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/*

COPY package*.json ./
RUN npm ci --include=optional

COPY . .

EXPOSE 8787

CMD ["npx", "wrangler", "dev", "--local", "--ip", "0.0.0.0", "--port", "8787"]
93 changes: 92 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,93 @@
# Wrangler-API
Cloudflare Wrangler 实现的 SearchGal 后端搜索API

Cloudflare Workers 版 SearchGal 聚合搜索 API。提供 `/gal` 和 `/patch` 两个入口,接收游戏名并以 SSE 流式返回各平台搜索结果。

## 准备

- Node.js(Win 需要) 与 pnpm
- Cloudflare 账号(发布时需要)

## 安装

### POSIX

```sh
## 安装 pnpm
curl -fsSL https://get.pnpm.io/install.sh | sh -

## 安装依赖
pnpm install
```

### Windows

```sh
## 安装 Node.js
winget install -e --id OpenJS.NodeJS

## 安装 pnpm
npx pnpm@latest-10 dlx @pnpm/exe@latest-10 setup

## 安装依赖
pnpm install
```

## 开发

```sh
# 纯本地(无 Cloudflare 登录)
npx wrangler dev --local

# 实时连 Cloudflare
npx wrangler dev
```

## 运行

```sh
npx wrangler dev --ip 0.0.0.0
```

## 发布

```sh
npx wrangler login # 首次需要
npx wrangler publish
```

## API 使用

- 路径:`POST /gal` 或 `POST /patch`
- Content-Type:`multipart/form-data`
- 表单字段:`game` (string)
- 响应:`text/event-stream`,每行是一条 JSON,示例:

```json
{"total":33}
{"progress":{"completed":1,"total":33}}
{"progress":{"completed":2,"total":33},"result":{"name":"某平台","color":"lime","tags":["NoReq"],"items":[{"name":"Title","url":"https://..."}]}}
{"done":true}
```

## 标签说明(tags)

- `NoReq`:无需登录/回复即可拿到下载信息
- `Login`:需登录后访问
- `LoginPay`:需登录且支付积分
- `LoginRep`:需登录并回复/评论解锁
- `Rep`:需回复/评论但无需登录
- `SuDrive`:自建网盘盘源
- `NoSplDrive`:不限速网盘盘源(如Onedrive/Mega等)
- `SplDrive`:限速网盘盘源(如百度/夸克/天翼等)
- `MixDrive`:不限速与限速网盘盘源混合,可能提供多种下载形式
- `BTmag`:BT或磁力链接
- `magic`:站点需要代理访问

## 目录速览

- `src/index.ts` Worker 入口,路由 `/gal`、`/patch`
- `src/core.ts` 处理并行搜索与 SSE 组装
- `src/platforms/gal` GAL 平台搜集器
- `src/platforms/patch` 补丁平台搜集器
- `src/utils/httpClient.ts` 统一请求封装
- `scripts/generate-indices.js` 可选的索引生成脚本
Loading