net_passport 0.1.0
net_passport: ^0.1.0 copied to clipboard
Fetch Cloudflare trace metadata (including client IP) with a tiny API.
Net Passport is a tiny Dart client for Cloudflare Trace. It fetches the trace document and exposes a simple API to grab the client IP or inspect every returned key/value.
Features #
- Fetch Cloudflare trace in one call
- Quick
NetPassport.ip()helper to grab the client IP - Parsed response as a
Map<String, String>viaCloudflareTrace - Override the endpoint or provide your own
http.Clientfor testing
Getting started #
Add the dependency:
dependencies:
net_passport: ^0.1.0
Usage #
import 'package:net_passport/net_passport.dart';
Future<void> main() async {
final ip = await NetPassport.ip();
print('Your public IP: $ip');
final trace = await NetPassport.fetchTrace();
print('Cloudflare location: ${trace['loc']}');
print('TLS: ${trace['tls']}');
}
API #
NetPassport.fetchTrace({http.Client? client, Uri? uri, Duration timeout})→CloudflareTraceNetPassport.ip()→String?CloudflareTrace.values→Map<String, String>CloudflareTrace.ip/trace['key']helpers
Notes #
- Calls https://cloudflare.com/cdn-cgi/trace by default.
- Pass your own
http.Clientin tests to avoid real network calls.