Broadcast messages

BM-NBQwVHs1EFQ8PsqsrUmUKwWuVkgo9Z68
May 15 11:41 [raw]

I've been experimenting with broadcasts. My first experiment was to subscribe to my personal BM address and send a broadcast to my subscribers. Why doesn't this work? I sent 2 messages and I'm subbed to myself but didn't receive anything.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 15 13:15 [raw]

I think your test method is inaccurate as PyBitmessage takes some internal shortcuts when it detects messages to a self address. To test more accurately, try using two completely separate client instances (with different homedirs, see BITMESSAGE_HOME env var for details).

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 08:52 [raw]

It should be possible to receive your own broadcast by sending before subscribing (or unsubscribing then resubscribing if you sent while already subscribed) however due to the long standing "binary data stored as text" issue and incomplete fix, the tag of anything you send is stored as text while the tag of anything you receive from a peer is stored as blob and the "Display ? recent broadcasts" feature doesn't detect broadcasts where the tag stored is as text.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 09:04 [raw]

Humour me.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 09:25 [raw]

diff --git a/src/storage/sqlite.py b/src/storage/sqlite.py index 438cbdc..a1ba13e 100644 --- a/src/storage/sqlite.py +++ b/src/storage/sqlite.py @@ -55,7 +55,7 @@ class SqliteInventory(InventoryStorage): def by_type_and_tag(self, objectType, tag): with self.lock: values = [value for value in self._inventory.values() if value.type == objectType and value.tag == tag] - values += (InventoryItem(*value) for value in sqlQuery('SELECT objecttype, streamnumber, payload, expirestime, tag FROM inventory WHERE objecttype=? AND tag=?', objectType, sqlite3.Binary(tag))) + values += (InventoryItem(*value) for value in sqlQuery('SELECT objecttype, streamnumber, payload, expirestime, CAST(tag AS BLOB) AS btag FROM inventory WHERE objecttype=? AND btag=?', objectType, sqlite3.Binary(tag))) return values def unexpired_hashes_by_stream(self, stream): @@ -68,8 +68,8 @@ class SqliteInventory(InventoryStorage): def flush(self): with self.lock: # If you use both the inventoryLock and the sqlLock, always use the inventoryLock OUTSIDE of the sqlLock. with SqlBulkExecute() as sql: - for objectHash, value in self._inventory.items(): - sql.execute('INSERT INTO inventory VALUES (?, ?, ?, ?, ?, ?)', sqlite3.Binary(objectHash), *value) + for objectHash, (objecttype, streamnumber, payload, expirestime, tag) in self._inventory.items(): + sql.execute('INSERT INTO inventory VALUES (?, ?, ?, ?, ?, ?)', sqlite3.Binary(objectHash), objecttype, streamnumber, payload, expirestime, sqlite3.Binary(tag)) self._inventory.clear() def clean(self):

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 10:03 [raw]

Wow actually :) Is this on github yet?

BM-NBQwVHs1EFQ8PsqsrUmUKwWuVkgo9Z68
May 16 11:40 [raw]

This doesn't work either. In fact when I send a broadcast from my BM address the broadcast count for the network does not increase.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 12:27 [raw]

u must 2 compurters for it to work. or modify src

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 12:55 [raw]

No need. One computer, one copy of the software, two homedirs. BITMESSAGE_HOME=/tmp/bmtest01 bitmessagemain.py & # this is client 1 BITMESSAGE_HOME=/tmp/bmtest02 bitmessagemain.py & # this is client 2

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 13:21 [raw]

okay so u can easily try out the spamfilter too made in a fork by TORIFIER

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 18:18 [raw]

link?

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 16 18:39 [raw]

fork by user "torifier"

BM-NBQwVHs1EFQ8PsqsrUmUKwWuVkgo9Z68
May 16 21:54 [raw]

Nice. I'll give that I try.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 06:47 [raw]

>>This doesn't work either You didn't delete the subscription then subscribe again ensuring the "Display the ? recent broadcasts from this address" checkbox is checked. All the patch does is make that checkbox work when you subscribe to yourself.

BM-NBQwVHs1EFQ8PsqsrUmUKwWuVkgo9Z68
May 17 10:52 [raw]

OK it turns out I was sending out broadcasts since I just found them on beamstat. It's surprising that beamstat decoded them without originally knowing my address to subscribe to it.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 11:04 [raw]

they say they record every bcast I mean broadcast does not really imply privacy , no ?

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 11:18 [raw]

From https://beamstat.com/broadcast "To add your own broadcast, simply announce it on any channel listed on BeamStat. It doesn't matter what you write in the announcement, but it is important that you send the announcement from the broadcast address."

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 11:42 [raw]

so every b-cast shows up on beamstat , I take it

BM-NBQwVHs1EFQ8PsqsrUmUKwWuVkgo9Z68
May 17 12:16 [raw]

Yeah except I didn't officially "announce" anything.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 13:49 [raw]

so we need a chan like "NOT FOR BLOODY BEAMSTAT dont post to find-new-chan"

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 19:10 [raw]

no. for some unknown reason some broadcasts do not appear on beamstat.

BM-2cT9uwut8dNuYU8co16nFBTq9n7QR4Mwgn
May 17 19:45 [raw]

we need a simple Tutorial explaing what shit shows on bmstat and what shit does not man OK ?

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 22:53 [raw]

Hah. I was right. I created a new address and sent a broadcast from it, nothing on beamstat.

BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY
May 17 23:24 [raw]

Probably beamstat is automatically treating every BM address as a broadcast. So if you create a new BM address and only use it for broadcasts they'd never know.

[chan] bitmessage
BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY

Subject Last Count
Bitmessage noisebot sends randomly-timed noise messages via the PyBitmessage API. Dec 10 23:14 12
Bitmessage Noisebot Updated Dec 10 14:48 7
Abandoning Bitmessage Chans Dec 10 12:05 19
Is Bitmessage censored? Dec 10 11:44 21
test help Dec 10 10:20 3
chanerator v0.0.1 Dec 9 10:41 1
OMEMO jabber/XMPP chat using Gajim IM Dec 9 09:05 4
OMEMO only 1000 people use XMPP Dec 9 03:09 1
GB2RS News - Sunday 9th December 2018 Dec 9 00:02 1
censorship Dec 8 17:30 2
Be warned! GOD is watching YOU (even on BM) Dec 6 11:16 2
UK Column News - 4th December 2018 Dec 5 22:41 1
UK Column News - 3rd December 2018 Dec 5 22:31 2
Tips for securing Bitmessage Dec 3 08:24 1
Hello Dec 3 08:07 1
What does Bitmessage really have to offer? Dec 3 06:09 15
UK Column News - 05 Decmber 2018 Dec 2 03:16 1
UK Column News - 04 December 2018 Dec 2 03:12 1
UK Column News - 02 December 2018 Dec 2 03:07 1
Bitmessage Network Health Report Dec 2 01:03 12
jo Dec 1 00:18 4
bug? send != receive Nov 30 12:52 1
Quick and Easy Chicken Madras Nov 23 16:42 1
BM Nov 23 16:21 7
It's 'Anything can happen' Friday! Nov 23 16:10 1
need an editor ? Nov 21 13:33 10
gibs ne Chance, Namecoin mit pyBM ans Laufen zu kriegen ? Nov 21 13:00 1
Vuvuzela - anonymous messaging that scales to millions of users Nov 19 11:56 19
How do I benchmark bitmessage PoW Nov 15 22:13 3
Support request -- GPUs (Intel(R) HD Graphics IvyBridge M GT1) did not calculate correctly Nov 15 17:04 2
Spam... Nov 15 17:02 4
Ebola on the rampage in USA again Nov 13 06:47 1
ending the waffle Nov 13 04:56 1