-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Electron] Add SOCKS proxy support #1430
Comments
Related: #926 |
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. |
|
I can setup a dynamic tunnel using Putty and use it with Signal Desktop on Windows.
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. |
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. |
The analogous thing works on macOS, thus I would assume it works on Linux too. On macOS:
Adjust the path to your Signal executable as necessary, and obvious point to whatever socks port you have opened. Signal Desktop 1.27.2 |
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".
|
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:
|
Thanks bro, it works! |
This used to work, but doesn't work for me with Signal 6.27.1 on my fully patched Windows 10 anymore.
I downgraded to Signal 6.26.0 and still no love. Is it still working for others? |
Not working for me either. |
@timrhaynes @dengelsma you can try to use |
This should be fixed in the next beta release and the production release week after. Thanks for your reports! |
@norstbox doesn't work with 127.0.0.1 instead of localhost |
@timrhaynes our release schedule got delayed and it was released only 6.31.0-beta.1 so far. Could you give it a try, please? |
Tested with 6.30.2, still not working. |
Hooray! Thank you! |
@ernstblaauw Can you explain how you configured Putty to provide the HTTP/HTTPS proxy on port 8912 which would then send that traffic out via your tor-provided SOCKS proxy? I have tor running a SOCKS5 port but can't figure out what precisely to do in Putty that offers this HTTP/HTTPS protocol translation which your comment suggests should be seemingly simple. 🤔 |
The simple script was working fine for me but today it stopped working? Did something change in my config or do you also have the same problem? Signal desktop can't connect anymore. |
@obygyv What version are you running? A debug log |
Signal_debuglog.txt |
@obygyv You've got the error we just fixed in 7.2.1:
You can go to signal.org/download and install the latest version on top of what you have right now, with no impact to your data. That should fix your connectivity! |
Indeed, I had to reinstall manually because the auto-update was unable to proceed without proxy support. Now on 7.3.0 and it works again. |
i dont know this will work const { app, BrowserWindow } = require('electron');
const { socksGlobalAgent } = require('global-agent');
// Configure SOCKS proxy
socksGlobalAgent.initialize();
// Set your SOCKS proxy server
socksGlobalAgent.proxy = `socks://YOUR_SOCKS_PROXY_ADDRESS:YOUR_SOCKS_PROXY_PORT`;
// Create the browser window
app.whenReady().then(() => {
const mainWindow = new BrowserWindow();
// Load your desired URL
mainWindow.loadURL('https://example.com');
// Additional event listeners and configurations can be added as needed
// Example: Close the app when the window is closed
mainWindow.on('closed', () => {
app.quit();
});
}); |
Bug description
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.
Steps to reproduce
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)
Platform info
Operating System: macOS Siera
Browser: Electron
Signal version: 1.0.23 (1)
The text was updated successfully, but these errors were encountered: