Skip to content

KhBayazidAhmed/bdix-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ BDIX List - Bangladesh Internet Exchange Connectivity Tester

Bun TypeScript License: MIT

A comprehensive, high-performance tool for testing BDIX (Bangladesh Internet Exchange) network connectivity. This tool helps you discover and test available local servers, FTP sites, streaming services, and other resources within the BDIX network ecosystem.

โœจ Features

  • ๐Ÿš€ Lightning Fast Testing: Quick ping tests with 2-second timeout for rapid connectivity checks
  • ๐Ÿ“Š Advanced Analytics: Detailed ping analysis with comprehensive statistics and network metrics
  • ๐Ÿ” Smart Discovery: Intelligent filtering to find all currently accessible servers and services
  • ๐ŸŒ DNS Resolution Testing: Advanced hostname resolution timing and validation
  • ๐Ÿ“ˆ Network Categorization: Automatic grouping by service type (FTP, Streaming, Unknown)
  • ๐Ÿ“‹ Multiple Output Formats: Results in JSON, TXT, and formatted console output
  • โšก Concurrent Processing: Optimized batch processing for maximum speed
  • ๐ŸŽฏ Detailed Reports: Comprehensive statistics with min/max/avg response times

๐Ÿ—๏ธ Project Structure

bdix-list/
โ”œโ”€โ”€ ๐Ÿ“„ bdix-urls.json      # Comprehensive database of 4000+ BDIX URLs
โ”œโ”€โ”€ ๐Ÿ”ง list.ts             # Advanced ping testing with detailed analytics
โ”œโ”€โ”€ โšก simple-ping.ts      # Fast connectivity checker for quick tests
โ”œโ”€โ”€ ๐Ÿ” list-up.ts          # Working URLs discovery and filtering
โ”œโ”€โ”€ ๐Ÿ“ type.ts             # TypeScript type definitions
โ”œโ”€โ”€ โš™๏ธ package.json        # Project configuration and scripts
โ””โ”€โ”€ ๐Ÿ“– README.md           # This documentation

๐Ÿ“‹ Prerequisites

  • Bun Runtime v1.0.0 or higher installed on your system
  • Network Access: Best results when connected to a BDIX-enabled ISP in Bangladesh
  • Operating System: macOS, Linux, or Windows with WSL

๐Ÿ› ๏ธ Installation

  1. Clone or download this repository:

    git clone https://github.com/KhBayazidAhmed/bdix-list
    cd bdix-list
  2. Install dependencies:

    bun install
  3. Verify installation:

    bun --version

๐Ÿš€ Usage Guide

The tool provides 4 distinct testing modes optimized for different use cases:

1. ๐Ÿƒโ€โ™‚๏ธ Quick Start (Recommended for Beginners)

# Default quick test - fastest way to get started
bun start
# or
bun run quick
# or 
bun run fast

What it does:

  • โšก Ultra-fast ping tests with 2-second timeout per URL
  • ๐Ÿš€ Tests all 4000+ URLs simultaneously using maximum concurrency
  • ๐Ÿ† Shows top 10 fastest responding sites
  • ๐Ÿ“Š Provides instant success rate and performance metrics
  • ๐Ÿ’พ Saves results to quick-results.json

Perfect for:

  • Quick network health checks
  • Finding fastest available servers
  • Daily connectivity verification
  • Initial BDIX network assessment

2. ๐Ÿ”ฌ Advanced Analysis (For Detailed Diagnostics)

# Comprehensive testing with detailed analytics
bun run detailed
# or
bun run analyze
# or
bun run ping
# or
bun run dev

What it does:

  • ๐ŸŽฏ Performs 5 ping attempts per URL with comprehensive statistics
  • ๐ŸŒ DNS resolution testing with timing analysis
  • ๐Ÿ“ˆ Network categorization and advanced reporting
  • ๐Ÿ“Š Detailed metrics: min/max/avg response times, packet loss, standard deviation
  • ๐Ÿ—‚๏ธ Results categorized by network type (FTP, TV/Streaming, Unknown)
  • ๐Ÿ’พ Saves detailed results to ping-results.json

Perfect for:

  • Network troubleshooting and diagnostics
  • Performance analysis and optimization
  • Detailed connectivity reports
  • ISP performance evaluation

3. ๐ŸŽฏ Working URLs Discovery (For Clean Lists)

# Find only working/accessible URLs
bun run find-working
# or
bun run list-up

