reit | 1 Oct 10:29 2014

RSS over DHT

Since we now have the capacity to put mutable values using DHT store, it 
should now be possible to build fully decentralized update mechanisms, 
and a decentralized RSS sounds like the most straightforward first 
option. A possible implementation would allow the user to paste in a 
public key rather than an HTTP url into the RSS feed reader:

- If such a public key is entered, system attempts to mutable get the 
value stored at that address
- This value (an info-hash) is added as an unlisted torrent and started
- Upon completion, pass RSS feed contained within that torrent through 
the existing RSS pipeline
- Continue checking key at standard intervals, if updated version is 
found remove old version and begin process again with new version

The RSS torrent would continue to be seeded in the background, which I 
think would be acceptable to the user given the small file size of a 

This would be the approach to bake the functionality into a client, but 
we can also go one step further. Having implemented the above, we could 
proceed to package it into a self-contained program capable of 
interoperating with ANY existing client, without modification:

- Simple webserver is started, begins monitoring for requests on some 
custom port
- When a request is received (of the form 
http://localhost:12345/[public-key].rss), parse out the public key and 
add that internally as a feed to monitor
- Next time that feed is requested, return associated RSS file

(Continue reading)

Stefan | 30 Sep 13:55 2014

Enable DHT with Proxy, anonymous?

Hi, I have read on different forums that since Deluge uses Rasterbars
lib, it *should* be secure to enable DHT with a proxy. Apparently the
connection in Rasterbars lib is encrypted, even when i enable DHT.

Is that true? Am I staying anonymous when i force the proxy and enable DHT?
Can I enable LSD and peer exchange aswell?

Looking for some clarification from the dev here : )

Thanks in advance

Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
Jing Vergara | 29 Sep 19:56 2014

SSL torrents with HTTPS tracker


Has anyone successfully used SSL torrents with an HTTPS tracker?

I've setup an HTTPS tracker and the openssl s_client test works
successfully with it. However, the libtorrent client_test fails when the
tracker sends back the announcement response.

Here's the announcement response from the HTTPS tracker (from the SSL debug

