Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Easy way to resize, crop and upload images to Rackspace cloudfiles and Amazon S3
wip: This is work in progress. Converting to use generators and graphicsmagick-stream library. The uploading is handled by pkgcloud. The master branch and 1.0.0-alpha1 tag works only with s3.
A node module to resize, crop and upload images (with different variants and presets) to the cloud.
--harmony
flagUsing osx
$ brew install graphicsmagick --build-from-source
Using ubuntu
$ sudo apt-get install libgraphicsmagick1-dev
$ npm install imager
Use a config file. For example imager-config.js
exports.variants = {
item: { // variant
thumb: { // preset
options: { // preset options
pool: 5,
scale: { width: 200, height: 150, type: 'contain' },
crop: { width: 200, height: 150, x: 0, y: 0 },
format: 'png',
rotate: 'auto',
}
},
large: {
original: true // upload original image without image processing
}
},
gallery: {
// ...
}
};
In the above config, item and gallery are variants. thumb and large are presets. Each preset has an options object which is a graphicsmagick-stream config object.
options
- An object that is passed to graphicsmagick. See what options are available here
rename
- A function that accepts an object file
as an argument. It has the following properties: name
, size
, type
and path
. It is called before uploading each file.
Example:
variants.item.thumb.rename = function (file) {
return 'users/1/thumb/' + file.name;
};
var imager = new Imager(variants.item, ...);
original
- A true value. If this option is set, the original image will be uploaded without any image processing.
exports.storages = {
local: {
provider: 'local',
path: '/tmp',
mode: 0777
},
rackspace: {
provider: 'rackspace',
username: process.env.IMAGER_RACKSPACE_USERNAME,
apiKey: process.env.IMAGER_RACKSPACE_KEY,
authUrl: 'https://lon.auth.api.rackspacecloud.com',
region: 'IAD', // https://github.com/pkgcloud/pkgcloud/issues/276
container: process.env.IMAGER_RACKSPACE_CONTAINER
},
amazon: {
provider: 'amazon',
key: process.env.IMAGER_S3_KEY,
keyId: process.env.IMAGER_S3_KEYID,
container: process.env.IMAGER_S3_BUCKET
}
}
var Imager = require('imager');
var config = require('./imager-config.js');
var imager = new Imager(config.variants.item, config.storages.amazon);
// You can also pass only the storage without a variant which will simply
// upload the original image
// new Imager(storages.amazon)
files
is an array of files or a single file. A file can be a file object, absolute file path pointing a local file or base64 encoded image data. callback
accepts err
and an object containing the array of uploaded images.
var config = require('./imager-config.js');
var imager = new Imager(config.variants.item, config.storages.amazon);
imager.upload(files, function (err, avatar) {
// avatar =>
// {
// thumb: [ 'https://fudge.s3.amazonaws.com/user/1/thumb/image-1.png', ],
// large: [ 'https://fudge.s3.amazonaws.com/user/1/large/image-1.png', ]
// }
});
files
is an array of files or a single file. A file should be the file name of the image on the storage. callback
accepts err
as an argument.
var config = require('./imager-config.js');
var imager = new Imager(config.storages.amazon);
var files = ['file-1.png']; // or just 'file-1.png'
imager.remove(files, function (err) {
});
$ npm test
.remove()
.regenerate()
MIT
FAQs
Easy way to resize, crop and upload images to Rackspace cloudfiles and Amazon S3
The npm package imager receives a total of 50 weekly downloads. As such, imager popularity was classified as not popular.
We found that imager 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
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.