Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
An FTP synchronization app for NodeJS based on jsftp. With an emphasis on speed and simplicity ftpsync aims to fulfull your one-click file deployment needs.
Warning: This app is currently in the early alpha stages of development. Feel free to try it out and contribute fixes/feedback but it would be wise to wait a few releases before using it in a production environment.
$ node ftpsync --help
Usage: ftpsync [options]
Options:
-h, --help output usage information
-V, --version output the version number
-v, --verbose Verbose logging
-l, --local [] Local root path
-r, --remote [] Remote root path
-h, --host [] FTP host name/address
-p, --port <> FTP connection port
-u, --user [] FTP user name
-s, --pass [] FTP password
-c, --connections <> Max number of concurrent FTP connections
-i, --ignore <items> List of files to ignore (separated by commas)
See ftpsync.settings{} for detailed info about the settings.
As an alternative to the traditional command line interface a config file may also be used to load the settings.
config.json
{
"local":"~/www/",
"remote":"/",
"host":"example.com",
"port":21,
"user":"username",
"pass":"password",
"connection":"2",
"ignore":[
".htaccess"
]
}
See ftpsync.settings{} for detailed info about the settings.
By default ftpsync will use the configuration supplied buy a config.json file located in the CWD.
node ftpsync
To log the output to a file simply pipe STDOUT to a log file.
npm ftpsync > ftpsync.log &
Creates a new ftpsync instance.
options{}
an object containing settings for ftpsync.See ftpsync.settings{} for detailed info about the settings.
Contains the application settings for ftpsync.
host
- hostname/address of the remote ftp server (required).port
- port of the remote ftp server (default 21
).user
- ftp username (required).pass
- ftp password (required).localRoot
- the root directory of the local host (default './'
).remoteRoot
- the root path of the remote server (default './'
).connections
- the max number of concurrent ftp connections (default 1
).lTimeOffset
- the local hosts timezone offset (autodetected).rTimeOffset
- the remoge ftp server's timezone offset (autodetected).The file listing for the local host. Populated by running collect()
.
The file listing for the remote server. Populated by running collect()
.
The list of files queued to for addition to the remote server. Populated by running consolidate()
.
The list of files queued for update on the remote server. Populated by running consolidate()
.
The list of files queued for removal from the remote server. Populated by running consolidate()
.
Completes the full synchronization from start to finish. Runs setup()
, collect()
, consolidate()
, commit()
, and validate()
.
The initialization step of the sunchronization process. This function accomplishes two tasks, First, it checks to see that all the required settings are present. Second, it synchronizes the local host and remote server clocks.
The setup will fail if the following settings aren't defined:
host
port
user
pass
See ftpsync.settings{} for detailed info about the settings.
Walks the file trees for both the local host and remote server and prepares them for further processing. The resulting file lists are stored in local[]
, and remote[]
upon successful completion.
Runs comparisons on the local and remote file listings. Files that exist in the local directory are but not the remote are queued up for addition. Files that exist in both but are different (determined by file size and time stamp) are queued for update. Files that exist in on the remote directory but not the local are queued for removal. The resulting queues can be found in add[]
, update[]
, and remove[]
upon successful completion.
Executes the tasks contained in the add[]
, update[]
, and remove[]
lists.
Walks the local directory tree and returns a list of files.
Requires setup()
to be run first.
Walks the remote directory tree and returns a list of files.
Requires setup()
to be run first.
npm install -g ftpsync
The -g flag indicates that this package will be installed globally. If you'd like to install it directly to a file locally simply remove the flag.
See LICENSE.
FAQs
Intelligent file syncronization over FTP
The npm package ftpsync receives a total of 22 weekly downloads. As such, ftpsync popularity was classified as not popular.
We found that ftpsync 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 threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.