Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cpos

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cpos

Chromium page opener server

  • 0.1.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

Build Status ##Introduction With cpos you can start Chromium browser with socketIO server and emit messages from any socketIO client (browser for example) to open specific URL and return some data back like page load time or page screenshot.

cpos uses node-webkit.

Install it with npm install cpos

##Usage cpos requires libuv0 and xvfb-run. If you don't have libuv0, you can symlink libuv0 to libuv1. Example in Arch Linux: sudo ln -s /usr/lib/libudev.so /usr/lib/libudev.so.0

####Example

'use strict';

var cpos = require('cpos');
var io = require('socket.io-client');

var chromiumServer = new cpos.Server();

chromiumServer.listen(3000, 'localhost', function() {
    console.log('Chromium browser socketIO server has started');

    var client = io.connect('http://localhost:3000');
    client.on('connect', function() {

        client.emit('openURL', {'url': 'http://google.com'}, function(data) {
            console.log('Google takes %s milliseconds to load', data.pageLoadTimeMS);

            client.close();
            chromiumServer.close();
        });
    });
});

##API ###Class: cpos.Server ####server.listen(port, hostname, [callback]) Starts the node-webkit Chromium app using xvfb-run. The app itself starts socket.io server listening for openURL messages.

callback is called when the applications is ready to receive openURL requests. ####server.close() Terminates the server. ####socket.emit('openURL', options, callback); available options are

  • url: url for opening
  • width: window width (default: 1280)
  • height: window height (default: 768)
  • capture: return screenshot as base64 encoded string (default: false)
  • timeout: max timeout in seconds when opening url (default: 15 seconds)

callback is called with

  • pageLoadTimeMS: page load time in milliseconds
  • screenshot: base64 encoded screenshot of the loaded page (only if capture is set to true)
  • loaded: True or False, false can be if the timeout is reached

openURL opens new tab in Chromium and after page has loaded the tab is closed and the callback is executed, which means you can open pages in parallel.

You can use node async to limit max parallel tasks.

Keywords

FAQs

Package last updated on 29 Oct 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc