PlanJCore

PlanJCore

The multi-protocol infrastructure core - one JAR to deploy them all.

Le cœur d'infrastructure multiprotocole - un seul JAR pour tout déployer.

TCP · UDP · HTTP · HTTPS TLS Authentication Authentification Java 8+ ZeroBSD

What is PlanJCore?

Qu'est-ce que PlanJCore?

PlanJCore is a configuration-driven, multi-protocol service deployment engine. Rather than shipping a single-purpose server, PlanJCore gives you a single, self-contained JAR that can listen on any combination of TCP, UDP, HTTP, and HTTPS endpoints - with full TLS support and pluggable authentication - all driven by a simple configuration file.

PlanJCore est un moteur de déploiement de services multiprotocole piloté par configuration. Plutôt qu'un serveur à usage unique, PlanJCore vous offre un seul JAR autonome capable d'écouter sur toute combinaison de points de terminaison TCP, UDP, HTTP et HTTPS - avec TLS intégral et authentification enfichable - le tout piloté par un simple fichier de configuration.

Configuration-first approach

Approche configuration d'abord

You describe your services in a configuration file. PlanJCore reads it and brings them to life - no code changes, no recompilation. Change the config, restart, done.

Vous décrivez vos services dans un fichier de configuration. PlanJCore le lit et les instancie - sans modification de code, sans recompilation. Modifiez la config, redémarrez, c'est fait.

PlanJCore
TCPUDPHTTPHTTPS
PlanJBounce
PlanJAuth
PlanJSecrets
PlanJRepo
PlanJDNS ✦
PlanJProxy ✦
PlanJBase ✦
PlanJHost ✦

Coming soonBientôt disponible

Core Features

Fonctionnalités principales

🌐

Multi-Protocol Listeners

Écouteurs multiprotocoles

Configure any number of TCP, UDP, HTTP, and HTTPS listeners in a single deployment. Each listener is independently configurable.

Configurez autant d'écouteurs TCP, UDP, HTTP et HTTPS que nécessaire dans un seul déploiement. Chaque écouteur est configurable indépendamment.

🔐

Full TLS Support

TLS intégral

First-class TLS support with SNI across all protocols. Bring your own certificates or integrate with your PKI infrastructure.

Support TLS avec SNI de premier plan sur tous les protocoles. Apportez vos propres certificats ou intégrez votre infrastructure PKI.

🛡️

Pluggable Authentication

Authentification enfichable

Built-in auth hooks - use PlanJAuth for centralized OAuth-based SSO, or wire in your own authentication provider.

Hooks d'authentification intégrés - utilisez PlanJAuth pour un SSO centralisé basé sur OAuth, ou connectez votre propre fournisseur.

📦

Lightweight & Portable

Léger et portable

A single JAR with zero external runtime dependencies. Runs on any JVM 8+ - bare metal, VM, or container.

Un seul JAR sans dépendances d'exécution externes. Fonctionne sur tout JVM 8+ - métal nu, VM ou conteneur.

🐳

Docker-Ready

Prêt pour Docker

Official Docker images available. Use plain docker run, Docker Compose, or integrate with your orchestration layer.

Images Docker officielles disponibles. Utilisez docker run simple, Docker Compose, ou intégrez à votre couche d'orchestration.

🔧

Extensible by Design

Conçu pour l'extensibilité

The entire PlanJ ecosystem plugs into PlanJCore as lightweight JARs. Add capabilities without touching the core.

Tout l'écosystème PlanJ se branche sur PlanJCore sous forme de JARs légers. Ajoutez des capacités sans toucher au cœur.

📊

Built-in Monitoring

Monitoring intégré

Live status at /PJStatus - no agent, no sidecar. Full runtime snapshot: services, listeners, extensions, uptime, metrics. Identity check via /PlanJID?token.

Statut en direct sur /PJStatus - aucun agent, aucun sidecar. Instantané complet de l'exécution : services, écouteurs, extensions, disponibilité, métriques. Vérification d'identité via /PlanJID?token.

📦

Built-in Object Repository

Dépôt de données objet intégré

Create repositories to manage object catalogs on the fly.
Connect to any JDBC source or Data API in minutes

Créez des dépôts pour gérer les catalogues d'objets en temps réel.
Connectez-vous à n'importe quelle source JDBC ou API de données en quelques minutes.

