Find a file
2025-12-24 08:08:31 -05:00
test Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
tests Fix license comment syntax for JS/TS/Lua/Elixir 2025-12-23 11:18:14 -05:00
.gitignore Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
LICENSE Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
README.md Improve README formatting and structure 2025-12-24 08:08:31 -05:00
un.awk Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.clj Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.cob Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.cpp Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.cr Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
Un.cs Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.d Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.dart Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.erl Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.ex Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.f90 Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.forth Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.fs Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.go Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.groovy Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.hs Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
Un.java Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.jl Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.js Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.kt Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.lisp Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.lua Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.m Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.ml Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.nim Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.php Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.pl Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.pro Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.ps1 Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.py Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.r Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.raku Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.rb Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.rs Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.scm Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.sh Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.tcl Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.ts Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.v Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un.zig Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un_deno.ts Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00
un_inception.c Update license values in all 42 inception source files 2025-12-23 22:03:31 -05:00

UN CLI Inception

The UN CLI written in every language it can execute. 42 implementations, one unified interface.

"If you replace every line of un.c with a different programming language, but it still executes code on unsandbox... is it still un?"

Quick Start

# Clone all 42 implementations
git clone https://github.com/russellballestrini/un-inception.git
cd un-inception

# Set your API key
export UNSANDBOX_API_KEY=your_key_here

# Run any implementation
python3 un.py test/fib.py
node un.js test/fib.py
ruby un.rb test/fib.py
go run un.go test/fib.py

# They all produce the same output:
# fib(10) = 55

Implementations

Language File Category
Python un.py Scripting
JavaScript un.js Scripting
TypeScript un.ts Scripting
Ruby un.rb Scripting
PHP un.php Scripting
Perl un.pl Scripting
Lua un.lua Scripting
Bash un.sh Scripting
Go un.go Systems
Rust un.rs Systems
C un_inception.c Systems
C++ un.cpp Systems
D un.d Systems
Nim un.nim Systems
Zig un.zig Systems
V un.v Systems
Java Un.java JVM/.NET
Kotlin un.kt JVM/.NET
C# Un.cs JVM/.NET
F# un.fs JVM/.NET
Groovy un.groovy JVM/.NET
Dart un.dart JVM/.NET
Haskell un.hs Functional
OCaml un.ml Functional
Clojure un.clj Functional
Scheme un.scm Functional
Common Lisp un.lisp Functional
Erlang un.erl Functional
Elixir un.ex Functional
Julia un.jl Scientific
R un.r Scientific
Crystal un.cr Scientific
Fortran un.f90 Scientific
COBOL un.cob Legacy
Prolog un.pro Logic
Forth un.forth Stack
Tcl un.tcl Other
Raku un.raku Other
Objective-C un.m Other
Deno un_deno.ts Other
PowerShell un.ps1 Other
AWK un.awk Other

Features

Each implementation supports:

  • Execute code files via the unsandbox API
  • Auto-detect language from file extensions
  • Environment variables (-e KEY=VALUE)
  • Input files (-f file.txt)
  • Artifact collection (-a -o ./output)
  • Interactive sessions (session subcommand)
  • Persistent services (service subcommand)
  • Network modes (-n zerotrust or -n semitrusted)

Usage

# Execute a script
./un.py script.py

# With environment variables
./un.py -e DEBUG=1 -e NAME=World script.py

# With input files
./un.py -f data.csv -f config.json process.py

# Collect artifacts
./un.py -a -o ./output main.c

# Interactive session
./un.py session --shell python3

# Persistent service
./un.py service --name myapp --ports 8080 --bootstrap "python3 -m http.server 8080"

Testing

# Run a quick test with any implementation
./un.py test/fib.py
# Output: fib(10) = 55

# Run the full test matrix (requires API key)
./tests/run_matrix.sh

License

PUBLIC DOMAIN - NO LICENSE, NO WARRANTY

This is free public domain software for the public good of a permacomputer hosted at permacomputer.com - an always-on computer by the people, for the people. One which is durable, easy to repair, and distributed like tap water for machine learning intelligence.

The permacomputer is community-owned infrastructure optimized around four values:

TRUTH    - First principles, math & science, open source code freely distributed
FREEDOM  - Voluntary partnerships, freedom from tyranny & corporate control
HARMONY  - Minimal waste, self-renewing systems with diverse thriving connections
LOVE     - Be yourself without hurting others, cooperation through natural law

This software contributes to that vision by enabling code execution across all 42 programming languages through a unified interface, accessible to all. Code is seeds to sprout on any abandoned technology.

Learn more: permacomputer.com

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

NO WARRANTY. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.


Copyright 2025 TimeHexOn & foxhop & russell@unturf