Skip to content

Commit

Permalink
Merge pull request #2263 from pimveldhuisen/tunnel-perm-id
Browse files Browse the repository at this point in the history
Use different tunnel community master member when multichain is enabled
  • Loading branch information
whirm committed Jun 7, 2016
2 parents 07d1acd + 4b95ff3 commit a517e29
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 6 deletions.
14 changes: 9 additions & 5 deletions Tribler/Core/APIImplementation/LaunchManyCore.py
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,8 @@ def load_communities():
self.session.dispersy_member, kargs=default_kwargs)

if self.session.get_tunnel_community_enabled():
tunnel_settings = TunnelSettings(tribler_session=self.session)
tunnel_kwargs = {'tribler_session': self.session, 'settings': tunnel_settings}

if self.session.get_enable_multichain():
# If the multichain is enabled, we use the permanent multichain keypair
Expand All @@ -248,15 +250,17 @@ def load_communities():

from Tribler.community.multichain.community import MultiChainCommunity
self.dispersy.define_auto_load(MultiChainCommunity, dispersy_member, load=True)

from Tribler.community.tunnel.hidden_community_multichain import HiddenTunnelCommunityMultichain
self.tunnel_community = self.dispersy.define_auto_load(
HiddenTunnelCommunityMultichain, dispersy_member, load=True, kargs=tunnel_kwargs)[0]
else:
keypair = self.dispersy.crypto.generate_key(u"curve25519")
dispersy_member = self.dispersy.get_member(private_key=self.dispersy.crypto.key_to_bin(keypair))

from Tribler.community.tunnel.hidden_community import HiddenTunnelCommunity
tunnel_settings = TunnelSettings(tribler_session=self.session)
tunnel_kwargs = {'tribler_session': self.session, 'settings': tunnel_settings}
self.tunnel_community = self.dispersy.define_auto_load(
HiddenTunnelCommunity, dispersy_member, load=True, kargs=tunnel_kwargs)[0]
from Tribler.community.tunnel.hidden_community import HiddenTunnelCommunity
self.tunnel_community = self.dispersy.define_auto_load(
HiddenTunnelCommunity, dispersy_member, load=True, kargs=tunnel_kwargs)[0]

self.session.set_anon_proxy_settings(2, ("127.0.0.1",
self.session.get_tunnel_community_socks5_listen_ports()))
Expand Down
28 changes: 28 additions & 0 deletions Tribler/community/tunnel/hidden_community_multichain.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from Tribler.community.tunnel.hidden_community import HiddenTunnelCommunity


class HiddenTunnelCommunityMultichain(HiddenTunnelCommunity):

@classmethod
def get_master_members(cls, dispersy):
# generated: Thu May 26 17:04:23 2016
# curve: None
# len: 571 bits ~ 144 bytes signature
# pub: 170 3081a7301006072a8648ce3d020106052b81040027038192000404363b98b8145f66d0b74136fdb1d3699
# bdb62d394417f10b3be31d94ac3779261e26b9dde1416362a021dbdfbc5616e88b8bd0fb6e924e893a199
# 2f53498c4086b96fae02f9e78c00064b92ceea9c97cbb6207bffce9646978a6766d46cf0a1c3629c92822
# 2bd6e00adb43344ac4196bca72b03ddac18d69d184e99186da07ceab2953d30fef30bff2d4752abfcb7ca
# pub-sha1 5427ee66bcdbcc767b21600ec0db4c3cd96eba02
# -----BEGIN PUBLIC KEY-----
# MIGnMBAGByqGSM49AgEGBSuBBAAnA4GSAAQENjuYuBRfZtC3QTb9sdNpm9ti05RB
# fxCzvjHZSsN3kmHia53eFBY2KgIdvfvFYW6IuL0Ptukk6JOhmS9TSYxAhrlvrgL5
# 54wABkuSzuqcl8u2IHv/zpZGl4pnZtRs8KHDYpySgiK9bgCttDNErEGWvKcrA92s
# GNadGE6ZGG2gfOqylT0w/vML/y1HUqv8t8o=
# -----END PUBLIC KEY-----
master_key = "3081a7301006072a8648ce3d020106052b81040027038192000404363b98b8145f66d0b74136fdb1d3699" + \
"bdb62d394417f10b3be31d94ac3779261e26b9dde1416362a021dbdfbc5616e88b8bd0fb6e924e893a199" +\
"2f53498c4086b96fae02f9e78c00064b92ceea9c97cbb6207bffce9646978a6766d46cf0a1c3629c92822" + \
"2bd6e00adb43344ac4196bca72b03ddac18d69d184e99186da07ceab2953d30fef30bff2d4752abfcb7ca"
master_key_hex = master_key.decode("HEX")
master = dispersy.get_member(public_key=master_key_hex)
return [master]
5 changes: 4 additions & 1 deletion twisted/plugins/tunnel_helper_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,9 +228,12 @@ def start_community():
from Tribler.community.multichain.community import MultiChainCommunity
member = self.dispersy.get_member(private_key=self.session.multichain_keypair.key_to_bin())
self.dispersy.define_auto_load(MultiChainCommunity, member, load=True)
from Tribler.community.tunnel.hidden_community_multichain import HiddenTunnelCommunityMultichain
cls = HiddenTunnelCommunityMultichain
else:
member = self.dispersy.get_new_member(u"curve25519")
cls = HiddenTunnelCommunity
cls = HiddenTunnelCommunity

self.community = self.dispersy.define_auto_load(cls, member, (self.session, self.settings), load=True)[0]

self.session.set_anon_proxy_settings(
Expand Down

0 comments on commit a517e29

Please sign in to comment.