npm.io
4.1.2 • Published 6 years ago

appnet.link-controller

Licence
—
Version
4.1.2
Deps
14
Size
449 kB
Vulns
11
Weekly
0
Stars
9

AppNet.Link controller serivices to support AppNet.link protocol

Prerequest

  • Build Neo4j 2.1.8 on Linux with Docker, then start Neo4j services

    ./neo4jpkg
    
  • Copy Neo4j packages out of Docker image to local

    ./neo4jpkg cp -rf /tmp/*.tar* .

Install

  • appnet.link-controller depends on node-httpp, please build it from repo node-httpp

  • clone this repo and install dependency modules

    npm i
    
  • generate SSL certs once for your own Domain Name, like

    ./tools/genSrvKey.bash 51dese.com

  • start controller services

    ~/node-httpp/node ./bin/srv.js

  • now ready to serve appnet.link client

Install on Linux with Docker
  • Build node-httpp docker images, refer to node-httpp

  • Clone this repo

  • Install dependency modules

    ./appbld npm i
    
  • Generate SSL certs once for your own Domain Name, like

    ./appbld ./tools/genSrvKey.bash 51dese.com
    
  • Packaging and start services

    ./apppkg 
    
    Start services ...
    name-server-0 listen on udp port 51686
    name-server-1 listen on udp port 51868
    agent-server listen on udp port 51866
    httpp proxy-server listen on udp port 51688
    http proxy-server listen on tcp port 51688
    
  • Testing service if start successfully

    ./apppkg node tests/connection.js 
    
    node tests/connection.js ...
    connecting to alternative name-server successfully
    connecting to primary name-server successfully
Code structure

* sdp.js                 - Session Desription implementation
* stun.js                - STUN protcol implementation
* turn.js                - TURN protocl implementation
* db/sdp.js.             - Session data model persistent in GraphDB
* vurl.js.               - Virtual URL implementation

* appnet.link-server.js    - AppNet.link protocol controller implementation
* appnet.link-server-v2.js - AppNet.link protocol controller V2 implementation using SecureWebsocket and NaclCert

* ssl.js                 - SSL/RSA certs generate utils
* demos/                 - demos
* ca-certs               - your own Root CA certs
* certs                  - dynamical generated SSL/RSA certs for connections
* routepath.js           - pure JS tracerouter implementation using UDP/TTL probe. TBD
More demos:
Look on demos/
TODO:
  • User authentication
  • Domain authorization
  • Improve documents, Protocol Spec, RFC draft
Support us
  • Welcome contributing on document, codes, tests and issues
License

(The MIT License)

Copyright (c) 2012-present Tom Zhou(appnet.link@gmail.com)