Open-source project
bannedbook/fanqiang avatar
bannedbook/fanqiang

bannedbook/fanqiang: a cross-platform setup index, not a working tunnel

GitHub describes it as 翻墙-科学上网. The repository metadata lists Kotlin as its primary language. This article stays within the project description and details documented in the GitHub repository README.

53,820 stars8,586 forksKotlinLicense varies

At a glance

What is it?
This repository routes readers to third-party proxy clients per platform and ships one Android app of its own. Its Linux section is a heading with no entries, the newest release tag is from 2024, and the tree carries no license file.
Who is it for?
Treat this as a map, not a tool. Readers who already know which client they want can use the per-platform pages as a checklist; anyone who needs a Linux client, a dated download, or clear reuse terms has to look elsewhere.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 17 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A Markdown index that dispatches to other people's clients

The repository contains no proxy implementation of its own. What it holds is a routing table: V2rayN, Clash for Windows, SSTap, ShadowsocksR, ClashX, V2rayU, Surge, V2rayX, Potatso, Shadowrocket, Quantumult X, BifrostV, Surfboard, V2RayNG, V2free, and Tor Browser, each with a page describing how to configure it. The recorded primary language is Kotlin, which lines up with the Android app directories fqnews/, fqnews2/, and apk/ in the tree, while the rest of the top level is Markdown files and directories of guides. The consequence for a reader is that every question about protocol behavior, throughput, or detection belongs to the client project rather than here. What this repository decides for you is only which client you are sent to on your platform.

The Linux section is a heading with no entries under it

Every platform heading in the index carries a list. Windows gets Clash for Windows, V2rayN, SSTap, ShadowsocksR, and a Tor Browser plus V2rayN combination. iOS gets Potatso, Shadowrocket, Quantumult X, and Surge. Android gets V2free, Clash for android, BifrostV, Shadowsocks, SSR, Surfboard, and V2RayNG. macOS gets ClashX, V2rayU, Surge, and V2rayX. The Linux heading links to the linux/ directory and stops, with no client named under it, even though FirefoxFqLinux/ sits at the top level for a repackaged Firefox. Consequence: a Linux reader receives a directory to open and no recommendation at all, and the only Linux artifact named anywhere in the tree is a browser package rather than a client listed under that heading.

The newest release tag is FQNews-v1.3.8 from 2024-08-18

The release list is short and uneven: FQNews-v1.3.8 for the Android app dated 2024-08-18, FQNews-v1.2.1 dated 2021-01-24, and a tag named ChromeGo-latest dated 2022-01-02 that covers the Chrome and Edge packages. Commits continued after all of that; the last push on the default branch master is dated 2026-09-13. Documentation therefore moves faster than releases. Consequence: there is no dated, numbered artifact for the browser packages, only a floating latest tag with no version in its name, and the newest downloadable app predates the newest commit by more than two years. If you need to pin what you downloaded, the branch tip is the only handle available.

gitupdate.sh and gitupdate.bat move the guides outside any release

The top level carries a pair of refresh scripts, one for a shell and one for Windows batch, sitting next to the guide files they update. Nothing in the README explains what either script contains or when it runs, and the two files can drift independently because nothing in the tree versions them. Consequence for a reader: guide text can change underneath you with no tag, no changelog, and no version marker, so the procedure you followed last month may no longer be the procedure on master today. If a step from this repository matters to your setup, copy the page into your own notes at the moment you verify it instead of re-reading it later and assuming it is the same document.

fqnews, fqnews2, and a deprecated/ folder nobody explains

The tree carries two app directories, fqnews/ and fqnews2/, plus an apk/ directory and a deprecated/ folder that the index never mentions. The only app link at the top of the index points at fqnews2. A reader arriving from there lands on the second directory while the first stays in place, with no note at the top level saying which one is current, what was deprecated, or when the older path disappears. Consequence: links into this repository written when fqnews/ was the live path keep resolving to a tree nobody is updating, and nothing in the repository tells you that, so you have to diff the two directories yourself before trusting a download URL from an old thread.

Free account pages and an airport list point outside the repository

Several links leave the tree entirely: pages for free ss accounts, free v2ray accounts, and a top-level file named V2ray机场.md that lists commercial providers. Alongside them sit two self-hosting walkthroughs, one for standing up a V2ray server and one for Shadowsocks. That split matters, because the repository can only guarantee the text of its own files. The server addresses, account credentials, and provider conditions it points at live somewhere the repository does not control and are not versioned with it. Consequence: a guide here can stay perfectly readable while the thing it depends on changes, rotates, or disappears, and no file in the tree records which endpoint or which account a given page assumes.

A US Apple ID and an unknown-source toggle sit inside the setup path

A good share of the entries concern account and device state rather than proxy configuration. The iOS section includes a guide to registering a United States region Apple ID and purchasing apps with it, and the top level carries a file titled MAC允许未知来源的应用.md, which is about permitting applications from unidentified developers on macOS. There is also a page titled for registering ChatGPT from mainland China. Consequence for a reader: the path to a working setup is not purely a matter of importing a configuration file, and steps that change regional accounts or relax system security settings are part of what the repository asks you to perform. Read those pages as system changes with an account attached, not as file imports.

No license file, so the reuse terms are undefined

The license for this repository is recorded as unknown, and there is no LICENSE entry among the top-level files, which otherwise run from .bookignore, .gitattributes, and _config.yml through the Markdown guides and the per-platform directories. For a documentation set that people mirror, repackage, and print, that absence is a real gap: nothing tells you what you may do with a page you copy. Consequence: if you plan to reuse a guide in your own documentation, ask for the terms rather than assuming a default, and note that the browser packages under ChromeGo/, ChromeGoMac/, EdgeGo/, and FirefoxFqLinux/ carry their own provenance questions on top of that one.

Editorial conclusion

Treat this as a map, not a tool. Readers who already know which client they want can use the per-platform pages as a checklist; anyone who needs a Linux client, a dated download, or clear reuse terms has to look elsewhere. Before following a page, check the commit date on master, check whether the Linux section has gained entries, and confirm the endpoint the page points at still resolves, because the repository tracks none of that for you.

Frequently asked questions

Which VPN is not blocked in China?

The repository does not test, rank, or endorse any provider. It links to pages for free ss accounts and free v2ray accounts, plus V2ray机场.md for commercial providers, and the guides cover client software (V2rayN, Clash, Shadowrocket, Surge, V2RayNG) rather than services.

Can China detect VPN usage?

Nothing in the tree addresses detection. It holds configuration guides for named clients, self-hosting walkthroughs for V2ray and Shadowsocks servers, and its last push on master is dated 2026-09-13, but no page claims any result about identifiability.

Does China have an Internet firewall?

The project is named and described in terms of 翻墙, crossing the wall, and its whole index exists to reach services that ordinary access does not cover. The repository does not document the network mechanism itself, only how to configure clients on each platform.

What is the best VPN for gaming in China?

The game section covers consoles rather than ranking a VPN: PS4 and PS5 over a local network, Switch, PlayStation, and Xbox using a Mac as a side router, Windows sharing a Wi-Fi adapter as a hotspot, and ClashX Pro on a Mac acting as the gateway. No client is recommended there.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/bannedbook-fanqiang.svg)](https://hysenlabs.com/projects/bannedbook-fanqiang)