network_debugger 0.1.3  network_debugger: ^0.1.3 copied to clipboard
network_debugger: ^0.1.3 copied to clipboard
Launcher for network-debugger binary with automatic download, caching, and process management.
network_debugger #
Free tool for debugging HTTP and WebSocket which is MUCH BETTER than the built-in Flutter Netwrok Devtools.
Suitable for local development and test environments. Has web interface (opens in browser), desktop and CLI.
Features #
- Automatic binary download from GitHub releases
- Smart caching with version management
- Platform detection (Windows, macOS, Linux with various architectures)
- Download progress tracking
- Simple process management
- Automatic browser opening to web UI
- CLI tool for instant launch
Quick Start (CLI) #
The easiest way to use the network debugger is via the CLI tool:
Installation #
# Install globally from pub.flutter-io.cn
dart pub global activate network_debugger
# OR install locally from path
cd dart_packages/network_debugger
dart pub global activate --source path .
Usage #
# Launch debugger (downloads binary if needed, opens browser automatically)
network_debugger
# Custom port
network_debugger --port 8080
# Without opening browser
network_debugger --no-browser
# Specific binary version
network_debugger --binary-version v1.0.0
# Show version
network_debugger --version
# Show help
network_debugger --help
Press Ctrl+C to stop the debugger.
Quick Start (Dart API) #
You can also use the package programmatically in your Dart code:
Installation #
Add to your pubspec.yaml:
dependencies:
  network_debugger: ^0.1.2
Usage #
import 'package:network_debugger/network_debugger.dart';
void main() async {
  // Launch debugger (downloads if needed, uses cache otherwise)
  final debugger = await NetworkDebugger.launch(
    port: 9091,
    onProgress: (received, total) {
      print('Download progress: ${(received / total * 100).toStringAsFixed(1)}%');
    },
  );
  print('Network debugger running at: ${debugger.url}');
  // When done...
  await debugger.stop();
}
Advanced Usage #
Specify Version #
final debugger = await NetworkDebugger.launch(
  version: 'v1.0.0',  // or null for latest
);
Custom Configuration #
final debugger = await NetworkDebugger.launch(
  port: 8080,
  autoOpenBrowser: false,  // Don't open browser automatically
  onProgress: (received, total) {
    final percent = (received / total * 100).toStringAsFixed(1);
    print('Downloading: $percent%');
  },
);
Cache Management #
// Clear all cached binaries
await NetworkDebugger.clearCache();
// Clear specific version
await NetworkDebugger.clearCache(version: 'v1.0.0');
How It Works #
- Detects your platform (OS + architecture)
- Checks local cache (~/.cache/network_debugger/or platform-specific)
- Downloads from GitHub releases if not cached
- Extracts and caches the binary
- Launches the process
- Returns a DebuggerInstancefor process management
Cache Location #
- macOS/Linux: ~/.cache/network_debugger/
- Windows: %LOCALAPPDATA%\network_debugger\Cache\
Each version is stored separately for easy version switching.
License #
MIT