A modern, professional BDIX FTP server testing tool with stunning Material Design 3 UI
Features โข Installation โข Usage โข What's New
- Material Design 3 implementation with dynamic color schemes
- Glassmorphism effects and smooth animations
- Professional landing page with animated elements
- Dark mode support with beautiful gradients
- Responsive cards with expandable details
- Interactive statistics dashboard
- Multithreaded testing - Test 50 servers concurrently (up from 20)
- Optimized network requests using Dio with connection pooling
- Async/Await patterns for better performance
- Smart chunking for efficient batch processing
- 2.5x faster server testing compared to v1.0
- SOCKS5 Proxy Support - Test servers through custom proxy
- Proxy authentication with username/password
- Download speed calculation for each server
- Advanced sorting - Sort by URL or speed
- Copy URL to clipboard functionality
- Server status indicators with real-time updates
- Progress tracking with percentage display
- Success rate statistics
- Removed response time display from main cards (cleaner UI)
- Enhanced error handling with user-friendly messages
- Improved URL parsing and display
- Better state management with Riverpod
- Optimized animations for smoother experience
- โ Live Server Testing - Test hundreds of BDIX FTP servers in seconds
- โ Real-time Updates - Stream-based testing with live progress
- โ Smart Detection - Automatically detects online servers
- โ Multi-platform - Windows, macOS, Linux support
- ๐จ Material Design 3 - Modern, professional interface
- ๐ Dark/Light Themes - Smooth theme switching
- ๐ Statistics Dashboard - Real-time testing stats
- ๐ญ Smooth Animations - Delightful user experience
- ๐ฑ Responsive Design - Works on all screen sizes
- ๐ SOCKS5 Proxy - Route tests through custom proxy
- ๐ Proxy Authentication - Username/password support
- ๐ Download Speed - Measure server response speed
- ๐ Smart Sorting - Sort by URL, speed, or status
- ๐ Quick Actions - Copy URLs, open in browser
- ๐พ Persistent Settings - Saves proxy configuration
- Flutter SDK 3.2.3 or higher
- Dart SDK 3.0 or higher
- Windows/macOS/Linux development environment
-
Clone the repository
git clone https://github.com/FakeErrorX/BDIX-FTP-TESTER.git cd BDIX-FTP-TESTER -
Install dependencies
flutter pub get
-
Run the application
# For Windows flutter run -d windows # For macOS flutter run -d macos # For Linux flutter run -d linux
-
Build release version
# Windows flutter build windows --release # macOS flutter build macos --release # Linux flutter build linux --release
- Launch the application
- Click "Start Testing" on the landing page
- Wait for results - The app will test all servers automatically
- Browse working servers - Click on any server card to see details
- Click the globe icon in the app bar
- Enable proxy using the toggle switch
- Enter proxy details:
- Host: Your SOCKS5 proxy IP or hostname
- Port: Proxy port (default: 1080)
- Username/Password: If authentication required
- Save settings and start testing
- Expand card - Click any server card to see full URL
- Open in browser - Click "Open" button
- Copy URL - Click "Copy" button to clipboard
- Click the sort icon in the app bar
- Choose Sort by URL or Sort by Speed
- Results update immediately
lib/
โโโ main.dart # App entry point
โโโ models/ # Data models
โ โโโ ftp_link.dart # FTP server model
โ โโโ proxy_config.dart # Proxy configuration model
โโโ providers/ # State management
โ โโโ ftp_provider.dart # FTP testing logic
โ โโโ proxy_provider.dart # Proxy configuration
โ โโโ theme_provider.dart # Theme management
โโโ screens/ # UI screens
โ โโโ home_screen.dart # Main application screen
โโโ services/ # Business logic
โ โโโ ftp_service.dart # FTP testing service
โ โโโ window_service.dart # Window management
โโโ utils/ # Utilities
โ โโโ app_theme.dart # Theme configuration
โ โโโ ftp_links.dart # Server list
โโโ widgets/ # Reusable widgets
โโโ proxy_dialog.dart # Proxy settings dialog
โโโ server_card.dart # Server card widget
โโโ stats_card.dart # Statistics card widget
- Flutter - Cross-platform UI framework
- Riverpod - State management
- Dio - HTTP client with proxy support
- Material 3 - Modern design system
- Flutter Animate - Smooth animations
- SharedPreferences - Local storage
- Font Awesome - Professional icons
Edit lib/utils/ftp_links.dart:
static const List<String> links = [
"http://your-server.com",
"http://another-server.com:8080",
// Add more servers...
];Edit lib/utils/app_theme.dart:
static const primary = Color(0xFF6366f1); // Change primary color
static const secondary = Color(0xFF8b5cf6); // Change secondary color
static const success = Color(0xFF10b981); // Change success colorEdit lib/services/ftp_service.dart:
static const int _timeout = 5000; // Request timeout (ms)
static const int _concurrentTests = 50; // Concurrent testsContributions 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
This project is licensed under the MIT License - see the LICENSE file for details.
ErrorX
- GitHub: @FakeErrorX
- Material Design 3 guidelines
- Flutter community for amazing packages
- BDIX community for server lists
| Metric | v1.0 | v2.0 | Improvement |
|---|---|---|---|
| Concurrent Tests | 20 | 50 | 2.5x faster |
| UI Framework | Material 2 | Material 3 | Modern design |
| Animations | Basic | Advanced | Smoother UX |
| Features | 5 | 12+ | 2.4x more |
| Code Quality | Good | Excellent | Better architecture |
- Add server response time charts
- Export results to CSV/JSON
- Server availability history
- Custom server groups
- Scheduled testing
- Desktop notifications
- Multi-language support
- Command-line interface
Made with โค๏ธ By ErrorX
โญ Star this repo if you find it helpful!