Example #1
0
 backoffMethod.on('fail', function (e) {
   emitter.disconnect()
   emitter.emit('fail', e)
 })
Example #2
0
	engine.block = function(addr) {
		blocked.add(addr.split(':')[0]);
		engine.disconnect(addr);
		engine.emit('blocking', addr);
	};
Example #3
0
  self.connect = function(id) {

    if (id) {
      config = configs.getById(+id);
      if (!config) {
        cli.render("Error: config with id " + id + " not found");
        return;
      }
    }

    cli.render(config);

    self.disconnect();

    config.mount().then(function(confFileName) {

      if (configs.getErrors().length > 0) {
        cli.render(configs.getErrors().join('\n'));
      }

      vpnProcess = spawn(openvpnCmd, ['--config', confFileName]);

      vpnProcess.stdout.on('data', function (data) {

        data = data.toString('UTF-8');

        self.emit('vpn-log', data);

        config.setStatus("Connecting");

        if (data.match('Initialization Sequence Completed')) {

          config.setStatus("Connected");

          self.emit('vpn-connected', data);

        } else if (data.match('Operation not permitted')) {
          throw new Error('Operation not permitted');
        }

        for (var i = 0; i < fails.length; i++) {
          if (data.match(fails[i])) {
            self.emit('vpn-failed');
            return;
          }
        }

        cli.render(config);
      });

      vpnProcess.stderr.on('data', function(data) {
        cli.render(data);
      });

      vpnProcess.on('error', function(error) {

        self.emit("vpnprocess-error", error);

        if (error.code === 'ENOENT') {
          cli.render('Please install openvpn at first! https://openvpn.net');
        } else {
          cli.render(error.message);
        }

        process.exit();
      });

      vpnProcess.on('close', function(code) {

        self.emit("vpnprocess-exit", code);

        if (config) {
          config.setStatus('Disconnected');
          cli.render(config);
        }
      });

    });
  };
Example #4
0
 context.connection.on('error', function(err){
   self.disconnect()
 })
Example #5
0
  self.connect = function(server, nickname){

    self.emit('connnecting', server)

    context.data.state = 'connecting'


    if (context.connection){
      self.disconnect()
    }

    var server = server.replace(/^.+\:\/\//, '')

    context.connection = connect('ws://' + server)
    context.connection.on('error', function(err){
      self.disconnect()
    })

    context.data.server = server
    context.data.sampleRoot = 'http://' + server + '/files/'

    // send our local messages to server
    if (nickname){
      context.data.nickname = nickname
    }

    // sync with other users
    context.syncer = Syncer(audioContext.scheduler, context.connection)
    context.syncer.on('offset', updateOffset)
    context.syncer.sync()

    // resync after the server noise has died down
    setTimeout(function(){
      context.syncer&&context.syncer.sync()
    }, 3000)

    if (context.localInstance){
      releaseLocalInstance = connectLocalInstance(context.connection, context.localInstance)
    }

    broadcastLocalInstance()
    refresh()

    context.connection.on('data', function(message){
      var shouldRefresh = false
      if (message.from == 'server'){
        if (message.clientId){
          context.data.clientId = message.clientId
          if (!context.data.nickname){
            context.data.nickname = 'remote' + message.clientId
          }
          self.emit('connected', server, message.clientId)
          context.data.state = 'connected'
          shouldRefresh = true
        }
        if (message.clientDisconnect){
          if (remoteDisconnect(message.clientDisconnect)){
            shouldRefresh = true
          }
        }
        if (message.requestFile){
          handleSampleRequest(message.requestFile)
        }
      } else if (typeof message.from == 'number') { // message from remote
        if (updateRemote(message.from, message)){
          shouldRefresh = true
        }
      }
      if (shouldRefresh){
        refresh()
      }
    })
  }
Example #6
0
omegle.reconnect = function(){
	if (!connected) return;
	omegle.disconnect();
	omegle.connect();
}
Example #7
0
process.on ("SIGINT", function(){
  omegle.disconnect();
  process.exit ();
});