Skip to content

A modern cross-platform application to test BDIX FTP links and show working servers. Built with Flutter, this application supports Windows, Linux, macOS, and Android.

License

Notifications You must be signed in to change notification settings

FakeErrorX/BDIX-FTP-TESTER

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

31 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BDIX FTP Tester v2.0 ๐Ÿš€

BDIX FTP Tester Flutter Material 3 License

A modern, professional BDIX FTP server testing tool with stunning Material Design 3 UI

Features โ€ข Installation โ€ข Usage โ€ข What's New


โœจ What's New in v2.0

๐ŸŽจ Modern UI/UX Redesign

  • 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

โšก Performance Improvements

  • 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

๐Ÿ”’ New Features

  • 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

๐Ÿ—‘๏ธ Improvements

  • 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

๐ŸŽฏ Features

Core Functionality

  • โœ… 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

UI/UX Features

  • ๐ŸŽจ 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

Advanced Features

  • ๐Ÿ” 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

๐Ÿš€ Installation

Prerequisites

  • Flutter SDK 3.2.3 or higher
  • Dart SDK 3.0 or higher
  • Windows/macOS/Linux development environment

Quick Start

  1. Clone the repository

    git clone https://github.com/FakeErrorX/BDIX-FTP-TESTER.git
    cd BDIX-FTP-TESTER
  2. Install dependencies

    flutter pub get
  3. Run the application

    # For Windows
    flutter run -d windows
    
    # For macOS
    flutter run -d macos
    
    # For Linux
    flutter run -d linux
  4. Build release version

    # Windows
    flutter build windows --release
    
    # macOS
    flutter build macos --release
    
    # Linux
    flutter build linux --release

๐Ÿ“– Usage

Basic Testing

  1. Launch the application
  2. Click "Start Testing" on the landing page
  3. Wait for results - The app will test all servers automatically
  4. Browse working servers - Click on any server card to see details

Using Proxy

  1. Click the globe icon in the app bar
  2. Enable proxy using the toggle switch
  3. Enter proxy details:
    • Host: Your SOCKS5 proxy IP or hostname
    • Port: Proxy port (default: 1080)
    • Username/Password: If authentication required
  4. Save settings and start testing

Server Actions

  • Expand card - Click any server card to see full URL
  • Open in browser - Click "Open" button
  • Copy URL - Click "Copy" button to clipboard

Sorting Results

  • Click the sort icon in the app bar
  • Choose Sort by URL or Sort by Speed
  • Results update immediately

๐Ÿ—๏ธ Architecture

Project Structure

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

Key Technologies

  • 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

๐Ÿ”ง Configuration

Adding Custom Servers

Edit lib/utils/ftp_links.dart:

static const List<String> links = [
  "http://your-server.com",
  "http://another-server.com:8080",
  // Add more servers...
];

Customizing Theme

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 color

Adjusting Performance

Edit lib/services/ftp_service.dart:

static const int _timeout = 5000;           // Request timeout (ms)
static const int _concurrentTests = 50;     // Concurrent tests

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ‘จโ€๐Ÿ’ป Author

ErrorX


๐Ÿ™ Acknowledgments

  • Material Design 3 guidelines
  • Flutter community for amazing packages
  • BDIX community for server lists

๐Ÿ“Š Performance Metrics

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

๐Ÿ”ฎ Roadmap

  • 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!

About

A modern cross-platform application to test BDIX FTP links and show working servers. Built with Flutter, this application supports Windows, Linux, macOS, and Android.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published