https://github.com/pyozer/myftp
https://github.com/pyozer/myftp
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/pyozer/myftp
- Owner: Pyozer
- Created: 2019-09-23T06:24:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T11:15:10.000Z (over 3 years ago)
- Last Synced: 2025-04-21T01:10:14.134Z (about 1 year ago)
- Language: TypeScript
- Size: 2.24 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MyFtp
MyFTP is a FTP project at school, to learn FTP protocol and Sockets using NodeJS.
Project contains :
- FTP Server (NodeJS)
- FTP Client CLI (NodeJS)
- FTP Client GUI (React / Electron) not finished
You can run FTP Server by using one of these :
- Quickly: `yarn dev` (PORT 4321 will be used)
- Or `yarn build && node . PORT`
You can run FTP Client CLI by using one of these:
- Quickly: `yarn dev`
- Or by using `yarn build` first and `node . HOST PORT` after (exemple `node . localhost 4321`).
FTP Server follow RFCs protocol, so you can use FileZilla (all commands are not implemented, like rename, delete, ..)
To access to FTP server, you need to login, with FileZilla you can choose Anonymous login (anonymous:anonymous@example.com)
Or with FTP Client (CLI), you can login with user "root" and password "admin" using command `USER root` and `PASS admin`.
Commands availables:
- `USER `
- `PASS `
- `PWD`
- `CWD ` (you can do `CWD /root/path` or `CWD ..`)
- `CDUP`
- `TYPE [A|I]`
- `EPRT |[1|2]|||` (ex: `EPRT |2|::|65432|`)
- `PORT h1,h2,h3,h4,p1,p2` (ex: `PORT 10,3,1,146,282,267`)
- `EPSV` (supported for FileZilla)
- `SYST` (supported for FileZilla)
- `FEAT` (supported for FileZilla)
- `LIST`
- `STOR `
- `RETR `