GithubHelp home page GithubHelp logo

dexterwoo / libed2k Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qmule/libed2k

0.0 2.0 0.0 7.54 MB

CMake 0.27% Python 0.06% C++ 92.25% HTML 0.02% Objective-C 0.19% C 7.18% Makefile 0.02%

libed2k's Introduction

libed2k

Build Status

eDonkey protocol library. Fast cross-platform eDonkey protocol library. Inspired by libtorrent_rasterbar.

Main features:

  • high speed
  • async IO

Kademlia

Library supports Kademlia2 eMule protocol. Version of client is KADEMLIA_VERSION5_48a to aboid obfuscation requirement. Features:

  • search for sources
  • search for keywords
  • handles KADEMLIA2_REQ

Restrictions:

  • buddy system is not supported
  • transfer announcing is not implemented yet
  • keywords announcing is not implemented yet

Building

Supported platforms

  • Linux
  • Mac OS
  • Windows
  • Android

Common dependencies:

  • boost(system, thread, random, date_time and tests for unit testing)
  • cmake

Windows, Linux, Mac OS X:

Windows x64 build on VS2015 cmake .. -G"Visual Studio 14 Win64"

Android cross platform compilation on Linux

Use some dev directory PATH.

Android tools and additional dependencies:

Prepare environment:

  • Checkout and install NDK: android-ndk-r10d-linux-x86_64.bin
  • Create stadalone toolchain($NDK/build/tools/make-standalone-toolchain.sh). ${PATH}/arm-linux-androideabi_standalone
  • Build boost libraries using Boost for Android manual. For example boost 1.53
  • export BOOST_ROOT=${PATH}/Boost-for-Android/build/include/boost-1_53
  • export BOOST_LIBRARYDIR=${PATH}/Boost-for-Android/build/lib/
  • Possibly you have to rename boost libraries to libboost_xxx.a

Android build:

  • git clone https::/github.com/qmule/libed2k.git
  • mkdir android && cd android
  • cmake -DCMAKE_TOOLCHAIN_FILE=${PATH}/android-cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="armeabi-v7a with NEON" ADANDROID_STANDALONE_TOOLCHAIN=${PATH}/arm-linux-androideabi_standalone ..
  • make

libed2k's People

Contributors

a-pavlov avatar isharov avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.