Mobile/Janus: Difference between revisions

1,254 bytes added ,  15 January 2015
 
(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 depends on are tracked here
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|500500}} - (JPEG-XR) Add support for JPEG-XR/HD Photo
* {{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|ni|Add-on}} ||  ||  ||  || 0.4 ||
| [[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 / mozjpeg]] || {{JanusFeatureStatus|i|Proxy}} || {{JanusFeatureStatus|i|Add-on}} ||  ||  ||  || 0.2 || {{Bug|500500}} {{gh|mozilla|node-janus|34}}
| [[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|ni|Proxy}} || ||  ||  ||  ||  || {{gh|mozilla|node-janus|53}}
| [[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
* Ad blocking
** Only obnoxious ads?
** Replace with our own?
** Only block ones that track?
* 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
Confirmed users
438

edits