About netjs
Offline for now. We're going to fix the crashes in this code and then Open Source it. The developer release is still here.
What?
Netjs is a library written in Javascript and Java. It provides Javascript applications networking functionality via a special Java applet. Netjs is based on Java Socket Bridge by Steven Ware. It has been rewritten from scratch to support the modern web, in particular adding the ability for con-current socket connections, and asynchronous callbacks.
In the future we hope to expose all or most of Java's networking capability to Javascript developers. Currently only TCP stream sockets with connect, send, recv, and close are supported. (Imagine a client-side web server written in Javascript. That would be interesting.)
To enable users who don't have Java installed to use netjs a P2P system could be developed. Users who run netjs could have the option of helping out by becoming proxies. They would act as a router for AJAX socket requests for users who just have Javascript enabled. This requires they act as a HTTP server providing a JSON socket API which is theoretically possible with netjs. It's an interesting thought, that's for sure.
Why?
Currently the only tools web developers have for client-side networking are very limited. They often rely on non-standard contrived hack jobs that are very different to the way developers are used to working. These methods are also time consuming because the server needs to be specially coded for the methods to work. The alternatives also aren't a lot better . . . Web sockets aren't even real sockets.
We needed to solve this problem as a large portion of our code runs in the user's browser and needs to talks with other applications and services on the internet. Netjs makes that possible. By using netjs Javascript chat clients, torrent downloaders, even servers are possible, and it will all run cross-platform.
How?
Java applets have long since been able to use standard networking functions. They also have the capacity to call Javascript functions in the browser. Javascript, on the other hand, doesn't have a very flexible set of networking functions. You have the Ajax functions with their cross-domain restrictions . . . but not much else. Javascript can also call Java functions inside applets. You put them together and you get a crude BSD style socket API for Javascript applications.
Because unsigned Javascript code cannot call signed Java code directly an API queue approach is used. The calls are passed to a function which schedules them for execution by a privileged Java thread. In this way the security restrictions are bypassed.
Where?
Netjs is free for non-profit use. For commercial use contact anontune@gmail.com. Currently we provide an experimental distribution of netjs for developers. This includes the documentation and everything you need to get started.
For a stand-alone example see here.
Who?
Netjs is part of the Anontune project. It was invented and implemented by Anonymous.
Most up to date version of this document.