RetroShare tickets


Opened to keep track of tickets:


Chapter Retroshare, sub chapter Tor, quote:

INCOMPLETE - Depends on unimplemented features for Whonix

Which are these unimplemented features for Whonix? Would be good to name as a footnote so these can one day be implemented. Or someone badly wanting this could then jump in an contribute exactly that.


Its this feature that’s necessary:

Issue: Allow alternative proxy addresses

I’ll make a footnote.


In meanwhile we could redirect the local address to Whonix-Gateway using rinetd / socat like we are already doing for Tor Browser (anon-ws-disable-stacked-tor), no?


Yeah that should work. Can you give example commands for socat so I can document them?


Replace port number(s) 9050.

socat TCP-LISTEN:9050,fork TCP:

Or edit /etc/rinetd.conf. (Will lead to interactive dpkg configuration conflict resolution message when that file gets changed.) And restart rinetd.

Related to:


Did that work?

As for https://www.whonix.org/wiki/Chat#RetroShare chapter https://www.whonix.org/wiki/Chat#Tor

INCOMPLETE - Depends on unimplemented features for Whonix[15]

I guess the server listens on so the hidden service from the gateway cannot reach it?

bindp can help here.

In T561 uwt was updated to do in essence:

LD_PRELOAD+=' /usr/lib/uwt/libindp.so'
export BIND_ADDR
onionshare ...

It forcefully changes the bind address from the local IP to the eth0 IP. Compilation for bindp should be simple. Basically just just make. Or with all the compilation flags (copied from Debian).

gcc -nostartfiles -fpic -shared bindp.c -o libindp.so -ldl -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -fPIE -pie -Wl,-z,relro -Wl,-z,now

(Otherwise I could also provide updated uwt from the testers repository.)

Once you have libindp.so, you can use it from the command line.

BIND_ADDR= LD_PRELOAD='/path/to/libindp.so' retroshare

Can you try please? Because if that works, we can automate changing the listener address in the uwt package (basically just another wrapper and config variable).