A way to turn a HTTP client into a service provider

Peer to peer, Firewalls and Security

On the first view, nothing in AjaxSync reminds on peer-to-peer. There is (yet) one single server, containing an Apache web server, a MySQL database and the AjaxSync server software, and there are many AjaxSync Clients connected to that server (some web browsers displaying a page from that web server containing AjaxSync JavaScript code, some other applications).

However, as a developer of AjaxSync applications you should look at that AjaxSync server only as a bus system. It transports information from one AjaxSync client to another. In that way, all the clients acts as peers with equal capabilities to interact; they all may export and call functions.

What remembers on peer-to-peer technology is the fact that communication between networks does not require port forwarding or similar configuration in the firewalls between the communicating clients. If you can access a web page from the AjaxSync server, then you can communicate with any other AjaxSync client in both directions. The way of access does not matter - it can be direct or by proxy, with or without proxy authentication. If you are using AjaxSync from your web browser, then the browser handles the way of access; if you are using AjaxSync from an application, you may have to use libcurl for proxy usage.

Bear in mind that you will not expose anything to the internet if you are using AjaxSync. Only the exported functions of your AjaxSync client will be exposed to your AjaxSync server; and because there are no open ports, nothing else can access these functions or capture data. (Even your own proxy cannot do that, if you are using SSL encryption with certificate check.)

But that fact would not help if an attacker could connect to your AjaxSync system and interact with your client directly. Look at this page for that.