Tags
Creators
Details
Licensed Apache-2.0
Published 3 weeks ago
Updated 3 weeks ago
All versions
1.0.0
Release
CreeperCLI 1.0.03 months ago 15
Uploaded by
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
Platforms
Paper
Purpur
Spigot
Changes
Initial release.
Plugin (Java)
- NDJSON TCP protocol v1 with unique request IDs and typed error codes
- bcrypt (cost 12) auth with
creepercli-users.yml, RFC 6238 TOTP 2FA with QR setup, 15-minute IP-bound session tokens - Per-IP login limiter (3 attempts / 5 min) and fail2ban (3 failures, 10-minute ban)
PathSanitizerjail: real-path symlink defeat, traversal blocking, chroot-style absolute paths, JUnit suite- Filesystem commands:
pwd,ls -la,cd,tree,cat,head,tail,wc,touch,mkdir,rm -r,cp -r,mv,info - Edit locking with 5-minute TTL and atomic pushes
grep/findwith depth, size, and result limits- Chunked transfers (64 KB base64) with SHA-256 verification:
cpush/cpull/csync execwith default-deny allowlist, main-thread scheduling, output capture, 30-second timeout- Live console streaming via a
java.util.logging.HandleronBukkit.getLogger()with--grepfiltering stats/tps/topmonitoring- Token-bucket command limiter (30/s per session)
- Append-only audit log with 10 MB rotation
- In-game admin commands:
/creepercli user add|remove|list,status,reload,update - Third-party plugin API:
ActionRegistry/ActionHandler - Anonymous usage metrics via bStats (shaded and relocated; disable in
plugins/bStats/config.yml)
CLI (Node.js)
- Interactive REPL with persistent history and automatic prefix stripping
- One-shot mode:
creepercli ls /plugins - Local
$EDITORworkflow with temp-file hygiene and change detection toplive dashboard, log follow with--grep- Progress indicators and SHA-256 verification for transfers
- Session persistence in
~/.creepercli/creds(mode 0600) say/restartshortcuts mapped through the allowlist
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:fPKEvBZo:f5KyDcTz"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:fPKEvBZo:f5KyDcTz"
}

