mirror of
https://github.com/logos-storage/bittorrent-codex-docs.git
synced 2026-01-03 21:43:13 +00:00
Adds summary about what potentially needs to be done
This commit is contained in:
parent
fddde524b9
commit
867899c14f
@ -1,6 +1,26 @@
|
||||
We can only start answering it after we:
|
||||
---
|
||||
tags:
|
||||
- bittorrent
|
||||
related-to:
|
||||
- "[[What BitTorrent has that Codex does not]]"
|
||||
- "[[How big the effort would be?]]"
|
||||
---
|
||||
Depending on the scope. Let's recall the most significant extensions we may need to add to Codex, if we would like Codex client to provide an experience similar to that of BitTorrent:
|
||||
|
||||
- Session and Resume Download support,
|
||||
- Support for Directories and Small Files,
|
||||
- Bandwidth incentives.
|
||||
- PEX,
|
||||
- LSD (Local Service Discovery),
|
||||
- NAT PMP/UPn{P,
|
||||
- uTP,
|
||||
- Superseeding.
|
||||
|
||||
See [[What BitTorrent has that Codex does not]] and [[How BitTorrent-Codex integration may look like?]] for more info about these items.
|
||||
|
||||
Thus we can only start scoping after we:
|
||||
|
||||
1. Revise the Codex peer-exchange protocol and see which BitTorrent extensions we want to adopt in Codex.
|
||||
2. Settle down on the which Open Source client we want to use.
|
||||
|
||||
Once we have this, we can start incrementally realise the Codex/BitTorrent integration. E.g. with can start with integrating Codex as it is and then incrementally add extensions we want to support. This approach would allow us to bootstrap the session management.
|
||||
Once we have this, we can start incrementally realise the Codex/BitTorrent integration. E.g. we can start with integrating Codex as it is and then incrementally add extensions we want to support. This approach would allow us to bootstrap the session management.
|
||||
|
||||
@ -17,7 +17,7 @@ All have the following options (all can be enabled or disabled):
|
||||
- Local Peer Discovery
|
||||
- Encryption
|
||||
|
||||
Additionally, Deluge lists here:
|
||||
Additionally, outside of the BitTorrent protocol itself:
|
||||
|
||||
- NAT PMP (Port Mapping Protocol),
|
||||
- UPnP (Universal Plug and Play),
|
||||
@ -40,13 +40,24 @@ See [BEP11 - Peer Exchange (PEX)](https://www.bittorrent.org/beps/bep_0011.html)
|
||||
|
||||
Another addition to the BitTorrent protocol that Codex does not seem to have. Local Service Discovery (LSD) or Local Peer Discovery as it is named by sometimes, provides a SSDP-like (http over udp-multicast) mechanism to announce the presence in specific swarms to local neighbours. See [BEP14 - Local Service Discovery](https://www.bittorrent.org/beps/bep_0014.html).
|
||||
|
||||
In a way, it is related to NAT PMP.
|
||||
|
||||
### NAT PMP (Port Mapping Protocol)
|
||||
### NAT PMP (Port Mapping Protocol) and Universal Plug and Play (UPnP)
|
||||
|
||||
NAT Port Mapping Protocol (NAT-PMP) is a network protocol for establishing network address translation (NAT) settings and port forwarding configurations automatically without user effort.
|
||||
|
||||
I do not believe we implement support that in our clients. Do we?
|
||||
Clients refer to this feature as *Port Mapping* ([[qBittorrent]]) or explicitly as NAT PMP/UPnP.
|
||||
|
||||
This does not seem to be part of the BitTorrent protocol, but rather an extra client feature.
|
||||
|
||||
[[libtorrent-rasterbar|libtorrent]] provides this feature through:
|
||||
|
||||
```bash
|
||||
enum portmap_transport
|
||||
enum portmap_protocol
|
||||
```
|
||||
|
||||
The first one allows to choose between `natpmp` or `upnp`, while the second between `tcp/udp`.
|
||||
|
||||
I do not believe we implement support for that in our client. Do we?
|
||||
|
||||
### uTorrent transport protocol (uTP)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user