explaingit

fish2018/pansou

13,056GoAudience · developerComplexity · 3/5Setup · easy

TLDR

A Go-based API service that searches multiple Chinese cloud storage platforms (Baidu Pan, Aliyun, Quark, and more) simultaneously and returns ranked results from a single query.

Mindmap

mindmap
  root((pansou))
    What it does
      Multi-platform search
      Concurrent queries
      Ranked results
    Platforms supported
      Baidu Pan
      Aliyun Pan
      Quark UC 115
      Telegram channels
    Tech stack
      Go
      Docker
      JWT auth
    Use cases
      File discovery
      Self-hosted search
      Plugin extension
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Search across multiple Chinese cloud storage platforms with a single API call instead of querying each one separately.

USE CASE 2

Deploy a self-hosted file search service in minutes using the pre-built Docker image.

USE CASE 3

Add JWT authentication to restrict API access to specific users.

USE CASE 4

Extend search coverage by writing a plugin for a new storage platform or Telegram channel.

Tech stack

GoDockerJWT

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

PanSou is a search API service written in Go for finding files stored on Chinese cloud storage platforms. It queries multiple platforms at the same time, including Baidu Pan, Aliyun Pan, Quark, UC Pan, 115, PikPak, and Xunlei, as well as Telegram channels that share links to those platforms. All searches run concurrently, and results are ranked by a scoring algorithm that weighs the plugin source priority, how recently the result was posted, and how well the keyword matches. Plugins extend where the service looks. The README lists several official plugins for specific sources, and the plugin system is documented separately for developers who want to add new search targets. Telegram channels are configured with a comma-separated environment variable, so adding or removing a channel requires only a config change and a restart. The service ships as a Docker image, so the fastest way to run it is a single docker run command. A combined image bundles a web frontend and the backend API together for users who want a ready-to-use interface. Running from source requires Go 1.18 or later. Optional JWT-based authentication can restrict API access to specific users. When enabled, callers log in through a dedicated endpoint to receive a token, which they include in the header of all subsequent requests. By default, authentication is disabled. This is a Chinese-language project, and all documentation and the web interface are in Chinese. It is aimed at users who want to search across Chinese cloud storage services from a single query.

Copy-paste prompts

Prompt 1
Show me how to run PanSou using Docker and send a search query to find files stored on Baidu Pan.
Prompt 2
Write a Go HTTP client that calls the PanSou API with a keyword and prints the top 5 results with their source platform.
Prompt 3
How do I add a new Telegram channel as a search source in PanSou using the environment variable config?
Prompt 4
Configure PanSou with JWT authentication and show me how a client logs in and includes the token in subsequent requests.
Open on GitHub → Explain another repo

← fish2018 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.