Skip to content

Latest commit

ย 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


Update Status Protocol Update Sources Xray CF Edge Region Version License Built With


Collects ยท Filters ยท Deduplicates ยท Deep-Checks ยท Ranks ยท Publishes Fully automated. No ads. No login. No BS.


๐Ÿš€ Quick Start ยท ๐Ÿ“Š Live Snapshot ยท ๐Ÿ† Quality Tiers ยท ๐ŸŒ Region Policy ยท ๐Ÿ“ All Subscriptions ยท โš™๏ธ How It Works ยท ๐Ÿ“ฑ Clients


โœจ What Is FastNodes?

FastNodes is a fully automated, multi-vantage V2Ray/Xray proxy aggregator. Every hour, it fetches configs from 642 sources โ€” public GitHub repositories, Telegram channels, and standalone websites. It doesn't just list them; it runs them through a gauntlet of filters, deduplicates them by full config identity, and performs deep liveness checks using Xray-core, Cloudflare Workers, and Azure TLS probes.

The headline files are tuned for real-world usability: top.txt and verified.txt contain only Europe, Iran, and Iran-neighbor nodes โ€” the regions that empirically work. Everything else stays fully available in the global files.


๐Ÿ“Š Live Snapshot

Numbers from the latest full run (updated hourly โ€” typical values, not guarantees):

The Pyramid of Trust

642 sources โ”€โ”€โ–บ 1,817,641 raw lines โ”€โ”€โ–บ 239,689 unique configs
                                              โ”‚
                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                              โ”‚   Dead-node & alias filters    โ”‚
                              โ”‚  (NXDOMAIN ยท TCP-RST ยท bogon)  โ”‚
                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                              โ–ผ
                                    192,413 alive nodes
                                              โ”‚
                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                          โ–ผ                   โ–ผ                   โ–ผ
                   34,123 TLS-verified      734 Xray-verified   276 Edge-verified
                   (CF-fronted excluded)    (FULL roundtrip,    (CF 2nd vantage,
                                             Europe/IR only)    preferred regions)
                                              โ”‚                   โ”‚
                                     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                โ–ผ
                                top.txt + verified.txt
                          (Europe + Iran + neighbors ONLY)

Protocol Distribution (~192,000 nodes)

vless       โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  145,240  (75.5%)
trojan      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                                       18,168  ( 9.4%)
vmess       โ–ˆโ–ˆโ–ˆโ–ˆ                                        13,442  ( 7.0%)
ss          โ–ˆโ–ˆโ–ˆ                                          10,460  ( 5.4%)
hysteria2   โ–ˆ                                             3,879  ( 2.0%)
wireguard   โ–                                              626  ( 0.3%)
ssr/tuic/socks/anytls/hysteria/socks5                              598  ( 0.3%)

Geographic Distribution (~192,000 nodes)

Europe        โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ   75,684  (39.3%)
North America โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                           31,067  (16.1%)
Asia          โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                               26,098  (13.6%)
Africa        โ–ˆโ–ˆ                                            2,922  ( 1.5%)
Oceania       โ–                                               942  ( 0.5%)
South America โ–                                               777  ( 0.4%)

Run Statistics

Metric Value
Total runtime ~21 minutes (of a 50-minute budget)
Raw lines parsed per run ~1.82 million
Nodes dropped as provably dead ~47,000 (NXDOMAIN + TCP-RST + bogons)
Xray deep check 734/2,682 roundtrips completed in 161s โ€” 0 skipped by budget
Sources healthy / dead 629 / 13
History tracked (cross-run) ~195,000 nodes
Nodes marked stable (3+ runs) ~189,700

๐Ÿš€ Quick Start

The fastest way to get working proxies. Just copy a link and paste it into your client (Hiddify, v2rayNG, NekoBox, etc.):

What Link
๐Ÿ† Top 1000 Ranked https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/top.txt
๐Ÿ›ฐ๏ธ Xray Verified (Europe + IR region) https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/verified.txt
๐ŸŒ Everything (all regions) https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/everything.txt
๐Ÿ”’ WireGuard (NekoBox) https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/protocols/wireguard.txt

