Pages:
Author

Topic: [Electrum] Tor service at 4lhnnupincd3gyda.onion:50001 - page 3. (Read 26912 times)

legendary
Activity: 1386
Merit: 1097
"electrum -p socks5:localhost:9050" doesn't work for me.
gives : electrum: error: no such option: -p  Undecided

Are you using latest electrum?
full member
Activity: 188
Merit: 100
"electrum -p socks5:localhost:9050" doesn't work for me.
gives : electrum: error: no such option: -p  Undecided
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Tested using onion name just now and it worked fine.

Strange thing is the client doesn't have any way to show what server is currently connected. So I'll fix that soon. It seems when you open the network dialog it chooses a new random server but doesn't say which one is active. You can get an indication in the Lite mode menu list but that doesn't show any server entered manually, only the predefined listed ones.

IMO the server status should be in the tooltip for the Network config, and indicated in the dialog once opened.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Having looked now at the electrum-server code (server.py) I see that the problem is the config "host" variable is used both for publishing the host address and also for binding the server listen processes.

Yes, that's my problem. I'm running the same node over standard network and over Tor network, but Electrum server don't give me a chance to propagate alternative URLs. Maybe that won't be so hard to add, simply add new config directive and publish these URLs in IRC details?

I was thinking more about this later and thought perhaps a good solution would be to make the hosts config item a list. Then the first one could be used for binding and any additional URLs could be passed thru as aliases to IRC.
eg.
"hosts": [ "california.stratum.bitcoincz:50001", "4lhnnupincd3gyda.onion:50001" ]

This would be fairly minor code changes as far as I can see. It could auto-detect string or list to be compatible with any existing install. In order for me to test changes I think I would have to install and run Bitcoin-Abe again as I wiped it some months ago. I can do that but it will take quite some time to fill the database.

Quote
I prefer to publish more URLs for one IRC nick, just to make clear that all URLs are pointing to the same node. This solution will be also cleaner for backward compatibility. I'm not sure how will old (=existing) Electrum clients handle URLs poining to ".onion" domain. But they'll surely ignore additional information in IRC details...
From my brief reading of the code it seems the client just adds whatever URL is given to the list. But if a list of URLs was used the code would have to be updated to detect it and iterate.

Quote
(Is the onion name operable right now? I tried using it a few times and it never seems to work, for me anyway. But connecting to regular servers via Tor works fine.)

It works for me now. You can try "torify telnet 4lhnnupincd3gyda.onion 50001"...
Will try this again.

Edit: I forked electrum-server and was going to work on changes but see now that it'll take a lot more effort to get it up and running and I'll have to do it on one of my other servers, not my laptop. I'll have to rebuild bitcoind with a patch and have a mysql db available. So this will be delayed. I'm willing to make code changes now that someone else (slush?) can test to see if we can get support for publishing the onion name.

Also, see now that the format for config isn't correct. Not the same as electrum client. So it would actually need to be more like,

hosts = california.stratum.bitcoincz:50001, 4lhnnupincd3gyda.onion:50001

but should still be workable.
legendary
Activity: 1386
Merit: 1097
Having looked now at the electrum-server code (server.py) I see that the problem is the config "host" variable is used both for publishing the host address and also for binding the server listen processes.

Yes, that's my problem. I'm running the same node over standard network and over Tor network, but Electrum server don't give me a chance to propagate alternative URLs. Maybe that won't be so hard to add, simply add new config directive and publish these URLs in IRC details?

Quote
In order to get onion names to be published a small change would be needed. Host can still be used for publishing and would have the onion name, but a new one, perhaps called "bind", would need to be set to the local host value to use.

Binding to multiple interfaces isn't necessary. If somebody want to run Electrum over multiple external IPs, it can be achieved by firewall/router configuration. No need of direct support in server for this...

Quote
It seems to me that if you want both a Tor and non-Tor service as well then the code needs to be able to publish two host values for the one server. That would be another good change IMO.

I prefer to publish more URLs for one IRC nick, just to make clear that all URLs are pointing to the same node. This solution will be also cleaner for backward compatibility. I'm not sure how will old (=existing) Electrum clients handle URLs poining to ".onion" domain. But they'll surely ignore additional information in IRC details...

Quote
(Is the onion name operable right now? I tried using it a few times and it never seems to work, for me anyway. But connecting to regular servers via Tor works fine.)

It works for me now. You can try "torify telnet 4lhnnupincd3gyda.onion 50001"...
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Having looked now at the electrum-server code (server.py) I see that the problem is the config "host" variable is used both for publishing the host address and also for binding the server listen processes.

In order to get onion names to be published a small change would be needed. Host can still be used for publishing and would have the onion name, but a new one, perhaps called "bind", would need to be set to the local host value to use.

It appears this would be easy to do but since I'm not all set up to test this it's really better someone else makes the change, tests and sends a pull request.

It also occurred to me as a workaround that you could probably put your onion name in your hosts file and map it to your public IP. That may allow the gethostname lookup to bind it correctly to your public IP. Then you would put the onion name for host and it would get published as desired.

It seems to me that if you want both a Tor and non-Tor service as well then the code needs to be able to publish two host values for the one server. That would be another good change IMO.

(Is the onion name operable right now? I tried using it a few times and it never seems to work, for me anyway. But connecting to regular servers via Tor works fine.)
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Did you see my suggestion in the Electrum thread of maybe having onion server urls show up when the user has selected SOCKS5 mode in the network dialog? I think that could work.

Or possibly when you choose the onion address it auto-selects SOCKS5 mode for you with correct port. Although in that case it should put a msg that you actually need Tor to use this server. It could list the onion url with "[Tor Required]" appended into the line to be clear.

I could make this change and submit it as a pull request if that's what you had in mind.

The available server list is propagated thru IRC. I haven't looked at that but I believe it would work as well for onion urls and then it's just a matter of making it user friendly. If your server isn't announcing itself thru IRC maybe there is some issue with onion addresses.
legendary
Activity: 1386
Merit: 1097
Exactly, Tor itself is enough.
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
Hi,

I just started Tor hidden service running Electrum server on 4lhnnupincd3gyda.onion:50001. Now you can use Electrum client without revealing your real identity and without a need of Tor exit nodes.

1. Install Tor
2. Run electrum 1.0 as: "electrum -p socks5:localhost:9050" (point Electrum client to your local Tor node)
3. View->Pro mode
4. Click to "Network" icon in right bottom corner and put "4lhnnupincd3gyda.onion:50001:t" into "Connect to" field.



Good work slush ... I'll be checking this out. Should be no need for polipo or privoxy, since electrum doesn't use http traffic right ... or?
legendary
Activity: 1386
Merit: 1097
Hi,

I just started Tor hidden service running Electrum server on 4lhnnupincd3gyda.onion:50001. Now you can use Electrum client without revealing your real identity and without a need of Tor exit nodes.

1. Install Tor
2. Run electrum 1.0 as: "electrum -p socks5:localhost:9050" (point Electrum client to your local Tor node)
3. View->Pro mode
4. Click to "Network" icon in right bottom corner and put "4lhnnupincd3gyda.onion:50001:t" into "Connect to" field.

Pages:
Jump to: