Certain networks are designed to block traffic which the administrators cannot effectively intercept. Namely those which employ Blue Coat appliances.
It appears that there is no way to start Signal Desktop (Electron version) in a way that will force its traffic through a SOCKS proxy. In the previous Chrome app I was able to use a combination of SSH port forwarding and my hosts file allow the app to work. That is not the case with standalone Electron version. Adding proxy support (specifically SOCKS) would go a long way in allowing users to work around restrictive networks and censorship.
Block traffic on ports 443, 80, 8443, and 4433.
Actual result: Describe here what happens after you run the steps above (i.e. the buggy behaviour)
Expected result: Describe here what should happen after you run the steps above (i.e. what would be the correct behaviour)
Operating System: macOS Siera
Browser: Electron
Signal version: 1.0.23 (1)
Version 1.0.34 (Electron, Windows 10) also does not work behind a corporate proxy and I haven't found any options to specify the server.
https://electronjs.org/docs/api/session#sessetproxyconfig-callback
electron can setproxy by this api.
I guess we can provided an proxy config options at the preference UI.
torify signal-desktop does not work. It produces no output at all.
I can setup a dynamic tunnel using Putty and use it with Signal Desktop on Windows.
In a command prompt window, I type:
> set HTTP_PROXY=socks://localhost:8912
> set HTTPS_PROXY=%HTTP_PROXY%
> start %LOCALAPPDATA%\Programs\signal-desktop\Signal.exe
This works on my pc with Signal Desktop 1.12.0
@ernstblaauw thanks for this tipp, for me it's working via SSH on Windows 7.
BUT Signal can't fetch my contacts, I only see a blank signal interface. Do you can confirm this or is it just me?
"msg":"using proxy url socks://localhost:8080"
For me, it works exactly like when I have a (working) direct connection to the internet. However, I'm running this on a laptop so maybe the app already fetched and cached the contacts when I was directly connected and now (behind a firewall), just uses the earlier loaded contacts. I just don't know if that's the case, I just can tell here it is working fine.
@k3vy If you provide your log, I can take a look at the specific error message regarding that failed contact sync.
I can setup a dynamic tunnel using Putty and use it with Signal Desktop on Windows.
In a command prompt window, I type:> set HTTP_PROXY=socks://localhost:8912 > set HTTPS_PROXY=%HTTP_PROXY% > start %LOCALAPPDATA%\Programs\signal-desktop\Signal.exeThis works on my pc with Signal Desktop 1.12.0
The analogous thing works on macOS, thus I would assume it works on Linux too. On macOS:
export HTTP_PROXY=socks://127.0.0.1:2343
export HTTPS_PROXY=$HTTP_PROXY
/Applications/Signal.app/Contents/MacOS/Signal
Adjust the path to your Signal executable as necessary, and obvious point to whatever socks port you have opened.
Signal Desktop 1.27.2
I can setup a dynamic tunnel using Putty and use it with Signal Desktop on Windows.
In a command prompt window, I type:> set HTTP_PROXY=socks://localhost:8912 > set HTTPS_PROXY=%HTTP_PROXY% > start %LOCALAPPDATA%\Programs\signal-desktop\Signal.exeThis works on my pc with Signal Desktop 1.12.0
Thanks @ernstblaauw, this is working perfectly on windows 10.
Just to ease up the copy past mechanism a bit more, this is the content of the "set_proxy_and_start_signal.bat.template".
You just have to replace section <your proxy with your proxy definition.
####
# Sets http and https proxy variables and starts signal.
####
# @see: https://github.com/signalapp/Signal-Desktop/issues/1430#issuecomment-397229333
# @since: 2020-02-14
# @author: stev leibelt <[email protected]>
####
set HTTP_PROXY=<your proxy>
set HTTPS_PROXY=%HTTP_PROXY%
start %LOCALAPPDATA%\Programs\signal-desktop\Signal.exe
Is it possible to instruct Signal Desktop to let the SOCKS proxy handle the DNS lookups? This is necessary for proxies that whitelist domain names.
If you don't want that ugly batch-window to stay open try this:
set HTTP_PROXY=<your proxy>
set HTTPS_PROXY=%HTTP_PROXY%
explorer %LOCALAPPDATA%\Programs\signal-desktop\Signal.exe
I can setup a dynamic tunnel using Putty and use it with Signal Desktop on Windows.
In a command prompt window, I type:> set HTTP_PROXY=socks://localhost:8912 > set HTTPS_PROXY=%HTTP_PROXY% > start %LOCALAPPDATA%\Programs\signal-desktop\Signal.exeThis works on my pc with Signal Desktop 1.12.0
Thanks bro, it works!
Most helpful comment
I can setup a dynamic tunnel using Putty and use it with Signal Desktop on Windows.
In a command prompt window, I type:
This works on my pc with Signal Desktop 1.12.0