Padded plaintext before ENCRYPTION: len = 96
0000: 32 94 3E AC 79 4A C7 6E B6 45 ED 01 E9 AB B8 BA 2.>.yJ.n.E......
0010: 64 38 3A 63 6F 6D 70 6C 65 74 65 69 30 65 31 30 d8:completei0e10
0020: 3A 69 6E 63 6F 6D 70 6C 65 74 65 69 31 65 38 3A :incompletei1e8:
0030: 69 6E 74 65 72 76 61 6C 69 31 30 65 35 3A 70 65 intervali10e5:pe
0040: 65 72 73 30 3A 65 35 A3 40 21 A9 E7 22 31 21 3F ers0:e5. <at> !.."1!?
0050: 80 A6 83 76 02 6C 3F 8B E2 37 05 05 05 05 05 05 ...v.l?..7......
Dispatcher: Thread-23, WRITE: TLSv1.1 Application Data, length = 54
[Raw write (bb)]: length = 101
0000: 17 03 02 00 60 E7 91 7F FC 04 F8 9A EB BA 84 E1 ....`...........
0010: 72 0D CC 14 F4 73 AC 1B 67 F8 39 90 30 BD 3A 8D r....s..g.9.0.:.
0020: 5F 63 4B 2F 03 AF 4B 6C 53 62 CF 9D B0 40 1F 46 _cK/..KlSb... <at> .F
0030: 2F F0 70 8E 8B 8C B6 82 BB BC 24 E5 C2 35 78 51 /.p.......$..5xQ
0040: 61 E6 76 A0 54 91 9D D6 3C 94 5F 38 B2 9D 18 99 a.v.T...<._8....
0050: CC 50 E3 03 EA 35 25 CA AA 3D 6B F8 06 10 6A 9F .P...5%..=k...j.
0060: F4 68 90 8D 82 .h...

Here's the log from BitTorrent's client_test:

(Continue reading)

Bedeho Mender | 29 Sep 11:34 2014

Fwd: Building libtorrent on Windows

-Forgot to hit reply to all

---------- Forwarded message ----------
From: Bedeho Mender <bedeho.mender <at>>
Date: 29 September 2014 11:33
Subject: Re: [libtorrent] Building libtorrent on Windows
To: arvid <arvid <at>>


thanks for the amazing support, I downloaded the new version, and the error
went away!

However, I got a new error

error: Unable to find file or target named
error:     '/boost/chrono//boost_chrono'
error: referred from project at
error:     '.'

Some boost wizards informed me that I likely missed chrono, since I was
using version 1.36, however
your docs mention 1.34 as a cutoff version. Am I doing something wrong, or
are the docs dated on this point?


On 28 September 2014 22:01, arvid <arvid <at>> wrote:

(Continue reading)

Bedeho Mender | 27 Sep 15:27 2014

Building libtorrent on Windows


I am trying to build libtorrent on Win 7 64bit using Microsoft Visual
Studios 2010 (msvc10.0). I am following the building with BBv2 steps, and I
get to the step where I run

bjam msvc-10.0 link=static runtime-link=static boost=source

but the compiling and linking ends with this output which indicates that
the final lib file was not built.

...failed compile-c-c++
reading-multi>libtorrent.lib for lack of
...failed updating 1 target...
...skipped 1 target...

Sorry to have to post this given how great the docs are on building, but I
am not sure where to go next at this point.

 Bedeho Mender
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
(Continue reading)

Bedeho Mender | 25 Sep 15:19 2014

The plugin interface


I'm quite new to libtorrent, but I'm considering writing an extension given
the maturity of your plugin interface and the publication of the new Java
bindings for libtorrent published by the folks over at frostwire (gubatron).

To this end, I am trying to figure out how a peer_plugin can send messages
over a given bt_peer_connection?

This can either be regular bittorrent message, or some extension specific
message wrapped in an extended BEP10 message.

The amazing docs seems to not cover this part, or I may just be missing it.

 Bedeho Mender
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
arvid | 21 Sep 22:22 2014

Re: Remove torrent

On 2014-09-21 10:36, lxfb <at> wrote:
> Yes, i did wrong the question.
> For example:
>     params.url = magnet;
>     handle = client->add_torrent(params);
>     client->remove_torrent(handle);
>     // Here: "what():  invalid torrent handle used"
> My cuestion is, how to remove/cancel torrent here?
> Or possibly something I'm not understanding.
> Thanks.

This code is correct. I just added a unit test for this case
to make sure it doesn't throw, and it doesn't for me.
I tested this in 0.16.x, 1.0.x and trunk.

are you sure the handle you're removing hasn't already
been removed?

Does the torrent you're trying to remove still exist
if you ask the session for get_torrents() ?


Arvid Norberg

(Continue reading)

lxfb | 19 Sep 23:09 2014

Remove torrent


To remove a torrent, remove_torrent(handle). 
But if the torrent can not start the downloading for some motifi, and has not a valid handle, as it should
remove it?.


Slashdot TV.  Video for Nerds.  Stuff that Matters.
Angel Leon | 19 Sep 20:15 2014

libtorrent git/github fork

In case someone wants to browse the libtorrent source code on github,
I have a synced mirror (gets synced a few times a day) here

in case its ever considered to move to git + github, hopefully you're just
one "Fork" button away. The Bitcoin community has taken interest in the
libtorrent libraries, in my case I'd like to explore the possibilities of
your DHT implementation on OpenBazaar.

If you ever decide to move to github, you will find it an amazing
environment for collaboration, issue tracking, learning, teching and
community building.

As of now, I'm not sure how patches are to be submitted, this process
becomes extremely convenient with github, both for submitting them and for
peer reviewing them and managing code merges.

Slashdot TV.  Video for Nerds.  Stuff that Matters.
queue | 17 Sep 02:00 2014

DHT Store: how is `cas` supposed to work?

>From `docs/dht_store.rst`:

> CAS is short for compare and swap, it has similar semantics as CAS 
> CPU instructions. It is used to avoid race conditions when multiple 
> nodes are writing to the same slot in the DHT.
> The cas field is optional. If present it specifies the sequence 
> number of the data blob being overwritten by the put. When present, 
> the storing node MUST compare this number to the current sequence 
> number it has stored under this key. Only if the cas matches the 
> stored sequence number is the put performed. If it mismatches, the 
> store fails and an error is returned. See errors below.
> The cas field only applies to mutable puts. If there is no current 
> value, the cas field SHOULD be ignored.
> When sending a put request to a node that did not return any data for
> the get, the cas field SHOULD NOT be included.

I don't see how this is supposed to provide atomic register-like
semantics in a distributed context. If two writers are trying to insert
a different value with `cas` set, they could both succeed on disjoint
subsets of the k-closest replicas. Furthermore, any other node could
later repeat either one of the PUT messages _without_ the `cas`
parameter set, and overwrite the rest of the replicas.


Want excitement?
(Continue reading)

foo bar | 15 Sep 13:04 2014

https seed doesn't work with googledrive


Https seed works well with but not with
it only downloads 0.19 %.
i changed the user agent to "Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
rv:31.0) Gecko/20100101 Firefox/31.0" in
packages/deluge/core/ but still the
same problem.

i used:
deluge: 1.3.6 (libtorrent: on ubuntu 14.04

please help!
thank you!

Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.