top.txt and verified.txt contain only Europe + Iran + Iran-neighbor nodes (๐Ÿ‡ช๐Ÿ‡บ๐Ÿ‡ฎ๐Ÿ‡ท๐Ÿ‡น๐Ÿ‡ท๐Ÿ‡ฆ๐Ÿ‡ช and neighbors). This matches empirical performance: European and Iranian-region servers connect reliably; US/Asia/CF-fronted free nodes rarely do. All other regions remain fully available in the global files below.


๐Ÿ† Quality Tiers

File Typical size What it is
sub/top.txt 1,000 The precision file. Europe + IR + neighbors only, ranked by composite score (observed range 117โ€“187). Gate: at least one affirmative current signal.
sub/verified.txt ~730 The strongest life signal. Europe + IR + neighbor nodes that proxied a real HTTP generate_204 request end-to-end through xray-core this run. The entire roundtrip budget is spent exclusively on these regions. Never ships empty โ€” falls back to the last successful set if the check stage ever fails.
sub/verified_tls.txt ~34,000 Nodes that completed a TLS handshake with their real SNI from a clean vantage. CF-fronted hosts are excluded (~32K per run) โ€” an edge handshake terminates at Cloudflare and proves nothing about the backend behind it.
sub/curated.txt ~45,000 Nodes from explicitly Iran-tested sources, PLUS nodes that are both stable and TLS-verified.
sub/stable.txt ~190,000 Nodes that have survived 3+ consecutive hourly runs without being dropped.
sub/everything.txt ~192,000 The full, uncapped list of all surviving nodes โ€” all regions. Never split.
sub/protocols/wireguard.txt ~40 WireGuard nodes as Clash YAML โ€” keys strictly validated (32-byte, base64-normalized), NekoBox imports this directly.
sub/wireguard/*.conf ~40 files Individual sanitized .conf files โ€” WireGuard app imports these directly.

๐ŸŒ Region Policy & Multi-Signal Ranking

One simple rule: top.txt and verified.txt admit only Europe, Iran, and Iran-neighbor countries (TR, AE, IQ, AM, AZ, TM, AF, PK, QA, KW, BH, OM, SA, GE, KZ). Every other output file remains global.

The Xray roundtrip budget and the Cloudflare Edge budget are spent exclusively on preferred-region nodes โ€” a verified US or Asian node would earn points it can never spend, so the budget goes where it pays. Within the region, nodes are ordered by a composite score:

Signal Points What it proves
Xray roundtrip +35 A real HTTP request was proxied through this node, end-to-end
Iran-tested source +30 Delegated validation: a maintainer tested this node from inside Iran
CF Edge verified +20 Alive from a second vantage class (Cloudflare edge)
TLS verified +20 Completed a TLS handshake with the node's real SNI
Region weight up to +27 Europe-first ordering within the allowed set
Presence streak up to +20 Survived N consecutive hourly runs of all drop filters
Xray streak up to +15 Roundtrip-verified N runs in a row
Multi-source up to +10 Published by 2+ independent sources (ecosystem consensus)

The three verification vantages

Azure TLS probe ๐Ÿ›ฐ๏ธ Xray deep check ๐ŸŒ CF Edge Worker
Depth TLS handshake only Full proxy roundtrip (real traffic) TCP + TLS handshake
Region focus Global Europe + IR + neighbors only Europe + IR + neighbors only
CF-fronted nodes Skipped โ€” edge handshakes prove nothing โœ… Only valid judge of CF nodes Skipped (platform restriction)
Drops on fail? Never Never Never

Why skip CF-fronted hosts in TLS? A TLS handshake with a Cloudflare edge server always succeeds โ€” even when the proxy hiding behind it is dead, because the handshake terminates at the edge and never reaches the origin. That fake "+20 verified" signal was flooding top.txt with CF nodes that never work. CF nodes can now only prove life through a genuine Xray roundtrip.

Why is verified.txt never empty? If the Xray stage ever fails to run (stage failure, binary issue), the last successful set is shipped from state/verified_last.txt instead of an empty subscription. Stale beats empty for a live subscription.


๐Ÿ“ Subscription Links

All output is plain raw URI lists (.txt) โ€” one config per line, works in every V2Ray/Xray client. Output files are sorted alphabetically (Host โ†’ Protocol) for stability.

๐Ÿ“ฆ Large lists are split into parts

everything.txt and the quality tiers are never split. Every other category (protocols, countries, continents) caps at 1000 lines per file. The first 1000 always stay in xx.txt โ€” that link never changes โ€” and everything beyond that spills into xx_part2.txt, xx_part3.txt, etc.

sub/protocols/vless.txt          โ† first 1000
sub/protocols/vless_part2.txt    โ† next 1000

๐Ÿ”ข By IP family

Nodes are classified by their resolved IP family (hostname nodes are included based on their DNS lookup).

URL
https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/ipv4_only.txt
https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/ipv6_only.txt

๐Ÿ”ง By Protocol

Base path: https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/protocols/

Recognized protocols: vmess, vless, trojan, ss, ssr, hysteria, hysteria2 (+ hy2 alias), tuic, wireguard, socks, socks5. Each gets its own file if at least one alive node uses it:

Protocol Nodes File
๐Ÿ”ต VLESS ~145K vless.txt
๐ŸŸฃ Trojan ~18K trojan.txt
๐ŸŸ  VMess ~13K vmess.txt
โšซ Shadowsocks ~10K ss.txt
โšก Hysteria2 ~4K hysteria2.txt
๐Ÿ”’ WireGuard ~40 wireguard.txt โ€” Clash YAML for NekoBox

WireGuard users: The wireguard.txt file is a Clash YAML config (NekoBox imports it directly). Individual .conf files for the official WireGuard app are in the sub/wireguard/ directory. All keys are strictly validated โ€” nodes with malformed keys are dropped rather than crashing your client.

๐ŸŒ By Continent & Country

Base paths:

  • https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/continents/
  • https://raw.githubusercontent.com/rtwo2/FastNodes/main/sub/countries/

Popular countries:

Country Nodes File
๐Ÿ‡ฎ๐Ÿ‡ท Iran ~6.8K IR.txt
๐Ÿ‡ฉ๐Ÿ‡ช Germany ~17K DE.txt
๐Ÿ‡บ๐Ÿ‡ธ United States ~29K US.txt
๐Ÿ‡ท๐Ÿ‡บ Russia ~20K RU.txt
๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom ~5.8K GB.txt
๐Ÿ‡ซ๐Ÿ‡ท France ~6.4K FR.txt
๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands ~6.5K NL.txt

Around 90 countries are typically available. Just swap the country code in the URL pattern.


๐Ÿ“ฑ Compatible Clients

Every output file is a plain raw URI list โ€” works in virtually every V2Ray/Xray client:

Client Platform How to import
Hiddify Android / iOS / Desktop / Windows Add Profile โ†’ URL โ†’ paste .txt link
v2rayNG Android Subscription โ†’ Add โ†’ paste .txt link
NekoBox / NB4A+ Android Profile โ†’ New โ†’ paste .txt link
NekoBox (WireGuard) Android Profile โ†’ New โ†’ paste wireguard.txt link โ€” imports Clash YAML
Shadowrocket iOS Add โ†’ Type: Subscribe โ†’ paste link
Streisand iOS Add Config โ†’ paste link
v2rayN Windows Subscription Group โ†’ Add โ†’ paste .txt link
Nekoray Windows / Linux Preferences โ†’ Subscription โ†’ paste link
WireGuard app Android / iOS / Windows Import .conf files from sub/wireguard/ directory

Raw URI lists work everywhere and load faster. For WireGuard, a Clash YAML config is provided specifically for NekoBox compatibility.


โš™๏ธ How It Works

FastNodes runs a 5-stage pipeline every hour, with multiple fail-soft verification layers. Every stage is designed to never kill the pipeline if a third-party service crashes.

642 Sources (GitHub ยท Telegram ยท web, fetched in parallel)
        โ†“  ~1.82M raw lines โ†’ 240K unique configs
๐Ÿงน Step 1: Decode & Smart Dedup (full config identity + alias collapse)
        โ†“
๐ŸŒ Step 2: GeoIP Lookup (106K unique hosts โ€” City ยท Org ยท Country, DNS cached)
        โ†“
๐Ÿ’€ Step 3: Dead-Node Filters (~47K dropped: NXDOMAIN ยท TCP-RST ยท bad IPs)
          (Timeouts NEVER drop a node; circuit breakers protect against mass-drops)
        โ†“
๐Ÿ” Step 4: Multi-Vantage Promotion (Fail-Soft)
   โ”œโ”€ TLS Verification โ€” ~34K promoted (CF-fronted hosts SKIPPED: ~32K per run)
   โ”œโ”€ ๐Ÿ›ฐ๏ธ Xray Deep Check โ€” REAL proxy roundtrip via xray-core, candidates drawn
   โ”‚     EXCLUSIVELY from Europe/IR/neighbors (2,682 candidates, 734 verified,
   โ”‚     161s โ€” xray's output pipes are drained live to prevent startup freezes)
   โ”œโ”€ ๐ŸŒ Edge Verification โ€” Cloudflare Worker 2nd vantage, pools drawn
   โ”‚     EXCLUSIVELY from preferred regions (~276 promoted; catches nodes that
   โ”‚     geo-block US datacenters)
   โ””โ”€ ๐Ÿ“š Stability Tracking (195K nodes in state/history.json)
        โ†“
๐Ÿ’พ Step 5: Region Gate + Composite Score & Publish
          top.txt + verified.txt โ†’ Europe/IR/neighbors ONLY
          all other files โ†’ global, alphabetical

๐Ÿง  Smart Deduplication

Most collectors dedup on host:port only, which silently drops configs with different UUIDs on the same server. FastNodes deduplicates on the full config identity:

protocol + host + port + credential + transport + security + SNI
         + path + REALITY pbk/sid + flow + obfs-password

If a server hosts multiple VLESS configurations (common with Xray setups), all of them are kept. On top of the identity key, an alias-collapse pass re-keys every node on its resolved IP and merges spelling-variants โ€” vless://uuid@1.2.3.4:443 and vless://uuid@server.com:443 ship as one node, keeping the hostname form (which survives IP rotation).


๐Ÿท๏ธ How Nodes Are Named

Each remark is geo info + server address. When multiple nodes share the same server, each gets a port suffix so you can tell the inbounds apart:

๐Ÿ‡ฉ๐Ÿ‡ช Frankfurt, DE ยท Hetzner | example.com          โ† only node on this server
๐Ÿ‡ฉ๐Ÿ‡ช Frankfurt, DE ยท Hetzner | example.com :8443    โ† 2nd node, port 8443
๐Ÿ‡ฉ๐Ÿ‡ช Frankfurt, DE ยท Hetzner | example.com :8443ยทvless  โ† same port, different protocol

The suffix is stable across runs โ€” the input list is sorted (host โ†’ port โ†’ protocol) before naming, so the same server:port always gets the same suffix.


๐Ÿ“‚ Repository Structure

FastNodes/
โ”œโ”€โ”€ .github/workflows/collect.yml       # Hourly run, Xray setup, drives everything
โ”œโ”€โ”€ ProxyCollector/
โ”‚   โ”œโ”€โ”€ Collector/ProxyCollector.cs     # Core engine โ€” fetchโ†’parseโ†’verifyโ†’rank
โ”‚   โ”œโ”€โ”€ Configuration/CollectorConfig.cs# Source list loading & normalization
โ”‚   โ”œโ”€โ”€ Services/IPToCountryResolver.cs# GeoIP + bounded DNS, shared cache
โ”‚   โ””โ”€โ”€ Models/                         # CityInfo, CountryInfo
โ”œโ”€โ”€ state/
โ”‚   โ”œโ”€โ”€ history.json                    # Hashed cross-run streak tracking (~195K nodes)
โ”‚   โ””โ”€โ”€ verified_last.txt               # Last successful verified.txt set (empty-file fallback)
โ””โ”€โ”€ sub/
    โ”œโ”€โ”€ everything.txt                  # All surviving nodes โ€” never split
    โ”œโ”€โ”€ top.txt                         # Top 1000 โ€” Europe + IR + neighbors ONLY
    โ”œโ”€โ”€ verified.txt                    # Full Xray roundtrip โ€” Europe + IR + neighbors ONLY
    โ”œโ”€โ”€ verified_tls.txt                # Azure TLS successes (CF-fronted excluded)
    โ”œโ”€โ”€ curated.txt                     # Iran-tested or stable+TLS-verified
    โ”œโ”€โ”€ stable.txt                      # 3+ consecutive hourly runs
    โ”œโ”€โ”€ ipv4_only.txt / ipv6_only.txt   # By resolved IP family
    โ”œโ”€โ”€ protocols/                      # Per-protocol .txt, chunked at 1000
    โ”‚   โ”œโ”€โ”€ vless.txt                   # โ† first 1000 vless nodes
    โ”‚   โ”œโ”€โ”€ vless_part2.txt            # โ† overflow
    โ”‚   โ”œโ”€โ”€ wireguard.txt              # โ† Clash YAML config (NekoBox-importable!)
    โ”‚   โ””โ”€โ”€ ...
    โ”œโ”€โ”€ wireguard/                      # Individual .conf files (WireGuard app)
    โ”‚   โ”œโ”€โ”€ 001 Cloudflare 162.159.192.0.conf
    โ”‚   โ””โ”€โ”€ ...
    โ”œโ”€โ”€ countries/                       # Per-country .txt, same chunking
    โ””โ”€โ”€ continents/                     # Per-continent .txt, same chunking

โš ๏ธ Honest Notes

Filtered on affirmative death only: NXDOMAIN, TCP-refused, bad resolved-IPs, alias duplicates. A node that merely times out from GitHub is kept โ€” it may work fine from your location.

Location labels come from resolved IPs, not source remarks: free-proxy channels routinely label dead US servers "๐Ÿ‡ฉ๐Ÿ‡ช Germany". FastNodes shows the physical location of the IP you connect to. CF-fronted nodes will show the edge's country, not the backend's.

This project does not:

  • Host or operate any proxy servers
  • Guarantee any node is online or reachable
  • Guarantee any node works in your specific location or ISP
  • Collect any user data whatsoever

All configs are sourced from publicly available GitHub repositories, Telegram channels, and public subscription sites. Credit goes to all the original collectors and server operators.


๐Ÿ™ Sources

FastNodes aggregates from 642 public sources (GitHub repositories, Telegram channels, and standalone sites). Major contributors include: AvenCores, morpheusadam, MatinGhanbari, barry-far, Epodonios, Surfboardv2ray, 10ium, NiREvil, F0rc3Run, mahdibland, 4n0nymou3, sakha1370, wuqb2i4f, V2RayRoot, sevcator, igareck, youfoundamin, HosseinKoofi, Argh94, Mahdi0024, liketolivefree, AzadNetCH, Leon406, roosterkid, ebrasha, Danialsamadi, LalatinaHub, Farid-Karimi, 0xRadikal, Diversan313, Au1rxx, MustafaBaqer, MahanKenway, SoliSpirit, Delta-Kronecker, and many others.


If FastNodes helps you, a โญ means a lot

Auto-updated every hour ยท Built with C# .NET 9 ยท Powered by GitHub Actions & Cloudflare Workers

About

๐Ÿš€ FastNodes โ€” hourly-updated V2Ray aggregator pulling from 627 sources across GitHub, Telegram & the web. Drops only provably-dead nodes (dead domains, closed ports), merges duplicates, and serves clean lists by protocol, country & continent. No ads, no login, no BS. Just paste a link. ๐Ÿ’œ

Topics

Resources

Stars

81 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages