Kanpachi

Empresa
Iniciativa de producto
Fechas
2026 – Presente
Lugar
Internacional
Categoría
Principal

Resumen

Kanpachi es una LAN virtual privada para jugar entre amigos: el sucesor espiritual de Hamachi. Un túnel cifrado con WireGuard punto a punto conecta la sala; el adaptador virtual queda cerrado, y abre solo los puertos del juego elegido, solo en el host, solo hacia los miembros presentes. Sin cuentas, sin telemetría, sin reenvío de puertos. Software libre bajo AGPL-3.0, en tres lenguajes: UI en Flutter, binarios y CLI en Go, motor de túneles en Rust.

Puntos clave

  • Tres lenguajes, cuatro binarios0 sockets en escucha en el motor, frente a 0.0.0.0:15888 abierto en easytier-core, en 3 lenguajes y 4 binarios (kanpachi, kanpachid, kanpseed, kanpachi-engine)

    Repartí el producto en tres lenguajes según lo que cada uno hace mejor: Flutter para la ventana de escritorio, Go para cada binario (cliente, daemon, seed), Rust para el motor de túneles, construido sobre un fork propio de EasyTier fijado por tag en lugar de su binario oficial. Ese binario abre un portal de administración sin autenticación en 0.0.0.0:15888, alcanzable por cualquier proceso local; enlazar la librería deja el portal fuera del build.

  • Seguridad sin reglas de permisoEl tipo FirewallRule no tiene forma de expresar 'cualquiera'

    Diseñé el modelo de seguridad alrededor de un adaptador virtual que nace sin una sola regla de permiso. Cada apertura es explícita, por perfil de juego, hacia las IPs de los miembros presentes, y se recalcula entera cuando alguien entra, sale o cambia de juego.

  • Daemon privilegiado separado de la ventana1 solo UAC en toda la vida del producto, durante la instalación

    Separé el daemon privilegiado de la ventana: el servicio de Windows corre como LocalSystem y sostiene la sala, la app Flutter no tiene privilegios. Cerrar la ventana deja la sala abierta; jugar no vuelve a pedir administrador.

  • Catálogo de perfiles de juego probados11 perfiles de juego probados en partida real

    Armé el catálogo de perfiles de juego en JSON (puertos, descubrimiento LAN, verificación por ejecutable) para que nadie tenga que saber que Project Zomboid habla UDP 16261-16262. Hay puertos, con 445 y 3389 a la cabeza, que ningún perfil puede pedir.

  • Paquetes para Windows y DebianInstalador Windows, paquete .deb, 3 workflows de release en GitHub Actions

    Empaqueté las dos plataformas: instalador Inno Setup para Windows, paquete Debian para Ubuntu 22.04+, unidades systemd y una cuarentena que mantiene cerrados SMB, RDP y administración remota desde internet incluso con Kanpachi detenido.

  • Fuga de 346 MB cerrada346 MB de fuga en 6 ciclos de sala, cerrada

    Cacé fugas de memoria en el daemon productivo: cada lectura del store de firewall de Windows dejaba atrás su enumerador con una foto de todas las reglas de la máquina. Seis ciclos de abrir y cerrar sala llevaban el proceso de 80 MB a 426 MB sin retorno.

  • Seis releases tras el lanzamiento6 releases y 61 commits después de v0.6.8

    Seguí publicando después del lanzamiento: de v0.7.0 a v0.7.5 la lista de miembros sobrevive al reinicio del host (que puede seguir expulsando gente), cada miembro muestra su latencia medida y los contenedores redirigen el tráfico a juegos que escuchan en loopback.

Stack

  • Flutter Desktop
  • Go
  • Rust
  • EasyTier
  • WireGuard
  • Wintun
  • Servicio de Windows
  • Windows Firewall API
  • systemd
  • nftables
  • Debian
  • Inno Setup
  • Docker
  • GitHub Actions
  • AGPL-3.0
PREPARADO PARA
  • Lectores de pantalla
  • Agentes LLM
  • Parsers ATS
  • Responsivo
  • Carga rápida
alvaro-bash --project kanpachi --locale esEXIT 0v1.0.0· — · São Paulo · Brasil
ABRIR TERMINAL