openfaux / openfaux-client

Browser add-on for encrypting and masking internet traffic.
https://openfaux.org
GNU Affero General Public License v3.0
49 stars 25 forks source link

Add support for proxying. #16

Open Sp3ctr3 opened 10 years ago

Sp3ctr3 commented 10 years ago

OpenFaux server already supports proxying. Add a feature that would read proxy IP from a configuration file, change the proxy to that address when the add-on is activated and reset it to normal configuration when it is deactivated. Optionally it could also have the ability to set the proxy by prompting the user for the address.

zlatanvasovic commented 10 years ago

What type of file should it be?

nb333 commented 10 years ago

@ZDroid We just need the proxying to work and the proxy address should be modifiable.

zlatanvasovic commented 10 years ago

Ok. ;)

nb333 commented 10 years ago

@ZDroid Can you help with this task? If so, I'll assign it to you.

zlatanvasovic commented 10 years ago

I can, but need some research.

My idea:

  1. Use file API to read .openfauxrc, or .openfaux.json (config should have JSON format).
  2. Load config.
  3. Implement it.
nb333 commented 10 years ago

@ZDroid Look into FoxyProxy as sample code for Firefox plugins and the file API should work.

The final solution is that the extension should be able to switch the proxy address.

juzerali commented 10 years ago

I didn't see an option to look at the source code of FoxyProxy.

darkowlzz commented 10 years ago

@juzerali download the xpi and unzip it.

juzerali commented 10 years ago

Did the original question ask to provide a configuration for changing the ip address of the server which will act as a proxy? It seems FoxyProxy doesn't read configuration from a file (from their UI). It provides a UI for entering the configuration and persists them using the persistence mechanism provided by the browser's extension API.

zlatanvasovic commented 10 years ago

Ok, then use inputs. File input was my idea. :O

2013/12/30 Juzer Ali notifications@github.com

Did the original question ask to provide a configuration for changing the ip address of the server which will act as a proxy? It seems FoxyProxy doesn't read configuration from a file (from their UI). It provides a UI for entering the configuration and persists them using the persistence mechanism provided by the browser's extension API.

— Reply to this email directly or view it on GitHubhttps://github.com/openfaux/openfaux-client/issues/16#issuecomment-31342067 .

Zlatan Vasović - ZDroid

Sneezry commented 10 years ago

What type will the proxy server be? http/https/socks5/socks4? Or some of them?

ps. which browser is this issue related to? chrome or firefox?

Sp3ctr3 commented 10 years ago

First priority would be an http proxy. This is already functioning. We are hoping to get TLS working on it soon.

zlatanvasovic commented 10 years ago

Ok then.

2013/12/30 Yashin Mehaboobe notifications@github.com

First priority would be an http proxy. This is already functioning. We are hoping to get TLS working on it soon.

— Reply to this email directly or view it on GitHubhttps://github.com/openfaux/openfaux-client/issues/16#issuecomment-31343167 .

Zlatan Vasović - ZDroid

darkowlzz commented 10 years ago

Lemme update you all with my progress and tell you what is working now. This is for firefox jetpack add-on. I hard coded a proxy address and port number. When the OpenFaux button is clicked, i.e. OpenFaux Activated, proxy set by us is used. And yes, we better keep the add-on Deactivated by default. When the button is clicked again, proxy is disabled.

I have made it just for http right now. Easy to make for other protocols too, just add a few more lines for each protocol. I am doing cleanup and writing code to enable the user to set the proxy address and port number in the add-on manager(Firefox again ;) ).

Let me know if anything I mentioned above is going away from what we need.

zlatanvasovic commented 10 years ago

@darkowlzz Good job.

darkowlzz commented 10 years ago

Sorry for the delay. PR https://github.com/openfaux/openfaux-client/pull/36 sent! Please try it out and file improvements.