Application for Android platform to work in ED2K(eDonkey2000) networks. Based on ED2K library - see description below. In GUI part used source code and design from FrostWire project for Android.
- Google Play
- F-Droid
- Amazon Obsolete
- Direct apk Release ver 38
- Direct apk Release ver 20 latest Google Play version before 30
- Searching files on servers and using Kademlia by keywords
- Searching sources for file using KAD(DHT) and servers
- Downloading files
- Internationalization
The Android SDK total update and fix some common issued implemented in latests version 30 release.
Screen | Screen | Screen |
---|---|---|
Transfers | Search | Servers |
---|---|---|
Settings | Servers connected | Servers core stopped |
---|---|---|
Settings connect core | Search core stopped | Menu |
---|---|---|
More screenshots | More screenshots | More screenshots |
---|---|---|
Main goal - native application for Android platform. Lighter, faster, more user friendly and convenient than current Mule for Android.
- Async network I/O using Java NIO
- Async disk I/O operations emulation via one single thread executor service per session
- Project structure inspired by libed2k
- Packets parsing engine
- Alerts system
- Exception system with one type of exception and error code for each problem
- Search on servers(with all parameter types), search related, search more
- Downloading parts of files
- Downloading compressed parts of files(not recommended as default!)
- Connections policy
- Naive piece picker optimized to download fist and last pieces first for preview feature
- Naive piece manager - online pieces hash calculation and hash verification during downloading
- KAD search for keywords and file sources
- Stable code, fixing bugs, increase performance
- Advandced piece picker and piece manager
- Completed KAD support including firewalled usage and buddy system.
- Support publishing in KAD and responses to search requests
Maven build was removed. Gradle is only supported build system.
- cd jed2k
- open multi module Gradle project - settings.gradle
You can use simple console downloader module "console". Before usage you have to set incoming directory as first parameter. Do not use double quotes in commands below - there are for mark parameters. Some commands(much more available - see in code):
- connect to server, default port 4661: connect "server_address_or_ip" [port]
- search on server: search "search_phrase"
- search on server: search "search_phrase" dataSize "limit_in_mb"
- save search results: save
- load search results: restore
- show search results: print
- create transfer: load "hash" "size" "filepath"
- create transfer: load "emule_link"
- create transfer: load "number of search"
- delete transfer: delete "hash"
- exit application: quit
Additional tool for testing DHT: Kad.java application with own commands system
Special case - trial session - fixed sources addresses. Setup -Dsession.trial=true, -Dsession.peers=a.b.c.d:port,....
If you know Java/C++, Android or Java for Android, use eMule or simply would like help project - welcome 😄