
Research
Using Trusted Protocols Against You: Gmail as a C2 Mechanism
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.
Not currently maintained, but PR/issues/questions welcome.
mtwitter cannot currently help with obtaining access tokens from Twitter, you'll have to do this yourself. For testing and simple apps, the keys can be obtained from dev.twitter.com after setting up a new App.
var Twitter = require('mtwitter');
var twitter = new Twitter({
consumer_key: 'Twitter',
consumer_secret: 'API',
access_token_key: 'keys',
access_token_secret: 'go here'
});
var twitter = new Twitter({
consumer_key: config.key,
consumer_secret: config.secret,
application_only: true
});
The REST interface is managed, which means it transparently handles rate-limiting (it retries requests and doesn't bombard the APIs), and also takes care of fetching and refreshing configuration data as recommended by Twitter.
twitter.get(
'/statuses/mentions_timeline',
{key: 'value'},
function logResponse(error, data, response) {
console.log('Error? ', error);
console.log('Parsed object of data: ', data);
console.log('Raw HTTP response: ', response);
});
twitter.post(
'/favorites/create', // URL. Don't use https:// ones
'id=317050755691454464', // Body content (can be a string or hashmap)
// Content-Type (omit to use default)
function() { ... } // Callback has the same signature as above
);
// Get a user's timeline
twit.get('statuses/home_timeline', {screen_name: '_matthewpalmer'}, function(err, item) {
console.log(err, item);
});
// Search for a phrase
twit.get('search/tweets', {q: 'node.js'}, function(err, item) {
console.log(err, item);
});
// Post a new status
var content = {status: 'Maybe he\'ll finally find his keys. /@peterfalk'};
twit.post('statuses/update', content, function(err, item) {
console.log(err, item);
});
For the moment, only "raw" access is available:
twit.stream.raw(
'GET',
'https://stream.twitter.com/1.1/statuses/sample.json',
{delimited: 'length'},
// The above arguments are as for .rest.queueRequest()
// i.e. the third argument has to be a {content: ...}
// for POST. The URL has to include https://...
process.stdout // Provide a stream to pipe to, here STDOUT
);
Originally forked from @AvianFlu's inactive repo,
but reworked heavily, taking inspiration from many people
and their attempts at making it better. Old (pre-rewrite)
contributors can be found in HISTORICAL
. Contributors to
the present iteration can be found in the package.json
.
License: Public Domain.
Style guide: passcod/node-style-guide.
See CONTRIBUTING.md
for details
Topical branches and standard PR etiquette is preferred.
You need to formally agree to release your contribution.
Both linting and testing should pass (the Travis build will fail a PR if there are linting errors):
$ npm test
$ npm run-script lint
FAQs
Node.js Twitter API
The npm package mtwitter receives a total of 98 weekly downloads. As such, mtwitter popularity was classified as not popular.
We found that mtwitter 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
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.
Product
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.