How to Contribute to the bannedbook/fanqiang Project: A Complete Guide

Contribute to the bannedbook/fanqiang project by forking the repository, creating a feature branch with your tutorial or script changes, and submitting a Pull Request to the master branch following the documentation-centric workflow.

The bannedbook/fanqiang repository is a community-driven collection of proxy and VPN tutorials, configuration files, and automation scripts for cross-platform circumvention tools. Because the project is documentation-centric, most contributions involve adding Markdown tutorials, updating configuration snippets in v2ss/server-cfg/, or improving existing guides. This guide explains exactly how to contribute to the bannedbook/fanqiang project while adhering to the repository's style and safety requirements.

Understanding the Repository Structure

Before you contribute, familiarize yourself with the project's simple architecture. The repository organizes content by platform and function:

  • Platform-specific tutorials: Markdown files in android/, windows/, macos/, linux/, ios/, and game/ directories contain setup guides for tools like V2Ray, ShadowsocksR, and ClashX.
  • Server configurations: The v2ss/server-cfg/ directory houses helper scripts and systemd unit files such as v2ray.service.
  • Issue templates: The .github/ISSUE_TEMPLATE/ directory contains templates for bug reports and feature requests.

Types of Contributions You Can Make

Add or Update Tutorials

Create new Markdown files or edit existing ones to explain installation and configuration of proxy tools. Reference existing examples like android/v2free.md or windows/V2RayN.md to match the established format. Each tutorial should include a short introduction, prerequisites, step-by-step commands, and a usage section.

Improve Documentation

Fix typos, clarify installation steps, update outdated URLs, or add screenshots to make guides easier to follow. Store images in subdirectories like game/images/ or android/images/ and reference them using relative paths such as ![ClashX screenshot](game/images/clashns1.jpg).

Submit Scripts and Configurations

Provide Bash scripts, systemd unit files, or Nginx configurations that automate setup tasks. Place server-side configurations in v2ss/server-cfg/ following the pattern of the existing v2ray.service file. Ensure all scripts are safe to run and do not contain hard-coded secrets.

Report Issues and Suggest Topics

Use the GitHub issue templates in .github/ISSUE_TEMPLATE/custom.md to describe bugs, request missing resources, or propose new tutorial topics.

Step-by-Step Contribution Workflow

Follow this standard GitHub workflow to submit your changes:

  1. Fork the repository on GitHub at https://github.com/bannedbook/fanqiang.

  2. Clone your fork locally:

git clone https://github.com/<YOUR-USERNAME>/fanqiang.git
cd fanqiang
  1. Create a feature branch:
git checkout -b add-new-tutorial
  1. Add or edit content:

    • Place Markdown tutorials in the appropriate platform folder (e.g., android/, windows/, macos/).
    • Add scripts to v2ss/server-cfg/ if contributing server configurations.
  2. Include images (optional): Store screenshots in a subdirectory and reference them with relative paths:

![MyNewTool start screen](android/images/mynnewtool_start.png)
  1. Commit your changes:
git add .
git commit -m "Add tutorial for XYZ tool"
  1. Push to your fork:
git push origin add-new-tutorial
  1. Open a Pull Request: Navigate to the original repository, click New pull request, select your branch, and fill out the PR template describing your contribution.

  2. Address review feedback: Modify your branch based on reviewer comments and push additional commits; the PR updates automatically.

  3. Merge: Once approved, maintainers will merge your PR into the master branch.

Content Guidelines and Safety Requirements

Documentation Style Standards

All tutorials must use UTF-8 encoding and follow the structure seen in README.md: start with a short introduction, list prerequisites, provide step-by-step commands, and include a "Usage" section. Use English and Chinese headings where appropriate, matching the style of macos/ClashX.md.

Security and Licensing

  • No secrets: Scripts must not contain hard-coded passwords, API keys, or private credentials. The project's security policy explicitly forbids committing sensitive information.
  • Non-commercial: The repository is free to share but not for commercial use; ensure new assets respect this restriction.
  • Safety: Scripts are intended for personal use on trusted machines only. Verify file permissions and sizes before submitting, as shown in this example for updating a server-side script:

# In v2ss/server-cfg/

wget -O v2ray.service https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/server-cfg/v2ray.service
ls -l v2ray.service
chmod 644 v2ray.service

Summary

  • The bannedbook/fanqiang project accepts contributions via Markdown tutorials, configuration scripts, and documentation improvements.
  • Place content in platform-specific directories (android/, windows/, etc.) or v2ss/server-cfg/ for server files.
  • Follow the standard GitHub fork-and-PR workflow targeting the master branch.
  • Adhere to UTF-8 encoding, relative image paths, and the established tutorial structure modeled in android/v2free.md and windows/V2RayN.md.
  • Never commit credentials or secrets; respect the non-commercial license.

Frequently Asked Questions

What types of files should I contribute to bannedbook/fanqiang?

The project primarily accepts Markdown tutorials for proxy/VPN tools and configuration scripts (Bash, systemd, Nginx) stored in v2ss/server-cfg/. You can also contribute screenshots placed in platform-specific image directories and documentation improvements that fix typos or update URLs.

Where should I place new tutorial images?

Store images in a subdirectory relevant to the platform (e.g., game/images/, android/images/) and reference them using relative Markdown syntax like ![description](path/to/image.png). Avoid using external image hosts to ensure the documentation remains accessible.

Can I submit commercial proxy service configurations?

No. The repository license prohibits commercial use. Only submit open-source tool configurations or general-purpose setup guides that do not promote specific paid services or contain affiliate links.

Use the issue template in .github/ISSUE_TEMPLATE/custom.md to file a bug report describing the problem, or submit a Pull Request directly with the corrected URL or updated instructions. For minor fixes like typos, a direct PR is preferred over opening an issue.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →