Mobile/Janus: Difference between revisions

1,182 bytes added ,  15 January 2015
(Add emphasis on crazyness of the crazy ideas section)
 
(4 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
* {{Bug|944117}} - Implement support for WebM Alpha


Line 72: 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 92: 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 104: 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 127: Line 158:
* 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