Git Product home page Git Product logo

bootstrap-dht's Issues

How to build?

Hello!
I built it on windows,but there was error confused me.

xuan@LAPTOP-O8SDI23U MINGW64 /d/resource/bootstrap-dht (master)
$ b2 -sBOOST_ROOT=D:\resource\boost_1_75_0 toolset=gcc cxxflags="-std=c++11"
Unable to load B2: could not find 'boost-build.jam'
---------------------------------------------------
Attempted search from 'D:\resource\bootstrap-dht' up to the root at 'D:\resource\boost_1_75_0\tools\build\src\engine\b2.exe'
Please consult the documentation at 'https://boostorg.github.io/build/'.

What should I do?Why doesn't libterron include it?
Thanks!

bootstrap

should bootstrap(router.bitorrent.com) be specified when start the process?

out_of_range in substr()

my instance terminated with this message:

terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr: __pos (which is 2) > this->size() (which is 0)

unfortunately I did not build it with -rdynamic, so there was no backtrace.

Looking through the code, I couldn't find any direct uses of substr(), so I suspect there are some indirect ones. It needs some more digging.

generate_id does not follow BEP42

From BEP42 - BitTorrent DHT Security Extension:

The expression to calculate a valid ID prefix (from an IPv4 address) is:
crc32c((ip & 0x030f3fff) | (r << 29))

The current code does the following instead:

boost::crc_optimal<32, 0x1EDC6F41, 0xFFFFFFFF, 0xFFFFFFFF, true, true> crc;
crc.process_block(ip, ip + 4);
crc.process_byte(rand);
boost::uint32_t c = crc.checksum();

however according to BEP42, it should do the following:

boost::crc_optimal<32, 0x1EDC6F41, 0xFFFFFFFF, 0xFFFFFFFF, true, true> crc;
ip[0] |= rand << 5;
crc.process_block(ip, ip + 4);
boost::uint32_t c = crc.checksum();

The current id of router.bittorent.com is: 3a8d9e697351ff4aec29cdbaabf2fbe3467cc267 but it should rather be something like: 32f54a54f81be8e78d765a2e63339fc99a663267. Or is this deviation from the documented behaviour intended?
I've created a pull request that fixes the issue.

dht_put put gives 0 success

Hello,
I built it manually by building the 2 cpp files the guide is referring to.
then I run it with ./boostrap-dht 127.0.0.1 --port 7000

and I use a modified version of dht_put (that sets the bootstrap node to 127.0.0.1:7000).

I was expecting the put to "just work" but I am getting this: "DHT put complete (success=0 hash=763e35443e5aabf4f38c1aea43d55a3a9b6438aa)"

which seems to indicate it failed (success=0).

Move Application to Java, or ADA 95 : C++ code may be stable, but unreadable to most people...

Move Application to Java, or ADA 95 : C++ code may be stable, but unreadable to most people...

The major design flaw is probably that there is this :

There is no way to find up to date DHTs locally near to the user. If at DHT can't refer you to a nearby so one could download from them instead. There may be reasons for not doing this, but it is not clear in the documentation.

The application probably should be tested for Y2036 and Y2038 Date Bug Problems before conversion to ADA or Java.

This app would be better if it were moved to Java VM, as it could run anywhere -- and Java has a user interface mechanism.

Why each BitTorrent or uTorrent client does not have or run a separate DHT process I do not know.

Installation procedure

Could you please specify the complete building or installation steps?

I am trying install this on raspbian.
Finding difficult to install boost on it.
Even after installing libboost could not able to find b2 binary

I am new to boost. Please help me

use catch for unit tests

I'm tempted to pull in catch.hpp to use for tests. Does that seem reasonable? Are there other light-weight test frameworks that may be better options?

Error during the build.

I tried the instructions for the build in the read-me. However, The new versions of boost don't have a sha1.hpp under uuid. That's my guess, for the cause of the problem. I created a fork to fix this but I am not sure this is the optimal way of doing it.

Either one should refer to previous version of boost. Or reflect the changes to the code. Also, as a side note, I could not find the version of the boost used for compiling this project.

blahbalh/bootstrap-dht-master/src/main.cpp:51:10: fatal error: 'boost/uuid/sha1.hpp' file not found
#include <boost/uuid/sha1.hpp>

I checked the boost library, and the sha1.hpp exists until version 1.67.

Best,
Amir

Not sure where to ask

I'm not sure where else to ask this:

I was bootstrapping last night to

                new IPEndPoint(Dns.GetHostEntry("router.utorrent.com").AddressList[0], 6881),
                new IPEndPoint(Dns.GetHostEntry("router.bittorrent.com").AddressList[0], 6881),
                new IPEndPoint(Dns.GetHostEntry("dht.aelitis.com").AddressList[0], 6881)

quite repeatedly while debugging my application, and today I cannot get responses from any of these hosts. Is it possible i've been banned/blocked?

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.