Feature: Enabling Tor for Spectrum connection and socket improvements (#2274)

* using tor for the spectrum connection

* bumped spectrum to 0.6.0 for tor support

* bump spectrum for smaller fixes

* change copy in Tor settings

---------

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
This commit is contained in:
k9ert 2023-03-02 20:30:18 +01:00 committed by GitHub
parent 2f21a03c26
commit 7b259e5839
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 7 deletions

View file

@ -33,5 +33,5 @@ psycopg2-binary==2.9.5
cryptoadvance-liquidissuer==0.2.4
specterext-exfund==0.1.7
specterext-faucet==0.1.2
cryptoadvance.spectrum==0.5.0
cryptoadvance.spectrum==0.6.1
specterext-stacktrack==0.3.0

View file

@ -119,9 +119,9 @@ cryptoadvance-liquidissuer==0.2.4 \
--hash=sha256:5a2c531801854c5a4a46daf184877e22f731cdb42d2cfb840785bda7371ba6fb \
--hash=sha256:9e468f3e35ecc566b3f74a2263677cf26632548abb194521dba15ad37acd1e9b
# via -r requirements.in
cryptoadvance.spectrum==0.5.0 \
--hash=sha256:1d17d7e6a54478cac7d935b61f50bb5ea383a96b2fd88f2e9fcdac3233a84bd1 \
--hash=sha256:6f6ae02a23ea4f69f7a567ee7b4d3683c9d1ad2d8f93e6c4c85f2de34d66332d
cryptoadvance.spectrum==0.6.1 \
--hash=sha256:593f4f0715d6a0d04725eca08853773cb7ae55ed90f18a920343ee4eaf746730 \
--hash=sha256:c1b9150bb932098214bad48104f3bc3a33e8541b2d8bc809f5355f00250c8279
# via -r requirements.in
cryptography==3.4.7 \
--hash=sha256:0f1212a66329c80d68aeeb39b8a16d54ef57071bf22ff4e521657b27372e327d \
@ -634,7 +634,9 @@ pysocks==1.7.1 \
--hash=sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299 \
--hash=sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5 \
--hash=sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0
# via -r requirements.in
# via
# -r requirements.in
# cryptoadvance.spectrum
python-dateutil==2.8.2 \
--hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \
--hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9

View file

@ -15,8 +15,7 @@
<svg class="flex-shrink-0 inline w-6 h-6 mr-3" version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><!--Generated by IJSVG (https://github.com/iconjar/IJSVG)--><path d="M32.0022,55.9844l-1.04907e-06,-2.84217e-14c-13.2548,-5.79387e-07 -24,-10.7452 -24,-24c5.79387e-07,-13.2548 10.7452,-24 24,-24c13.2548,5.79387e-07 24,10.7452 24,24l2.13163e-14,-1.04907e-06c0,13.2548 -10.7452,24 -24,24Zm1.5,-32l3.82016e-08,-2.71086e-09c-1.79133,0.127116 -3.35165,-1.21031 -3.5,-3l6.50646e-08,-7.8524e-07c0.148296,-1.78972 1.70866,-3.12717 3.5,-3l-5.85322e-09,4.15529e-10c1.79134,-0.127171 3.3517,1.21028 3.5,3l-5.57104e-08,6.72365e-07c-0.148295,1.78976 -1.70872,3.12723 -3.5001,3Zm1.4206,6.7635l-2.7853,10.5093l-8.37179e-08,3.15667e-07c-0.270677,1.02062 0.262417,2.08281 1.2425,2.4757l-5.91015e-08,-2.36708e-08c0.379505,0.151996 0.628277,0.519688 0.6282,0.9285v0.323l8.52651e-14,4.05e-07c0,0.551933 -0.447167,0.999503 -0.9991,1h-2.9891l-4.04477e-08,1.96948e-10c-1.65938,0.00807986 -3.01111,-1.33056 -3.01919,-2.98993c-0.00127082,-0.260991 0.0314695,-0.521035 0.0973943,-0.773566l2.7852,-10.5094l2.79671e-08,-1.05468e-07c0.270652,-1.02067 -0.262537,-2.08289 -1.2427,-2.4757l-2.20542e-08,-8.83296e-09c-0.379505,-0.151996 -0.628276,-0.519688 -0.6282,-0.9285v-0.3229l-1.77636e-14,-9.40042e-08c-8.33514e-08,-0.552011 0.447289,-0.999614 0.9993,-1h2.9887l1.06497e-07,-5.28143e-10c1.65943,-0.00822943 3.01133,1.33033 3.01956,2.98976c0.00129458,0.261047 -0.0314356,0.52115 -0.0973639,0.773738Z" fill="currentColor" fill-rule="evenodd"></path></svg>
<span class="sr-only">Info</span>
<div>
{{ _("This only anonymizes connections to block explorers and price providers.") }} <br>
{{ _("Connecting to the Electrum server via Tor is not yet supported, even with Tor options activated.") }}
{{ _("This anonymizes connections to block explorers, price providers and Electrum servers if Tor is activated here.") }}
</div>
</div>

View file

@ -61,6 +61,9 @@ class SpectrumNode(AbstractNode):
self._ssl,
datadir=datadir,
app=app,
proxy_url=app.specter.proxy_url
if app.specter.tor_type != "none"
else None,
)
logger.debug(f"{self.name} is instantiating its BridgeRPC.")
self.bridge = BridgeRPC(self.spectrum, app=app)
@ -168,6 +171,12 @@ class SpectrumNode(AbstractNode):
return self.spectrum.ssl
return self._ssl
@property
def uses_tor(self):
if self.spectrum:
return self.spectrum.uses_tor
return False
@property
def rpc(self):
if self._rpc is None:

View file

@ -14,6 +14,7 @@
<tr> <td>{{ _("Blocks count") }}</td> <td class="text-right">{{specter.info['blocks']}}</td> </tr>
<tr> <td>{{ _("Host") }}</td> <td class="text-right" id="node-info-specter-chain">{{specter.node.host}}</td> </tr>
<tr> <td>{{ _("Port") }}</td> <td class="text-right" id="node-info-specter-chain">{{specter.node.port}}</td> </tr>
<tr> <td>{{ _("Tor") }}:</td> <td class="text-right" id="node-info-specter-chain">{{specter.node.uses_tor}}</td> </tr>
<tr> <td>{{ _("SSL") }}</td> <td class="text-right" id="node-info-specter-chain">{{specter.node.ssl}}</td> </tr>
<tr> <td>{{ _("Node uptime") }}</td> <td class="text-right">~ {{(specter.info['uptime'] / 60 // 60) | int }} {{ _("Hours") }}</td> </tr>
</table>