Comments (8)
hi @GaetanCathelain,
It looks like the maximum amount of concurrent searches was exhausted.
The current maximum is set to 64. This limit is artificial (MAX_SEARCHES)
It might be a good idea to get rid of this limit.
from kadnode.
Anyway, KadNode haven't gotten the care it deserves in the last few years.
from kadnode.
Thank you for your response, i'll try without this limit !
I was truely surprised that this projet didn't bring more contributors honestly. It might be due to performance issue, which i'm trying to estimate :)
Anyway I didn't get deep into the code but from what I've seen Kadnode has a lot of potential ! Do you know if any other DHT have been implemented since that would be worth looking into ?
from kadnode.
I remember https://github.com/torrentkino/torrentkino. But there are certainly more. I have heard about a few, those were mostly huge (in code size) compared to KadNode.
If I had the time, I would make KadNode simpler and faster (see https://github.com/mwarning/KadNode/wiki for a todo list).
I also see a lot of potential. But a problem I have trouble with to figure out, is how to move out authentication to applications. I think that is the right thing to do.
Think of a browser where we enter some domain and the Browser does the authentication with its keychain certificate storage. DNS only provides the IP address. And most programs have it's own way to authenticate the target.
When KadNode tries to resolve some key/domain, it get's multiple possible IP-Addresses.
But usually it can only forward one IP-address to the application - which might be the wrong one. But we do not know if that is the expected IP address since we lack a back channel mechanism for an application to tell KadNode that the IP-Address failed authentication.
(... and the peer might be malicious and need to be dropped).
Or maybe KadNode can use the keychain certificate storage that browsers use (those can be managed/edited by the user). But I fear that the dependencies might blow up KadNode.
@axxName: this might interest you ^ :-)
from kadnode.
There is mbedtls (embedded) and openssl (desktop), if we can untilize the browser toolchain (and also add custom entries) to do authentication only, then this would be awesome.
from kadnode.
From what I understand, you would like to orient KadNode to a browser optimized DNS, but the thing is that DNS are crazy fast to bring the user a good experience, while on KadNode from what i've seen response time is closer to 10-30s.
I've looked into the todo list and saw that it'd be better to find another DHT. From my experience the fastest torrent client I used is rTorrent by far, but it looks like it uses trackers as a primary peer source and some DHT as backup.
I'm new to the DHTs but this is an interesting subject and although there are many papers about using them as a DNS, there isn't a lot of real world implementations.
from kadnode.
I like to have some decentralized DNS that is not limited to be used for Browsers, but any application. The problem is to have a common certificate store, I need to evaluate what kind of storage browsers use and how own entries can be made.
It would be very nice to have a chat client where you can add some contact by domain+certificate. The chat-program can add the certificate to the certificate storage (probably the same the browser uses, that is how I ended up talking about browsers..).
An alternative would be to use the pgp key storage, but I do not see a good chance to leverage that for an embedded system like wifi routers. There is already emdtls.
As for a faster DHT, I do not know what rTorrent uses; but it might be hard to verify its speed by simply using rTorrent. The paper in the wiki claims a speedup up to ~1sec for the type of DHT we use.
from kadnode.
I will close this issue as the code has been undergone heavy refactoring.
from kadnode.
Related Issues (20)
- can not start on windows HOT 8
- daemon crashes on resovle HOT 11
- keeps trying to uninstall debian package HOT 2
- can not build in cygwin HOT 3
- Publishing addresses for other nodes HOT 4
- here's an example address you can use HOT 10
- natpmp upnp features ? HOT 3
- Cannot build on Cygwin64. HOT 1
- Upgrade ideas HOT 3
- An odd bug HOT 4
- Upgrade idea HOT 2
- Announce with own CA certs HOT 4
- Ubuntu 22.04: unmet dependencies when installing deb HOT 2
- onion like domain with ed25519 HOT 9
- MX records? HOT 1
- Domain authorization HOT 4
- can't build with mbedtls 3.x HOT 8
- Can this work on a local mesh network HOT 5
- Can this work on a local mesh network
- Cannot compile in cygwin HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kadnode.