tmplinker
v2.1.0
Published
This is the package for creating temporary weblinks. Simple and lightweight to usage.
Downloads
24
Maintainers
Readme
Since 2.0.0 version tmplinker is the middleware for the express.
var express = require('express');
var router = express.Router();
var tmplinker = require('tmplinker');
tmplinker.plugin(router, {
secureDir: 'secure',
secret: 'ewjr98456y4h5th',
algorithm: 'rc4',
expirationTime: '6h', // Use 'none' for unlimited links
route: '/files'
});Installation
$ npm install tmplinkerAPI
Tmplinker's api have 2 methods plugin() and createLink().
plugin()
plugin(router, {params})
router (required) - express router, [function]
params:
secureDir(required) - your secure directory in root folder, [string]secret(optional) - your password, default: Just A Secret, [string]algorithm(optional) - algorithm for encryption link, default: aes192, [string]expirationTime(optional) - time life link. Use 'none' for unlimited links, default: 3h, [integer] or [string]route(optional) - route for download like a http://localhost:3000/download/:hash, default: /download, [string]
expirationTime
You can use Integer value for seconds like a 3600 or 3600s. And pattern like a 45i (45 minutes), 3h (3 hours), 1d (1 day), etc.
s: 1, // seconds
i: 60, // minute
h: 3600, // hour
d: 43200, // day
w: 302400, // week
m: 9072000, // month (30 days)
y: 108864000 // yearcreateLink()
createLink(filename, callback)
filename (required) - name of the file in secure directory, [string]
Example
router.post('/createlink', function(req, res, next) {
tmplinker.createLink(req.body.filename, (err, link) => {
if(err)
return next();
res.status(200).send(`Your personal link: ${link}`);
});
});For additional information
Node.js defaultCipherList
[ 'CAST-cbc', 'aes-128-cbc', 'aes-128-cbc-hmac-sha1', 'aes-128-cfb', 'aes-128-cfb1', 'aes-128-cfb8', 'aes-128-ctr', 'aes-128-ecb', 'aes-128-gcm', 'aes-128-ofb', 'aes-128-xts', 'aes-192-cbc', 'aes-192-cfb', 'aes-192-cfb1', 'aes-192-cfb8', 'aes-192-ctr', 'aes-192-ecb', 'aes-192-gcm', 'aes-192-ofb', 'aes-256-cbc', 'aes-256-cbc-hmac-sha1', 'aes-256-cfb', 'aes-256-cfb1', 'aes-256-cfb8', 'aes-256-ctr', 'aes-256-ecb', 'aes-256-gcm', 'aes-256-ofb', 'aes-256-xts', 'aes128', 'aes192', 'aes256', 'bf', 'bf-cbc', 'bf-cfb', 'bf-ecb', 'bf-ofb', 'blowfish', 'camellia-128-cbc', 'camellia-128-cfb', 'camellia-128-cfb1', 'camellia-128-cfb8', 'camellia-128-ecb', 'camellia-128-ofb', 'camellia-192-cbc', 'camellia-192-cfb', 'camellia-192-cfb1', 'camellia-192-cfb8', 'camellia-192-ecb', 'camellia-192-ofb', 'camellia-256-cbc', 'camellia-256-cfb', 'camellia-256-cfb1', 'camellia-256-cfb8', 'camellia-256-ecb', 'camellia-256-ofb', 'camellia128', 'camellia192', 'camellia256', 'cast', 'cast-cbc', 'cast5-cbc', 'cast5-cfb', 'cast5-ecb', 'cast5-ofb', 'des', 'des-cbc', 'des-cfb', 'des-cfb1', 'des-cfb8', 'des-ecb', 'des-ede', 'des-ede-cbc', 'des-ede-cfb', 'des-ede-ofb', 'des-ede3', 'des-ede3-cbc', 'des-ede3-cfb', 'des-ede3-cfb1', 'des-ede3-cfb8', 'des-ede3-ofb', 'des-ofb', 'des3', 'desx', 'desx-cbc', 'id-aes128-GCM', 'id-aes192-GCM', 'id-aes256-GCM', 'idea', 'idea-cbc', 'idea-cfb', 'idea-ecb', 'idea-ofb', 'rc2', 'rc2-40-cbc', 'rc2-64-cbc', 'rc2-cbc', 'rc2-cfb', 'rc2-ecb', 'rc2-ofb', 'rc4', 'rc4-40', 'rc4-hmac-md5', 'seed', 'seed-cbc', 'seed-cfb', 'seed-ecb', 'seed-ofb' ]