What it does:

  • ๐Ÿ” Tests all URLs and filters only currently working ones
  • ๐Ÿ“ Creates clean, curated lists of accessible servers
  • ๐Ÿ’พ Saves to both working-urls.txt (simple list) and working-urls.json (detailed)
  • ๐Ÿ“Š Provides success rate statistics

Perfect for:

  • Creating curated server lists for applications
  • Filtering out dead/inactive URLs
  • Generating up-to-date BDIX resource lists
  • Maintenance and cleanup operations

4. ๐Ÿ”ง Custom Testing (For Power Users)

# Run individual scripts directly
bun run list.ts           # Advanced testing script
bun run simple-ping.ts    # Fast connectivity checker  
bun run list-up.ts        # Working URLs finder

# Alternative quick commands
bun test                  # Same as quick test

๐Ÿ“ Output Files & Formats

The tool generates several types of output files:

๐Ÿ“Š quick-results.json (Fast Test Results)

{
  "timestamp": "2024-01-15T10:30:00.000Z",
  "totalTime": 3200,
  "summary": {
    "total": 150,
    "up": 45,
    "down": 105,
    "successRate": 30.0
  },
  "upSites": [
    { "url": "http://circleftp.net", "time": 89 }
  ],
  "downSites": ["http://example-down.com"]
}

๐Ÿ“ˆ ping-results.json (Detailed Test Results)

{
  "url": "http://circleftp.net",
  "name": "CIRCLE",
  "status": "UP",
  "attempts": 5,
  "successfulPings": 5,
  "statistics": {
    "min": 89.23,
    "avg": 91.45,
    "max": 95.67,
    "stddev": 2.1,
    "loss": 0.0
  },
  "dnsInfo": {
    "ip": "103.231.4.58",
    "hostname": "circleftp.net",
    "resolveTime": 45
  }
}

๐Ÿ“ working-urls.txt (Simple List)

http://circleftp.net
http://dhakaftp.com
http://amarsangam.com

๐Ÿ“‹ working-urls.json (Detailed Working URLs)

{
  "timestamp": "2024-01-15T10:30:00.000Z",
  "total_checked": 150,
  "working_count": 45,
  "success_rate": 30.0,
  "working_urls": [
    {
      "url": "http://circleftp.net",
      "name": "CIRCLE"
    }
  ]
}

๐Ÿ“Š Understanding Results

๐Ÿšฆ Status Indicators

  • ๐ŸŸข UP: Server is fully accessible and responding consistently
  • ๐ŸŸก PARTIAL: Server responds to some ping attempts (intermittent connectivity)
  • ๐Ÿ”ด DOWN: Server is not accessible or not responding

โฑ๏ธ Response Time Metrics

  • min/avg/max: Minimum, average, and maximum response times in milliseconds
  • stddev: Standard deviation (lower values indicate more consistent performance)
  • loss: Percentage of failed ping attempts (0% = perfect, 100% = completely down)

๐Ÿท๏ธ Network Categories

  • FTP: File transfer protocol servers (downloads, file sharing)
  • TV: Streaming and media servers (IPTV, video content)
  • UNKNOWN: Unclassified servers (web services, games, etc.)

โš™๏ธ Configuration & Customization

Advanced Configuration Options

You can modify testing parameters by editing the configuration in list.ts:

const DEFAULT_CONFIG: PingConfig = {
    attempts: 5,              // Number of ping attempts per URL
    timeout: 5000,            // Timeout in milliseconds (5 seconds)
    interval: 500,            // Delay between ping attempts (0.5 seconds)
    batchSize: 8,             // Number of concurrent tests
    enableDnsLookup: true,    // Enable DNS resolution testing
    enablePortCheck: true     // Enable port connectivity testing
};

Customizing for Your Network

// For faster testing (less accurate)
const FAST_CONFIG = {
    attempts: 3,
    timeout: 2000,
    interval: 200,
    batchSize: 16
};

// For more reliable results (slower)
const RELIABLE_CONFIG = {
    attempts: 10,
    timeout: 10000,
    interval: 1000,
    batchSize: 4
};

๐Ÿ“Š Sample Output Examples

๐Ÿš€ Fast Check Results

๐Ÿš€ Fast BDIX Connectivity Check
==================================================
๐Ÿ“Š Checking 150 unique URLs...
โšก Using fast mode (2s timeout, max concurrency)

============================================================
๐Ÿ“ˆ RESULTS SUMMARY
============================================================
๐ŸŸข UP: 45 sites
๐Ÿ”ด DOWN: 105 sites  
๐Ÿ“Š Success rate: 30.0%
โšก Total time: 3.2s
โฑ๏ธ Average response: 125ms

