Skip to content
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

Add a configuration option for connecting through an HTTP proxy #198

Closed
shane-kearns opened this issue Jul 5, 2017 · 2 comments
Closed

Comments

@shane-kearns
Copy link

Some users want to connect from a machine in one network to a zulip server on another network where direct connections are not possible and all traffic must go via an HTTP proxy.
e.g. client on a corporate network, server on the public internet.

Transparent / intercepting proxies require no configuration on the client, but lots of organizations still use traditional HTTP proxies. The CONNECT method allows establishing a TCP tunnel for HTTPS connections.

Electron appears to support this via the Session.setProxy API.

The best behaviour from a user's POV is to fetch proxy settings from the operating system.

  • On Windows, this will be somewhere in the registry (configurable through control panel / internet explorer; or may be pushed centrally for enterprise versions)

The second best option is a configuration option in the app's settings.
This will be equivalent to configuring Firefox, and the app won't work "out of the box" but the configuration option will be easy to find by looking in the settings.

The "minimum viable product" would be a command line switch or environment variable; which makes connection possible for expert users.

The electron API offers both pacScript and proxyRules.
A PAC (proxy auto configuration) script is a javascript document usually provided as a URL; it tells the browser on a per-URL basis which proxy to use (or 'DIRECT' for none).
The PAC script is the most likely configuration in a corporate environment
proxyRules gives the same capabilities as a table.
Most browsers have a single proxy server, and a list of exceptions when using static configuration.

For testing, 'squid' is a relatively easy to configure HTTP proxy available on many Linux distros.

@akashnimare
Copy link
Member

@shane-kearns thanks for the detailed info. I'll look into it.

@geeeeeeeeek
Copy link
Collaborator

geeeeeeeeek commented Aug 20, 2017

Done in #278.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants