Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
qsocks was born to provide a lightweight promise layer around the Engine API. Shortening the time to implemention without limiting the developer in what she or he can accomplish.
The aim of qsocks is to mimic the functionality in the Engine API bringing the capabilities to node and the browser.
qsocks currently uses browserify to package up qsocks and promises to bring consistency to the browser landscape.
With the release of enigma.js qsocks will be deprecated.
Support for new QIX methods will be provided for 12 months (2017-12-19) and after that support will end.
npm install qsocks --save
Or just grab qsocks.bundle.js and drop it into your page and you are good to go.
Then join our Slack channel http://qlikbranch-slack-invite.herokuapp.com/ and ping Alex Karlsson
or open a issue on GitHub.
Be sure to check out the examples!
const qsocks = require('qsocks');
var config = {
host: 'sense-demo.qlik.com',
isSecure: true,
origin: 'localhost'
};
qsocks.Connect(config).then(global => {
console.log(global);
})
<script src="https://rawgit.com/mindspank/qsocks/master/qsocks.bundle.js"></script>
<script>
var config = {
host: 'sense-demo.qlik.com',
isSecure: true
};
qsocks.Connect(config).then(global => {
console.log(global)
});
</script>
<body></body>
<script src="https://rawgit.com/mindspank/qsocks/master/qsocks.bundle.js"></script>
<script>
// Calling Connect() without a config object automatically
// assumes a desktop connection, i.e localhost:4848
qsocks.Connect().then(global => {
console.log(global)
});
</script>
<body></body>
###Documentation
####Config
host
- (String) Hostname of serverappname
- (String) Scoped connection to app.isSecure
- (Boolean) If true uses wss and port 443, otherwise ws and port 80port
- (Integer) Port of connection, defaults 443/80prefix
- (String) Virtual Proxy, defaults to '/'origin
- (String) Origin of requests, node only.rejectUnauthorized
- (Boolean) False will ignore unauthorized self-signed certs.headers
- (Object) HTTP headersticket
- (String) Qlik Sense ticket, consumes ticket on Connect()key
- (String) Client Certificate key for QIX connectionscert
- (String) Client certificate for QIX connectionsca
- (Array of String) CA root certificates for QIX connectionsidentity
- (String) Session identitydebug
- (Boolean || Function) Will pipe socket messages to console.log or pipe to supplied functiondisconnect
- (Function) Called if socket is closedFor more documentation on available methods refer to the Engine API documentation
Or see the examples in the examples directory
All models will emit events for change
and close
.
Change events will notify you that the model has been invalidated on the server and needs to validate with a GetLayout
or GetProperties
call.
Close events will notify you that the model has been closed by the server.
Example of Change event
qsocks.Connect().then(global => {
return global.openDoc('TestApp.qvf')
})
.then(app => {
app.createSessionObject({
qInfo: {
qId: 'mysessionobject',
qType: 'list'
},
qListObjectDef: {
qDef: {
qFieldDefs: ['[Case Owner]']
},
qInitialDataFetch: [{
qWidth: 1,
qHeight: 1000,
qLeft: 0,
qTop: 0
}]
},
myproperty: 'Hello World'
})
.then(model => {
model.getLayout().then(layout => {
console.log(layout)
})
model.on('change', () => {
model.getLayout().then(layout => {
console.log(layout)
})
})
model.on('close', () => {
app.destroySessionObject('mysessionobject')
})
})
})
###Projects built with qsocks
SenseIt - Extension for Google Chrome to easily load web data
Service Charges - Interactive Web App by Axis Group & https://github.com/skokenes
Generate Qlik Sense apps from ElasticSearch
Chrome Extension - lets you create calculations on the fly
Architeqt - Inheritance Engine for Apps
Chartcacher - Render Qlik charts disconnected from QIX
Qlik-utils - Abstraction layer for Qlik APIs
SerializeApp - Serializes a Qlik app into JSON
Diplomatic Pulse - A custom web UI for QIX
Sense Search Components - Drop in search components
FAQs
A wrapper around the QIX Engine API for node
We found that qsocks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.