JoinMarket-Org / joinmarket

CoinJoin implementation with incentive structure to convince people to take part
400 stars 119 forks source link

Additional IRC server suggestions. #619

Open qubenix opened 7 years ago

qubenix commented 7 years ago

Extending the discussion from here: https://www.reddit.com/r/joinmarket/comments/537uur/additional_irc_servers/.

OFTC:

CRYTO:

AdamISZ commented 7 years ago

I tried OFTC about 2-3 weeks ago, they (ironically) had shut down their Tor service a few weeks before that. I don't know if it's reinstated or not.

Other suggestions that have been mentioned:

agora (cfyfz6afpgfeirst.onion/6667, agora.anarplex.net/14716) - operator is OK with us using, it auto-joins to #agora which is an annoyance that'd have to be fixed, other than that it works.

I tried volatile.ch but they strictly conform to the IRC RFC nick length restriction which screws up our new multi-message-channel code, I'm not sure how feasible a rewrite is, so putting that aside for now.

QuakeNet. Seems to support Tor but was told "they discourage it"or something by someone. Haven't tested or looked into it further.

Oh, and freenode just reinstated their hidden service, see here, but "It's cur­rent­ly not pos­si­ble to reg­is­ter an ac­count for use with Tor with­out con­nect­ing at least once over the In­ter­net. We're in­ves­ti­gat­ing our op­tions, and would like to pro­vide a so­lu­tion to this in the fu­ture."

CohibAA commented 7 years ago

Slightly off topic, and maybe I missed something simple, but is there any way to determine from within JM the status of the IRC connections to the various hosts? I've been out of the loop for awhile so I'm still not totally familiar with all the code changes, but I am trying to catch up and help out with the new version.

More to the topic at hand, I would like to test more host options and gather some type of data to determine connect-ability, reliability, etc for the different servers over a period of time. I have been testing various servers, reviewing debug logs, and even made some adjustments to the debug logging to provide better information about which host's activity is being logged, but I am still having a hard time sorting out the info to see which servers are the best candidates for having multiple default connections. Any ideas are appreciated.

Lastly, I'll submit a PR for the debug logging changes at some point soon, because I think it's useful, and the logs are not good for multiple IRC connections currently, unless someone has addressed this elsewhere.

AdamISZ commented 7 years ago

Slightly off topic, and maybe I missed something simple, but is there any way to determine from within JM the status of the IRC connections to the various hosts?

It isn't done, but it could be; there's an on_close callback or similar (I forget exactly which one). I doubt it'd be worth it; if you just connect to say 3 servers, and one is flaky, then, well, it's flaky, that's fine if the others are stable.

More to the topic at hand, I would like to test more host options and gather some type of data to determine connect-ability, reliability, etc for the different servers over a period of time. I have been testing various servers, reviewing debug logs, and even made some adjustments to the debug logging to provide better information about which host's activity is being logged, but I am still having a hard time sorting out the info to see which servers are the best candidates for having multiple default connections. Any ideas are appreciated.

OK, then perhaps that's a fruitful area of research.

One idiosyncracy right now: although servers are allowed to disconnect, the script will not start if it cannot successfully connect to all configured servers on startup. I don't think I remember, but I think that was half deliberate and half not; if you can't connect on startup you should perhaps deliberately disable it, but maybe I only did it that way because it was too much hassle to do it another way (on_welcome has to trigger at one specific point to trigger !orderbook so it made sense to wait for all channels to mark themselves as active).

Lastly, I'll submit a PR for the debug logging changes at some point soon, because I think it's useful, and the logs are not good for multiple IRC connections currently, unless someone has addressed this elsewhere.

That would be helpful, thanks, although I'm not sure which of various possible idiosyncracies you're referring to :) . Also it would be good to use logging levels, we just use DEBUG now and nobody got around to using more levels.

CohibAA commented 7 years ago

I haven't been able to successfully connect to OFTC, Cryto, nor Quakenet via tor. Volatile is stable and open for tor, but nick length restriction likely puts them out of consideration. Both malwaretech.com, and internetz.me are stable and open to tor last I checked, but I haven't look into bot policies or other incompatibilities yet.

Agora seems like a good secondary default. It only takes two additional lines of code to part the #agora autojoin, and it's been stable and open to tor in my experience. I don't see any problems or downside to adding it to the defaults.

joinmarket.cfg for tor:

host = cfyfz6afpgfeirst.onion, 6dvj6v5imhny3anf.onion channel = joinmarket-pit, joinmarket-pit usessl = false, true socks5 = true, true socks5_host = localhost, localhost socks5_port = 9150, 9150 port = 6667, 6698

joinmarket.cfg for clearnet:

host = agora.anarplex.net, irc.cyberguerrilla.org channel = joinmarket-pit, joinmarket-pit usessl = true, true socks5 = false, false socks5_host = localhost, localhost socks5_port = 9150, 9150 port = 14716, 6698

AdamISZ commented 7 years ago

@CohibAA Thanks for the investigations :)

If someone could do the PR to /part #agora that'd be great (obviously it's a big "ugly" but, who cares really).