๐Ÿ† TOP 10 FASTEST:
1. 89ms - http://circleftp.net
2. 156ms - http://dhakaftp.com
3. 178ms - http://amarsangam.com
4. 203ms - http://teacher.com.bd
5. 234ms - http://ftp.jagobd.com
...

โœ… Done! Results saved to quick-results.json

๐Ÿ”ฌ Advanced Test Results

๐Ÿ” Advanced testing CIRCLE - http://new.circleftp.net
   ๐Ÿ” DNS lookup for new.circleftp.net...
   โœ… DNS resolved: new.circleftp.net -> 103.231.4.58 (45ms)
   ๐Ÿ“ Performing 5 ping attempts...
   ๐Ÿ“Š Ping 1/5: 89.23ms โœ…
   ๐Ÿ“Š Ping 2/5: 92.15ms โœ…
   ๐Ÿ“Š Ping 3/5: 87.45ms โœ…
   ๐Ÿ“Š Ping 4/5: 95.67ms โœ…
   ๐Ÿ“Š Ping 5/5: 91.82ms โœ…
   ๐Ÿ“ˆ Results: 5/5 successful (0.0% loss)
   โšก Timing: 87.45/91.45/95.67ms (min/avg/max)

๐ŸŒ Data Source

The tool uses bdix-urls.json containing 4000+ carefully curated BDIX servers including:

  • ๐Ÿ“ FTP Servers: File download and sharing services
  • ๐Ÿ“บ Media Streaming: IPTV, video content, and entertainment
  • ๐ŸŽฎ Game Servers: Local gaming and entertainment servers
  • ๐ŸŽ“ Educational Resources: University and institutional servers
  • ๐ŸŒ Local Websites: Bangladesh-based web services and portals
  • ๐Ÿ’ผ Business Services: Enterprise and commercial servers

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

๐Ÿ†• Adding New URLs

# Edit bdix-urls.json and add new entries
{
  "name": "SERVER_NAME",
  "url": "http://server-url.com",
  "type": "FTP" | "TV" | "UNKNOWN"
}

๐Ÿ› Reporting Issues

  • Report dead/inactive URLs
  • Suggest feature improvements
  • Report bugs or connectivity issues
  • Share performance optimization ideas

๐Ÿ’ก Feature Requests

  • New testing modes
  • Additional output formats
  • Integration with other tools
  • UI/UX improvements

๐Ÿ”ง Troubleshooting

โŒ Common Issues & Solutions

No results showing:

# Check your BDIX connection
bun run quick    # Try fast mode first

# Verify you're on a BDIX-enabled ISP
ping circleftp.net

Slow performance:

# Use fast mode for quicker results
bun start

# Or reduce batch size in configuration
# Edit list.ts and change batchSize to 4

Permission errors:

# On Linux/macOS, you might need sudo for ping
sudo bun run quick

# Or install iputils-ping (Ubuntu/Debian)
sudo apt-get install iputils-ping

DNS resolution failures:

# Check your DNS settings
nslookup circleftp.net

# Try using Google DNS (8.8.8.8, 8.8.4.4)

๐Ÿ” Debugging Tips

  1. Test individual URLs:

    ping circleftp.net
    curl -I http://circleftp.net
  2. Check network connectivity:

    bun run quick    # Should show some UP results
  3. Verify BDIX access:

    • Best results from Bangladesh ISPs (Grameenphone, Robi, Banglalink, etc.)
    • Test during off-peak hours (2 AM - 8 AM BD time)

๐Ÿ“ Notes & Best Practices

๐ŸŒ Geographic Considerations

  • Optimal Location: Bangladesh with BDIX-enabled ISP
  • Peak Hours: Avoid 6 PM - 12 AM BD time for best performance
  • ISP Compatibility: Works best with major BD ISPs

โšก Performance Tips

  • Use fast mode for daily checks
  • Use detailed mode for troubleshooting
  • Run tests during off-peak hours for accurate results
  • Close bandwidth-heavy applications during testing

๐Ÿ”’ Network Security

  • All tests use standard ICMP ping (safe and non-intrusive)
  • No data is uploaded or downloaded during testing
  • Results are stored locally only

๐Ÿ“œ License

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

๐Ÿ™ Acknowledgments

  • Bangladesh Internet Exchange (BDIX) for providing local connectivity infrastructure
  • Bun.sh for the amazing JavaScript runtime
  • ping package for reliable network testing capabilities
  • TypeScript for type safety and developer experience

Made with โค๏ธ for the Bangladesh tech community

Report Bug โ€ข Request Feature โ€ข Contribute

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published