An automated, high-performance eD2k (eMule / eDonkey / aMule) active server list harvester and modern web directory portal.
- ⚡ Multi-Threaded UDP Probing: Rapidly checks server availability, latency (ping RTT), active users, indexed files, maximum user capacity, and file limits (soft/hard).
- 📡 Peer Discovery & Self-Expanding Database: Automatically queries online eD2k servers via TCP (
OP_SERVERLIST) and fetches remote communityserver.metfiles to discover and save new active servers intoservers.txt. - 📦 Multi-Format Exports:
server.met: Binary file for direct eMule / aMule auto-update integration.servers.json: Full REST JSON API containing all server metadata & metrics.servers.txt: Plain text IP:Port seed list.index.html: Ultra-modern Glassmorphism dashboard web portal.
- 🎨 Glassmorphism Web Portal:
- Interactive multi-column sorting & real-time search filtering.
- Dark / Light mode toggle.
- Multi-language UI switcher (English, French, Spanish, German, Italian).
- Quick-copy
ed2k://links andserver.metdirect update URL buttons.
- 🤖 Fully Automated: Built-in GitHub Actions workflow refreshes the list every 6 hours and deploys directly to GitHub Pages.
- Copy your GitHub Pages hosted
server.metURL:https://<your-username>.github.io/ed2k-server-list/server.met - Open eMule → Options → Server.
- Check "Auto-update server list at startup" and paste the URL into "Update server.met from URL".
- Python 3.10 or higher
- Standard Python libraries (
socket,struct,urllib,json,concurrent.futures,zlib) - No external pip packages required!
python main.pyThe script will:
- Load
servers.txt. - Fetch distant community
server.metlists. - Probe candidate servers via UDP concurrently.
- Discover peer servers via TCP handshake.
- Enrich active servers with country flags via GeoIP.
- Generate updated files inside the
public/directory.
├── main.py # Core Python harvester, protocol parser, and web generator
├── servers.txt # Seed list of known eD2k servers (auto-expanding)
├── public/ # Generated website & data artifacts (published to GitHub Pages)
│ ├── index.html # Glassmorphism Web Dashboard
│ ├── server.met # eMule binary server list
│ ├── servers.json # Public REST API endpoint
│ └── servers.txt # Raw IP:PORT list
└── .github/workflows/
└── update.yml # GitHub Actions 6-hour cron workflow
Released under the MIT License.