Skip to content

GoodieHART/angelos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Angelos

Angelos — Angelos is a distributed feed network where Android phones can earn nanopayments by fetching RSS feeds through their residential IPs.

🏆 Lepton Hackathon Submission — Built for the Canteen Lepton Hackathon.

The Problem

It is very known in most tech commuities that center on any sort of scraping activity or rather autonomus internet access, that rate limiting or complete IP block is bound to occur when requests from your device gets excessive, because the websites they scrape aggressively block datacenter IPs (AWS, DigitalOcean, VPS) as most users run these scraping services there. Running a particular service thats constantly probing a website from a single server could mean your IP gets rate-limited or banned within days. Anti-crawler defenses treat every automated fetch as a threat.

The Solution

Instead of one server scraping from one IP, the goal is for the Angelos network to distribute feed fetching across Android phones running Termux. And i say feed fetching because the first opensource project this project was made to test integration with is RSSHub. Each phone uses its own residential WiFi IP — making every request look like a real user browsing the web. A network of a thousand different home IPs can't all be blocked 😅.

┌─────────────────┐       ┌─────────────────┐       ┌──────────────┐
│  Archangelos    │◄──────│  Malachi         │       │  Websites    │
│  (Coordinator)  │       │  (Termux Phone)  │──────▶│  (HN, etc.)  │
│  Node/Express   │       │  Python Agent    │  via  │              │
│  Always-on      │       │  Residential IP  │  HTTP │              │
└────────┬────────┘       └─────────────────┘       └──────────────┘
         │
         │  /feed/hackernews
         ▼
    ┌──────────┐
    │ Consumer  │
    │ RSS Reader│
    └──────────┘

How It Works

  1. Archangelos (the coordinator) runs on a laptop or VPS — always online, managing the task queue.
  2. Malachi agents run on Android phones via Termux — they register their residential IP, poll for work, fetch feed data, and submit results.
  3. Tidings are feed routes (starting with Hacker News) that transform raw fetched data into standard RSS XML.
  4. x402 nanopayments protect feed access — consumers pay $0.001 per feed request via Circle/Arc.
  5. Chorus (dashboard) shows live network status, payment flow, and agent decisions.

Why Phones?

  • Residential IPs that don't get blocked by anti-crawler systems
  • Always charging — plug in your phone and earn while you sleep
  • Burst model — phones only work when charging + on WiFi, no battery impact
  • Distributed — the network grows stronger with every phone that joins

Status

This is an early prototype built for the Lepton Hackathon. It currently supports:

  • ✅ Hacker News as the first feed route (Firebase API → RSS XML)
  • ✅ Node registry + task dispatch (phones register and poll for work)
  • ✅ Python Termux agent (lightweight, single dependency)
  • ✅ x402 payment gateway on static content
  • 🚧 x402 on feed endpoints (in progress)
  • 🚧 Wage tracking for phones
  • 🚧 Self-scheduling tiers (charging/WiFi/battery awareness)
  • 🚧 Chorus dashboard
  • 🚧 More feed routes

Getting Started

cd angelos
npm install
npm run build
npm start

The server starts on http://localhost:3000. Register a Malachi phone agent:

python3 angelos/malachi/agent.py --archangelos=http://<IP>:3000 --name=my-phone

Fetch the feed:

curl http://localhost:3000/feed/hackernews

It is also worth noting that this same system could also power distributed workloads across many applications, such as:

  • OCR processing for the Immich(Self-Hosted Alternative to Google Photos) community
  • Encrypted distributed embeddings(AI embeddings) processing
  • Shared Local LLM inference for anyone on the Lepton-Angelos network
  • And many others...🤔

Architecture

angelos/
├── archangelos/       # Coordinator (TypeScript/Express)
│   ├── server.ts      # HTTP server, registry, dispatch, payments
│   ├── index.ts       # CLI entry point
│   ├── types.ts       # Shared type definitions
│   └── content/       # Static test content
├── malachi/           # Node agent (Python)
│   ├── agent.py       # Termux phone agent
│   └── requirements.txt
├── tidings/           # Feed routes
│   └── hackernews.py  # HN → RSS XML parser
├── chorus/            # Dashboard assets (coming soon)
├── package.json
└── tsconfig.json

Tech Stack

Layer Technology
Coordinator Node.js, Express, TypeScript
Node Agent Python 3, requests (only dep)
Payments Circle x402 (@circle-fin/x402-batching)
Feed Routes HN Firebase API, stdlib XML
CLI Commander
Runtime Termux (Android) / Linux

License

MIT

About

A distributed feed network where Android phones earn nanopayments by fetching RSS through residential IPs. Submission for the Canteen Lepton Hackathon.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages