Version 3.0.1 - Developed by Kevin Moe Myint Myat (m3yevn)
A backend API server for browsing FTP server directories. Accepts host, port, path, username, and password parameters via REST API to connect to FTP servers and return directory data.
๐ ไธญๆ็ๆฌ: ็ฎไฝไธญๆ README
- โ RESTful API: Simple HTTP interface
- โ Anonymous FTP Support: Works with anonymous FTP servers
- โ Directory Browsing: List FTP server directory contents
- โ File Download: Get FTP server file content
- โ Vercel Deployment: Production-ready Vercel deployment
- โ SEO Optimized: Complete search engine optimization
- โ Responsive Design: Works on desktop and mobile
- โ Controller-Service Pattern: Clean, maintainable architecture
Try it now: https://ftp-seer-api.vercel.app
FTP Seer API server is also available as a Docker image.
$ docker pull m3yevn/ftp-seer:latest
$ docker run -d --name ftp-seer -p 5050:5050 m3yevn/ftp-seer:latestNow, FTP Seer is accessible at port 5050 of your workstation.
- host: FTP server hostname
- path: Path to browse
- port: FTP port (default: 21)
- username: Username (optional for anonymous FTP)
- password: Password (optional for anonymous FTP)
GET /api/directory?host=ftp.drivehq.com&path=.GET /api/file?host=ftp.drivehq.com&path=ftp_help.htmcurl "https://ftp-seer-api.vercel.app/api/directory?host=ftp.drivehq.com&path=."curl "https://ftp-seer-api.vercel.app/api/file?host=ftp.drivehq.com&path=ftp_help.htm"- Node.js
- Express.js - Web framework
- JSFTP - FTP client library
- Loglestial - Advanced logging system
- PureCSS - CSS framework
- Vercel - Deployment platform
The project follows a Controller-Service pattern for better maintainability:
- Controllers (
/controller/) - Handle HTTP requests and responses - Services (
/services/) - Contain business logic and FTP operations - Utils (
/utils/) - Shared utilities like logging - Config (
/config/) - Application configuration
ftp-seer-api/
โโโ controller/ # Request handlers
โโโ services/ # Business logic
โโโ utils/ # Shared utilities
โโโ config/ # Configuration
โโโ public/ # Static files
โโโ routes.js # Route definitions
โโโ index.js # Application entry point
โโโ vercel.json # Vercel configuration
โโโ package.json # Dependencies
This project is optimized for Vercel deployment:
# Install Vercel CLI
npm install -g vercel
# Deploy to Vercel
vercel
# Deploy to production
vercel --prod- Runtime: Node.js
- Build Command: Automatic
- Output Directory: Root
- Install Command:
npm install
| Method | Route | Description |
|---|---|---|
GET |
/ |
Get API health status |
GET |
/api/directory |
Browse FTP server directory |
GET |
/api/file |
Get FTP server file content |
PORT=5050
NODE_ENV=development
LOG_LEVEL=info
VERCEL=1- Node.js (v14 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/m3yevn/ftp-seer.git
cd ftp-seer
# Install dependencies
npm install
# Start the development server
npm startThe server will start at http://localhost:5050
- ๐๏ธ Architecture: Refactored to Controller-Service pattern
- ๐ Logging: Integrated Loglestial logging system
- ๐ Deployment: Vercel deployment optimization
- ๐ SEO: Complete SEO optimization with structured data
- ๐จ UI/UX: Improved user interface with radio buttons
- ๐ ๏ธ Tech Stack: Updated dependencies and removed legacy code
- ๐ Frontend: Responsive design and loading states
- ๐ง API: Anonymous FTP support and better error handling
- v2.1.0: Basic FTP functionality with Winston logging
- v1.0.0: Initial release with CircleCI deployment
Kevin Moe Myint Myat (m3yevn)
MIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- GitHub Repository: https://github.com/m3yevn/ftp-seer-api
- Live Demo: https://ftp-seer-api.vercel.app
- Docker Hub: https://hub.docker.com/repository/docker/m3yevn/ftp-seer
- Release Notes: https://ftp-seer-api.vercel.app/releases/3.0.1.html
Read this in Simplified Chinese - ็็ฎไฝไธญๆ็ๆฌ README.zh-cn