flip - SFTP 文件传输工具
源码 https://github.com/waelun/flip-cli/
简介
flip 是一个基于 SFTP 协议的文件传输工具,用于在本地和远程服务器之间高效地上传和下载文件。
功能预览

安装
全局安装(推荐)
npm install @waelun/flip -g
项目内安装
npm install @waelun/flip --save-dev
使用说明
查看帮助
flip --help
# 或项目内使用
npx flip --help
初始化配置
提示:建议将配置文件添加到 .gitignore
中以避免敏感信息泄露
flip init
默认会在当前目录生成 flip.config.json
配置文件
配置文件示例
{
"host": "your_server_ip",
"port": 22,
"username": "your_username",
"password": "your_password",
"localPath": "./dist",
"remotePath": "/var/www/html/your_project",
"excludePatterns": ["node_modules/", ".git", "*.log"]
}
文件上传
# 使用默认配置
flip upload
# 使用自定义配置
flip upload ./config/custom.config.json
文件下载
# 使用默认配置
flip download
# 使用自定义配置
flip download ./config/custom.config.json
其他
为何不使用sftp、scp命令
每次上传都要输入地址、账号密码,有点儿麻烦
应用场景
对于我来说主要用于前端项目的部署,结合nginx,不用重启上传即可更新。(提示:如果要专业的部署工具,jenkins 阿里云效都是非常不错的产品。)
该项目可以作为一个小工具使用,也可以作为学习项目使用,包含了很多有意思的js开发知识,如:
- nodejs中文件、路径模块的具体应用
- 如何构建并打包nodejs项目
- 如何开发一个cli工具
- 如何发布一个npm包
其他工具推荐
由于该项目比较特殊,最理想的使用方式npm全局安装使用。
但是全局安装npm包意味着需要安装node环境,所以对于非js开发人员,还是有些许的麻烦。
所以给大家推荐另一个类似的工具:rclone https://github.com/rclone/rclone
rclone基本使用流程
-
安装 rclone
-
初始化连接配置rclone config
-
传输 rclone copy source:path dest:path [flags]
(-v 显示日志)
- 上传
rclone copy ./dist configName:/home/code/test -v
- 下载
rclone copy configName:/home/code/test ./download -v
-
文件排除
rclone copy ./ configName:/home/code/test -v --exclude node_modules/
-
配置文件位置
rclone config file
-
磁盘挂载
rclone mount configName:/home/code/test Z: --volname "MyCloudDrive"
反馈
如果在使用的过程中有任何问题,也欢迎各位反馈。