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

> Learn how to contribute to the bannedbook/fanqiang project. Follow our guide to fork the repo, create a branch, and submit a Pull Request for your tutorial or script changes.

- Repository: [如何翻墙/fanqiang](https://github.com/bannedbook/fanqiang)
- Tags: how-to-guide
- Published: 2026-06-15

---

**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`](https://github.com/bannedbook/fanqiang/blob/main/android/v2free.md) or [`windows/V2RayN.md`](https://github.com/bannedbook/fanqiang/blob/main/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`](https://github.com/bannedbook/fanqiang/blob/main/.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:

```bash
git clone https://github.com/<YOUR-USERNAME>/fanqiang.git
cd fanqiang

```

3. **Create a feature branch**:

```bash
git checkout -b add-new-tutorial

```

4. **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.

5. **Include images (optional)**:
   Store screenshots in a subdirectory and reference them with relative paths:

```markdown
![MyNewTool start screen](android/images/mynnewtool_start.png)

```

6. **Commit your changes**:

```bash
git add .
git commit -m "Add tutorial for XYZ tool"

```

7. **Push to your fork**:

```bash
git push origin add-new-tutorial

```

8. **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.

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

10. **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`](https://github.com/bannedbook/fanqiang/blob/main/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`](https://github.com/bannedbook/fanqiang/blob/main/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:

```bash

# 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`](https://github.com/bannedbook/fanqiang/blob/main/android/v2free.md) and [`windows/V2RayN.md`](https://github.com/bannedbook/fanqiang/blob/main/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.

### How do I report a broken link or outdated tutorial?

Use the issue template in [`.github/ISSUE_TEMPLATE/custom.md`](https://github.com/bannedbook/fanqiang/blob/main/.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.