Introducción Dart es un lenguaje orientado a objetos optimizado para cliente desarrollado por Google para crear aplicaciones rápidas en múltiples plataformas incluyendo móvil, escritorio, web y servidores. Es conocido por ser el lenguaje detrás de Flutter y ofrece sintaxis estilo C, seguridad contra nulos y await async, asà como la capacidad de compilar a código nativo y a JavaScript. En este artÃculo veremos cómo usar el paquete IP2Location para Dart en un proyecto de consola CLI para consultar archivos BIN de IP2Location y obtener datos de geolocalización de direcciones IPv4 e IPv6. Usamos Debian 13 para los ejemplos por lo que algunos pasos son especÃficos para esa plataforma.
Requisitos previos Instalar Dart si no está en el sistema. Consulte la documentación oficial en dart.dev para los pasos de instalación. Además necesitará los archivos BIN de la base de datos IP2Location DB26 que contienen los datos de geolocalización. Puede descargar los BIN comerciales o los BIN LITE gratuitos, descomprimir el archivo y colocar el BIN en una carpeta de su elección. En el ejemplo usamos la ruta /home/admin/data/IP2LOCATION-DB26.IPV6.BIN.
Crear un nuevo proyecto de consola Navegue al directorio donde quiere crear el proyecto, por ejemplo dartarticle, y ejecute el comando para crear la plantilla de consola dart create -t console ip2location_cli. Luego entre en la carpeta con cd ip2location_cli. La entrada por defecto estará en bin/ip2location_cli.dart.
Añadir la dependencia IP2Location y args Editar pubspec.yaml y en la sección dependencies agregar las lÃneas ip2location: ^8.1.0 args: ^2.7.0 y ejecutar dart pub get para descargar las dependencias.
Implementar el cliente CLI En bin/ip2location_cli.dart puede implementar un cliente que acepte la dirección IP como primer argumento y opcionalmente la ruta al BIN con la bandera -d. El flujo básico es inicializar IP2Location con la ruta del archivo BIN, ejecutar getAll pasando la IP y mostrar campos como countryShort countryLong region city isp latitude longitude domain zipCode timeZone mcc mnc mobileBrand elevation usageType asn asName asDomain y asCIDR. Maneje errores escribiendo en stderr y saliendo con código 1 en caso de fallo.
Ejemplo de ejecución Pruebe el programa con un comando similar a dart run bin/ip2location_cli.dart 8.8.8.8 -d /home/admin/data/IP2LOCATION-DB26.IPV6.BIN. Un resultado de ejemplo puede ser IP Address 8.8.8.8 countryShort US countryLong United States of America region California city Mountain View isp Google LLC latitude 37.386051 longitude -122.083847 domain google.com zipCode 94035 netSpeed T1 timeZone -07:00 areaCode 650 weatherStationName Mountain View asn 15169 asName Google LLC asDomain google.com asCIDR 8.8.8.0/24
Compilar a binario nativo Para distribuir la herramienta a usuarios Linux puede compilarla a un ejecutable nativo ejecutando dart compile exe bin/ip2location_cli.dart -o ip2location_cli. Luego puede ejecutar el binario con ./ip2location_cli 8.8.8.8 -d /home/admin/data/IP2LOCATION-DB26.IPV6.BIN y obtener el mismo resultado sin necesidad de tener el SDK instalado en la máquina de destino.
Buenas prácticas y recomendaciones Mantenga actualizadas las versiones de la base de datos BIN para obtener datos precisos, valide y sanee entradas del usuario, gestione correctamente errores de I O y considere proveer una opción de caché para consultas frecuentes. Si su aplicación procesa grandes volúmenes de IPs valore integrar paralelismo o colas de trabajo y restringir acceso a los ficheros BIN por seguridad.
Sobre Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software que crea aplicaciones a medida y soluciones de software a medida para empresas de diversos sectores. Somos especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios de inteligencia de negocio y desarrollamos agentes IA y soluciones de ia para empresas. Si busca un partner para crear productos escalables y seguros puede conocer nuestros servicios de desarrollo desarrollo de aplicaciones a medida o explorar nuestras soluciones de inteligencia artificial para empresas.
Palabras clave para posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi
Conclusión Integrar IP2Location en un proyecto Dart de consola es directo y permite enriquecer cualquier aplicación con datos de geolocalización offline usando archivos BIN. Ya sea para auditorÃa de seguridad, personalización regional de contenidos o análisis de tráfico, este enfoque facilita incorporar inteligencia geoespacial en sus soluciones. Si necesita ayuda profesional para llevar este tipo de funcionalidad a producción, Q2BSTUDIO puede ayudar con arquitecturas seguras, integraciones cloud y modelos de inteligencia de negocio.