IDEA-AMULE-WATCHLIST - aMule Reference Watchlist¶
Exploratory only. This is not an active implementation plan, not release scope, and not current branch direction. Treat aMule as reference material unless a future
docs/active/item explicitly promotes a narrow slice.Analysis based on
analysis/amulematerialized fromhttps://github.com/amule-project/amule. Date: 2026-05-17 This dated analysis retains its original source provenance. The currentanalysis/amulecheckout tracksamule-org/amule; recheck paths and behavior against that upstream before promoting any idea.Newer cross-project snapshot: eD2K Extension Interoperability And Evolution records aMule's 2026-10-01 capability parsing, uTP/QUIC scaffolding, server-assisted NAT-T codecs, and current interoperability limits. This watchlist retains its original dated scope as provenance.
Summary¶
aMule has limited immediate implementation value for eMuleBB because the code base differs materially in toolkit, build system, runtime assumptions, and app structure. It remains useful as a compatibility witness and as a source of focused protocol/file-format fixtures to revisit as aMule evolves.
Do not port aMule code directly by default. Mine it only for:
- wire-format fixtures and parser regression ideas
- offline file-format diagnostic ideas
- tag/name/type inventories for clearer compatibility tests
- future parity checks when aMule adds narrowly relevant behavior
Any promoted work should be implemented through eMuleBB-native seams, tests, or diagnostics, with stock eMule/eD2K/Kad behavior treated as the authority.
Protocol And Tag Test Ideas¶
aMule has focused Kad/eD2K tag serialization tests in
analysis/amule/unittests/tests/CTagTest.cpp. These are useful as a future
fixture inventory for eMuleBB protocol parser regression tests, especially:
- Kad tag-list packets with UTF-8 filenames and mixed file metadata.
- Kad integer width coverage for
uint8,uint16,uint32, anduint64little-endian encodings. - Kad
BSOB, hash, float, and blob handling. - ED2K numeric and string tag-name blob cases.
- Kad/eD2K tag-name inventories that can become compact "known names parse" regression tables.
Current recommendation: if revisited, add low-risk native byte-vector tests first. Avoid linking aMule's test harness or pulling broad production app runtime into the native test executable.
File-Format Tool Ideas¶
aMule includes a fileview utility under analysis/amule/src/utils/fileview
for read-only inspection of profile and persistence files. It covers:
preferences.datpreferencesKad.datnodes.datserver.metclients.metknown.met.part.metcanceled.metemfriends.metstatistics.dat- Kad index files such as
load_index.dat,key_index.dat, andsrc_index.dat
This has little immediate implementation value because eMuleBB already has
some persistence seams for server.met, nodes.dat, and preferencesKad.dat.
The useful future direction is to mine the file-shape knowledge for richer
offline validators or diagnostics, not to port the utility directly.
Potential future slices:
- Expand
preferencesKad.datvalidation from length-only to parsed IP/client ID diagnostics. - Add a lightweight
preferences.datidentity/shape validator. - Enrich
nodes.datinspection with version, bootstrap, endpoint, and verification diagnostics. - Add
known.metand.part.metsummary validators once tag-vector coverage is stronger. - Reuse tag/name/type display tables for clearer diagnostic output.
Watch Guidance¶
Re-check aMule periodically when it changes in areas that overlap eMuleBB:
- Kad/eD2K protocol serialization tests
- profile/persistence file decoders
- corruption recovery behavior for
.metfiles - parser hardening around malformed tags or truncated payloads
- compatibility fixes called out in aMule release notes or changelog
Keep this as a watchlist until a specific item has a concrete eMuleBB bug, test gap, support-diagnostic need, or compatibility risk attached to it.