Confirmed users
438
edits
(→Status) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<big><big>'''The Janus proxy experiment has ended. | |||
The code remains on [https://github.com/mozilla/node-janus github], but we are no longer actively developing it.'''</big></big> | |||
== Overview == | == Overview == | ||
'''Janus is a compression and privacy proxy ''' with the goal to provide more secure and efficient mobile browsing. | '''Janus is a compression and privacy proxy ''' with the goal to provide more secure and efficient mobile browsing. | ||
Line 24: | Line 39: | ||
Currently (August 2014), the supported Firefox versions are served on the [https://www.mozilla.org/en-US/firefox/channel/#aurora Aurora] or [http://nightly.mozilla.org Nightly] channels. | Currently (August 2014), the supported Firefox versions are served on the [https://www.mozilla.org/en-US/firefox/channel/#aurora Aurora] or [http://nightly.mozilla.org Nightly] channels. | ||
Required '''features''' that Janus | Required or desired '''features''' that Janus could utilize are tracked here | ||
* {{bug|378637}} - Add support for connecting to HTTP proxy over HTTPS | * {{bug|378637}} - Add support for connecting to HTTP proxy over HTTPS | ||
* {{bug|366559}} - Firefox/Gecko should support LZMA as an HTTP transfer-encoding method | * {{bug|366559}} - Firefox/Gecko should support LZMA as an HTTP transfer-encoding method | ||
* {{bug|1010068}} - Disable OCSP on Firefox for Android | * {{bug|1010068}} - Disable OCSP on Firefox for Android | ||
* {{Bug| | * {{Bug|944117}} - Implement support for WebM Alpha | ||
Known '''issues''' affecting Janus are tracked here | Known '''issues''' affecting Janus are tracked here | ||
Line 71: | Line 86: | ||
| [[Mobile/Janus#Text_Compression|Text compression / xz]] || {{JanusFeatureStatus|off|Proxy}} || {{JanusFeatureStatus|ni|Add-on}} || {{JanusFeatureStatus|ni|Fennec}} || {{JanusFeatureStatus|ni|Desktop}} || {{JanusFeatureStatus|ni|B2G}} || 0.3 || {{bug|366559}} {{gh|mozilla|node-janus|13}} | | [[Mobile/Janus#Text_Compression|Text compression / xz]] || {{JanusFeatureStatus|off|Proxy}} || {{JanusFeatureStatus|ni|Add-on}} || {{JanusFeatureStatus|ni|Fennec}} || {{JanusFeatureStatus|ni|Desktop}} || {{JanusFeatureStatus|ni|B2G}} || 0.3 || {{bug|366559}} {{gh|mozilla|node-janus|13}} | ||
|- | |- | ||
| [[Mobile/Janus#Image_Compression|Image compression / libjpeg-turbo]] || {{JanusFeatureStatus|off|Proxy}} || {{JanusFeatureStatus| | | [[Mobile/Janus#Image_Compression|Image compression / libjpeg-turbo]] || {{JanusFeatureStatus|i|Proxy}} || {{JanusFeatureStatus|i|Add-on}} || || || || 0.4 || | ||
|- | |||
| [[Mobile/Janus#Image_Compression|Image compression / mozjpeg]] || {{JanusFeatureStatus|off|Proxy}} || {{JanusFeatureStatus|i|Add-on}} || || || || 0.2 || {{Bug|500500}} {{gh|mozilla|node-janus|34}} | |||
|- | |- | ||
| [[Mobile/Janus#Image_Compression|Image compression / | | [[Mobile/Janus#Image_Compression|Image compression / pngquant]] || {{JanusFeatureStatus|i|Proxy}} || {{JanusFeatureStatus|i|Add-on}} || || || || 0.4 || | ||
|- | |- | ||
| [[GIF to video]] || {{JanusFeatureStatus|i|Proxy}} ||{{JanusFeatureStatus|off|Add-on}} || {{JanusFeatureStatus|i|Fennec}} || {{JanusFeatureStatus|i|Desktop}} || {{JanusFeatureStatus|ni|B2G}} || 0.2 || {{gh|mozilla|node-janus|16}} | | [[GIF to video]] || {{JanusFeatureStatus|i|Proxy}} ||{{JanusFeatureStatus|off|Add-on}} || {{JanusFeatureStatus|i|Fennec}} || {{JanusFeatureStatus|i|Desktop}} || {{JanusFeatureStatus|ni|B2G}} || 0.2 || {{gh|mozilla|node-janus|16}} | ||
Line 91: | Line 108: | ||
| [[Mobile/Janus#Metrics|Metrics / memory and GC]] || {{JanusFeatureStatus|i|Proxy}} || || || || || 0.4 || {{gh|mozilla|node-janus|52}} | | [[Mobile/Janus#Metrics|Metrics / memory and GC]] || {{JanusFeatureStatus|i|Proxy}} || || || || || 0.4 || {{gh|mozilla|node-janus|52}} | ||
|- | |- | ||
| [[Mobile/Janus#Tests|Tests / performance]] || {{JanusFeatureStatus| | | [[Mobile/Janus#Tests|Tests / performance]] || {{JanusFeatureStatus|i|Proxy}} || || || || || || {{gh|mozilla|node-janus|53}} | ||
|- | |- | ||
| [[Mobile/Janus#Bug_Reports|Bug reports]] || {{JanusFeatureStatus|i|Proxy}} || {{JanusFeatureStatus|i|Add-on}} || || || || 0.3 || {{gh|mozilla|node-janus|38}} | | [[Mobile/Janus#Bug_Reports|Bug reports]] || {{JanusFeatureStatus|i|Proxy}} || {{JanusFeatureStatus|i|Add-on}} || || || || 0.3 || {{gh|mozilla|node-janus|38}} | ||
Line 103: | Line 120: | ||
PLATFORM = Proxy | Desktop | Android | B2G | PLATFORM = Proxy | Desktop | Android | B2G | ||
--> | --> | ||
=== Open Issues (suitable for contributors) === | |||
If you want to contribute to the project and don't know where to start, this list should give you an idea of what we are currently working on or planning to. | |||
Alternatively, you may also directly pick a [[Mobile/Janus#Feature|feature]] to improve or an [https://github.com/mozilla/node-janus/issues issue] to attack. | |||
{| class="wikitable" | |||
|- | |||
! Issue !! Description !! Mentors !! See also | |||
|- | |||
| HTTP/2 || Migrate to HTTP/2, adjust handling, test for regressions || snorp, esawin || {{gh|mozilla|node-janus|15}} [https://github.com/molnarg/node-http2 node-http2] | |||
|- | |||
| Add-on || Update to HTTPS PAC, fix/remove scrollbar on Linux, add quality control settings || snorp, esawin || {{gh|mozilla|node-janus|67}} [https://github.com/mozilla/janus-addon janus-addon] | |||
|- | |||
| Image worker || Fix image-worker issues, rewrite to TCP/HTTP interface, enable per-request settings || sylvain, esawin || {{gh|mozilla|janus-image-worker|2}} | |||
|} | |||
=== Transmission Protocol === | === Transmission Protocol === | ||
Line 121: | Line 153: | ||
=== Other === | === Other === | ||
Other crazy stuff we could do: | Other '''crazy''' stuff we could (technically) do: | ||
* Man-in-the-middle HTTPS traffic only for images (so they get recompressed) with user consent | * Man-in-the-middle HTTPS traffic only for images (so they get recompressed) with user consent | ||
* Convert animated GIF to H264/WebM/whatever. gfycat.com does this now with apparently good results | * Convert animated GIF to H264/WebM/whatever. gfycat.com does this now with apparently good results | ||
* Pre-Shumwayize Flash content | * Pre-Shumwayize Flash content | ||
* Automatic readability mode for some sites | * Automatic readability mode for some sites | ||
* Add support for adaptive streaming (MPEG-DASH) for servers that don't support it. Transcode to lower bitrates. | * Add support for adaptive streaming (MPEG-DASH) for servers that don't support it. Transcode to lower bitrates. | ||
** Proxy HLS sites as MPEG-DASH | ** Proxy HLS sites as MPEG-DASH |