Make it so that a node can have multiple alternative
commstrats, example:
{ 'connection strategies': [
{ 'comm strategy type':'TCP', 'IP
address':'192.168.0.2', 'port number':'27087'}, # for
peers internal to my network
{ 'comm strategy type':'Alpine', 'IP
address':'69.158.22.60', 'port number':'27087'}, # for
NAT-penetrating UDP
{ 'comm strategy type':'Relay', 'relayer':
<9bzpp>}, # four alternative relay servers listed in
descending order of preference
{ 'comm strategy type':'Relay', 'relayer': <nw31m>},
{ 'comm strategy type':'Relay', 'relayer': <h8ric>},
{ 'comm strategy type':'Relay', 'relayer': <h9ric>},
{ 'comm strategy type':'HTTP-Stego', 'IP
address':'69.158.22.60', 'port number':'80'}, # for
EGTP encapsulated in HTML and sent via HTTP
]}
It actually shouldn't need to touch very many parts of
the code to implement this...
Logged In: YES
user_id=52562
That example was a little confusing, because why would it do
HTTP-Stego when it is behind NAT? A less confusing example
would be two different nodes, one of which does internal,
Alpine, or a bunch of relays, and another (not behind NAT)
which does TCP, Alpine, a couple of relays, and HTTP-Stego.
Logged In: YES
user_id=52562
{ 'comm strategy type':'IPv6', 'IPv6
address':'192.168.0.2.212.9.1.2.211.9.1.2.210.9.1.2', 'port
number':'27088'}
Logged In: YES
user_id=52562
{ 'comm strategy type':'MixMinion', 'SURB':
"jchdfxehh4czb48c7wb68imrfgsi6r5syi4ys97wdm9mmfjmrjcgws7uukz1d3sb677zxygekz5bw6dj8kujio6y1gawiwznzbfx5q7khhhfy97f6wm9wcwo34jpc1hmbuy6omjdeb8355cypqmxemh6k4xicucb1pmqabh5a9jwxif71aphi51k4hehbwwtf1aw1zif6gx6t8nxdyei4rdy9ghj9apfw66wxc7hnwsaxonsaeq18ocwa8jju87p7j3yh6ydcjefg9eh5jajcjbkuat1h61quji6ujqctbfsi7wzem4b43yxo8ysqkoimrfsj8jey1chdta9nkxk3r1fkk9c1nwqjt5u5zheh5sstusce3zzcsu6yqhy9dq9n6gr7rmkpwyfzd7regho97gu8m4b9k61j6qixptg41hfpsmiuoxrcwyrm9cb5cmp7uhmradrsp4tun945dx94wfy4qtq6i1u6rt43jsf41saxkgsadthakcagdepzwdh55rkmn6fd44eperptc6huwkb1n5hp3wg8zkxw5rdjk4nrsis546esipz8ckatztqzf3s4i8forusewagdcw7n546md47zupuhmnxdofzx37df5qss3cppwqu8n7scqwqhngump4yus6kiof7xpmyw6gqqxtqdt7cmj7xtokdha9q7i7k65yn5n7mcbk7979r6bt86k5qeig4byb8o1coq9k986857pzt746jr4j56f9q3nhamadfq5jeyf4hi6z6zzp4qme5edftcyp7jukw5ta779tnwu9iikugr5r7swrb63whzzjma9sj6m4eg9166xatop3cq4m7hpuo3gy8sg6cgub6k7bmhkptyr5idypjz5z4nxnb4jhdt4cu1h91ti3cq5o75xrb1da3q6jb1xs7jwswqcagqeemzyfsjyktz3fasy9ihaosbmcpqd1a6s1rcayk1srn4az5hydyngcufqi8gbjeh576jtq3oq7cetcyrc8rc9yfn6x87siswh5o79epxrbwbuptx6n6g1xd6w8wpaefpw3jhhyh83csu5x666f5hghspx4b9rmsehtkujm9nbkjwe8nf5mjxw9k4qdi68wg6g3emebjcffemyck683skeoznjq6786xzh768mqqcz93maki984eo677fpuhi58bo1c5f58qrzaq633jzpn1yowxozr4h7xndn88tg7sjpiuae9n663aezzjmmof4aj5pg3pzb4h9y1abjqopa74m67ikq4zfhg1njq6rseu3szqkkzq4bdge1tsfjzwu44y9nc5e953jjucsqucus6rapcxntz44smuitsj89k4ckew5sk4kqdraea7mgujgi1s1y9qnh5frnj49d9gbf46ihffnnhcfedh68c9hj9c53t1wr7nbpxaqwi5ncojwn3ybop6z6pb4wwyspfckfio9f6bij667ne4b9rik6cgbkpmnf5rcthzm8cyn3ewi3hncoosj3phxejgabr7cfotrxnnpmqswhq9hk6cwcbnusc35osgnkpyfbwbogd88bua16msw5r6rqorwp533nkt8t36imnjrnx64tfixnr7zh59zizg5hxku155jt55z6x7gmd9h8fkdors8eutjzqazkucghtqrd9kuakg8ox19w3r6yskia6qpxdsoo6ydjerk94yjt77brnruc4nrndrbb7egekt1radhtp9acehuwe4nmab8ek5n8qcfe4s59rz4x5z9nk5g7cntoqa4ihs7bzhpfbhwfxtxxxaqs5pw1a9bg6qe6jjfrzm1kbduobw8y4iseuiihxdomujz8okeuitqu7qctz797ktzxyjymrox3cqbptpzrngqdwnq4gq9i5eykdky777i3g9bw6srh8opi7di6eucr4ey85cub6pn3nqsmxz349qzkrqy8scx85t4ekbrhwsai88goounzaothqqgz7mke9hhog4sbfrpgmcrg6rgtkqtnq1jd9e89idcts849enpr6aujgifjs3zkpo8m78sffiyeqn3jg5kpj4eqh786ccw67mbiw41bgzjxwg8idnehh15a1o18dmttqwzuiz7f9azzzt9dsf3bqszjfw5h56a17ehhcfe1373hwhqji5wxeyezkkp47z8amt5scckpbmkkhux8zh7subyww6g4a8f86dwhykme136oys4tch6trmx9pjnxz5d1kzkd17f1yharpti8wkzbwm7mzqiwjwh4t6d57jk1kx3fbj9cp7wfdwrp91ubxrt5rwtwjqh9hyo5wq9o7j48t71e1n64cssum8fget5myx6imm8ypifuha6gz1r5zys6e89ie17szc3po5d7o3hkuskfrppo169qc9np5u3gru5t3za3r1zat7pyacidew6qygdwe6io3xmr4igftg856ye5hh8grx8nrwkitxcbc1a7yg66kjwdk3gmycc784gnofgzga3h1yn7orb4ptdxac7y5spipcnnw8pgjxpyuwryknefhaioa3ztwnhhuk3xmuuyc8w5w8efue7jtsu51ga98b6wf6ugzqyynfyfj9q4ex55sedbiukkj9g3fzxyjdfa48sugs3rqi5ddfroj155omwdhaugkgzz6hcn5e3ke3gfjd5d7k6xrg7dknc1ib93imfzrmcmz7uu8gn94aux8htaw8yt67scr1pppaat8q43wxhd171gqomooj8f8zs1z9hczyuscp1qfmmawj3e5dexqyycjkxj51xmjxx5mw7nswsfofw74714brpg7umkdbomj4h64947zss1cp5xzcp4hodbmpj1jwjhxbbcm9ttg35af985jjtim6r3kidyi9kshy9jo85b4bkqe7wssgoje8ywha1khu3hu55jpnffpw5b7cdoyckggyuxocrfoginhu3opbhjznkchxphqaafne1ud864ic9h81nbsae9c359f16e4romkei6p15486ioi9x8585rt7331npdhaeumoropz7dsgpu4zyzo3dhmpcmwr5mckmiaxxirfb3c34uixn5tsizy1enoirbns9o4g9f9bnkoaw7a7hfcj7hsj9yziocw6srkxo5gpmsxtzcd9abip9zcxgq337bjz57gguk9bwb4rw3iecuroc5u3tcdheojx8z4jjf8pb7c83eqppkgk71huutukb469xbtpccsr5jzpf6d16fziabkg5akiaj97f4xsiddgykt8itpwwuh5yo3x6"}
Logged In: YES
user_id=335935
or
{ 'comm strategy type':'Tor',
'addr': '6sxoyfb3h2nvok2d.onion',
'port': '4242',}