GSoC/GCI Archive
Google Summer of Code 2015

Portable Native Client

License: University of Illinois/NCSA Open Source License

Web Page: https://developer.chrome.com/native-client/reference/ideas

Mailing List: https://groups.google.com/forum/#!forum/native-client-discuss

Native Client is a sandbox for running compiled C and C++ code in the browser efficiently and securely, independent of the user’s operating system. Portable Native Client extends that technology with architecture independence, letting developers compile their code once to run in any website and on any architecture.

In short, Native Client brings the performance and low-level control of native code to modern web browsers, without sacrificing the security and portability of the web.

Projects

  • Port Tor to NaCl Platform In this project the Tor [ https://www.torproject.org ] was ported to NaCl platform, the compiled binary(C codebase) can be run in Chrome Browser (Chrome Apps) which when executed, sets up tor [socks] proxy and makes it accessible system wide.
  • Porting Perl to Native Client Native Client and Portable Native Client are recent technologies that allow the user to run native code (C/C++) in their browser. This project deals with creating an exhaustive port of the Perl Language, and allowing other tools written in Perl to execute on NaCl architectures, via the Dev Environment or through browser pages.
  • Rust for PNaCl Rust is a systems programming language designed to be safe, low-level, and fast. Rust’s compiler is built on top of LLVM, and therefore presents a ”fairly” straightforward path to PNaCl/NaCl cross support to the Rust toolchain. I propose adding such cross support for PNaCl, and, in turn, NaCl to the Rust toolchain.