🔧

Designed for Logging

Conçu pour la journalisation

Logs exportables vers Syslog, HTTP, Fichiers et autres destinations en quelques instants.
Visualisation dans PJStatus, extraction à distance, traces détaillées - dès le démarrage.

Flexible logging with Syslog, HTTP, Files and other destinations in seconds.
Visualization in PJStatus, remote extraction, detailed traces - from startup.

Built-in Diagnostic Endpoints

Points de terminaison de diagnostic intégrés

Available on every running PlanJCore instance - zero configuration required.

Disponibles sur toute instance PlanJCore en cours d'exécution - aucune configuration requise.

EndpointPoint de terminaison DescriptionDescription AuthAuth
/PJStatus Full runtime status & monitoring snapshot - services, listeners, extensions, uptime, metrics Instantané complet de l'exécution - services, écouteurs, extensions, disponibilité, métriques SecureSécurisé
/PlanJID?<token> Host Identity check - get a live proof about a Host identity Vérification d'identité - retourne une preuve en direct sur l'identité de l'hôte TokenJeton

🔍 Live example: http://azu-1.planj.ca/PlanJID?hello - a public, unprotected PlanJID from a running instance.

🔍 Exemple en direct : http://azu-1.planj.ca/PlanJID?hello - un PlanJID public et non protégé depuis une instance en cours d'exécution.

Deployment Options

Options de déploiement

☕ Plain JAR

☕ JAR natif

java -jar PlanJCore.jar load=PlanJCore.json

The simplest path. Drop the JAR anywhere you have Java 8+, point it at your JSON config, and go.

L'approche la plus simple. Déposez le JAR partout où Java 8+ est disponible, pointez vers votre config JSON, c'est parti.

🐳 Docker

docker run -d \
  -v $(pwd)/PlanJCore.json:/app/PlanJCore.json \
  -p 443:443 -p 80:80 \
  jipidi/playground:latest load=PlanJCore.json

Use the official Docker image - mount your JSON config and certificates, expose your ports.

Utilisez l'image Docker officielle - montez votre config JSON et vos certificats, exposez vos ports.

🗂️ Docker Compose

🗂️ Docker Compose

services:
  core:
    image: jipidi/playground:latest
    command: ["load=PlanJCore.json"]
  bounce:
    image: jipidi/playground:latest
    command: ["load=PlanJBounce.json"]
  auth:
    image: jipidi/playground:latest
    command: ["load=PlanJAuth.json"]

Compose the full stack - core + extensions - in one file. Each component loads its own JSON config.

Composez la pile complète - cœur + extensions - dans un seul fichier. Chaque composante charge son propre fichier JSON.

Extensions Built on PlanJCore

Extensions construites sur PlanJCore

Each extension is a separate JAR that plugs directly into PlanJCore. No framework, no bus - just Java and configuration.

Chaque extension est un JAR séparé qui se branche directement sur PlanJCore. Aucun framework, aucun bus - seulement Java et configuration.

ExtensionExtension RoleRôle StatusStatut
PlanJBounce Port 80 → 443 filter & redirect Filtre et redirection port 80 → 443 AvailableDisponible
PlanJAuth Centralized auth hub (modified OAuth) Hub d'authentification centralisée (OAuth modifié) AvailableDisponible
PlanJSecrets Encrypted secrets vault Coffre-fort de secrets chiffré AvailableDisponible
PlanJRepo Version assembly & distribution + auto-update Assemblage, distribution et mise à jour automatique AvailableDisponible
PlanJDNS Dynamic DNS + load balancing DNS dynamique + balancement de charge Coming SoonBientôt
PlanJProxy L4/L7 proxy with SNI routing Proxy L4/L7 avec routage SNI Coming SoonBientôt
PlanJBase Config management & monitoring Gestion de config et monitoring In DevEn dev
PlanJHost Physical/VM server management (Docker, Hyper-V, UTM…) Gestion serveurs physiques/VM (Docker, Hyper-V, UTM…) In DevEn dev

Ready to deploy PlanJCore?

Prêt à déployer PlanJCore?

Follow our quick-start guide or reach out for professional support.

Suivez notre guide de démarrage rapide ou contactez-nous pour un support professionnel.