node 搭建一个ftp服务器
时间: 2024-01-25 07:04:37 浏览: 45
可以使用 `ftp-server` 模块来搭建一个简单的 FTP 服务器。下面是一个示例代码:
```javascript
const FtpServer = require('ftp-server');
const options = {
pasvPortRangeStart: 4000,
pasvPortRangeEnd: 5000,
greeting: 'Welcome to my FTP server',
anonymous: true,
fileStatsOnOpen: true,
whitelist: ['127.0.0.1']
};
const server = new FtpServer(options);
server.on('login', ({username, password}, resolve, reject) => {
// 验证用户名和密码
if (username === 'admin' && password === 'password') {
resolve({root: __dirname});
} else {
reject(new Error('Invalid username or password'));
}
});
server.listen(21, () => {
console.log('FTP server listening on port 21');
});
```
在上面的代码中,我们使用了 `ftp-server` 模块创建了一个 FTP 服务器,指定了一些配置项,例如端口号、欢迎信息、匿名访问等。然后我们监听了 `login` 事件,当用户登录时会触发该事件,我们在事件处理函数中判断用户名和密码是否正确,如果正确则返回用户根目录的路径,否则返回错误信息。
最后我们调用 `listen` 方法启动 FTP 服务器,监听指定的端口号。在实际使用中,你可以将上面的代码保存为一个文件,例如 `server.js`,然后在命令行中执行 `node server.js` 来启动 FTP 服务器。