explaingit

chengaopan/automergepublicnodes

7,389PythonAudience · generalComplexity · 2/5LicenseSetup · moderate

TLDR

A Python project that automatically collects and merges public proxy server configurations into a single subscription link for tools like Clash, V2Ray, or Shadowsocks.

Mindmap

mindmap
  root((AutoMergePublicNodes))
    What it does
      Collects proxy nodes
      Merges subscriptions
      Auto updates daily
    Output formats
      Base64 text
      Clash Meta config
      Sing-Box format
    Tech stack
      Python
      GitHub Actions
      Clash
    Audience
      Proxy users
      General users
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

Import a pre-built subscription link into Clash or V2Ray to access a large pool of public proxy servers.

USE CASE 2

Set up automatic daily updates of a proxy node list using GitHub Actions without manual maintenance.

USE CASE 3

Get a Clash Meta configuration with routing rules that only proxy blocked domains and route other traffic directly.

USE CASE 4

Fork the repository to run your own proxy collector with customized node sources.

Tech stack

PythonGitHub ActionsClashV2RayShadowsocks

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a compatible proxy client (Clash, V2Ray, or Shadowsocks) already installed, local collector also needs Python and Git.

Anti-996 license, free to use for any purpose except by companies that require employees to work excessive overtime hours.

In plain English

AutoMergePublicNodes, also called NoMoreWalls, is a Python project that automatically collects and combines proxy server configurations shared publicly on the internet. The result is a single subscription list that proxy tools like Clash, V2Ray, or Shadowsocks can import, giving the user access to many available proxy servers in one place. The project is aimed at users in mainland China who want to access websites and services blocked by the country's network filtering system. Rather than paying for a commercial VPN or proxy subscription, users can point their proxy software at one of the subscription links provided by this repository. A GitHub Actions workflow runs on a schedule to keep the node list updated automatically. The output is available in several formats: a plain Base64-encoded text file compatible with most proxy clients, a Clash Meta configuration file with routing rules already built in, and a third-party conversion link for Sing-Box format. The Clash configuration includes rules that automatically detect which domains are blocked and route only those connections through the proxy, while other traffic goes directly. The README recommends against paid proxy subscriptions for several stated reasons: the risk of services disappearing after payment with no way to recover money, the possibility of providers collecting and selling personal account information, and the relatively small number of servers that paid services offer compared to the quantity gathered by this project. The project uses an Anti-996 license, which explicitly prohibits use by companies that require employees to work excessive overtime. Running the collector locally requires Python, pip dependencies, and Git. Forkers are advised to sync regularly, since old versions of the node list quickly become unusable.

Copy-paste prompts

Prompt 1
I want to import the AutoMergePublicNodes subscription into Clash Meta. Show me the exact steps to add the subscription URL and configure it.
Prompt 2
How do I fork AutoMergePublicNodes and set up the GitHub Actions workflow to run on my own schedule with my own node sources?
Prompt 3
The proxy nodes in my AutoMergePublicNodes subscription are mostly dead. How often does the list update and how do I force a manual refresh?
Prompt 4
Help me understand the Clash Meta routing rules in the AutoMergePublicNodes config, how does it decide which traffic goes through the proxy?
Open on GitHub → Explain another repo

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

Verify against the repo before relying on details.