📈 GH Trending Explorer 🎲 Surprise me

← all repos

akawashiro / procinsh

git clone https://github.com/akawashiro/procinsh.git v0.1.18 · 3d ago

Explore Linux processes in 3D. A real-time process inspector powered by Rust, eBPF and Three.js.

+2
stars, 24h · #10,688
+~9
stars, 7 days · #12,618
+~40
stars, 30 days · #15,141
118
★ total · +8% this week
10
forks · 18 open issues

Star history (as recorded here)

2026-10-20 · 114 ★ 2026-10-23 · 118 ★
LanguageTypeScript
LicenseMIT
Created2026-09-21 (1mo ago)
Last pushtoday
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
# ProcInSh - Process in the Shell
ProcInSh (pronounced "proc-in-shell") is a web-based process inspector for Linux.
Like Ghost in the Shell, you can wander through process space with your ghost.
See also a blog post.
Try the interactive demo.
Join our Discord server for questions and discussion.
## Screenshot
## Usage
Requires Linux x86-64. Both installation methods compile native code and require
Rust, a C compiler, clang with the BPF backend, bpftool, pkg-config, libelf and
zlib development files, and BTF information at `/sys/kernel/btf/vmlinux`.
Support on WSL2 is very limited, I recommend building procinsh from source rather than installing it from crates.io.
### Install from crates.io
Install procinsh from crates.io and run it:
(Sorry, we assume you are using Ubuntu, please reinterpret not so)
 [code] 
Then run and open http://127.0.0.1:9090 in your browser. To allow remote
access, use `--allow-non-loopback`, but be careful: this exposes process memory
and environment variables without any authentication.
 [code] 
If you don't want to use `sudo`, please use setcap instead of it.
 [code] 
`CAP_SYS_ADMIN` enables UNIX socket peer diagnostics in other network namespaces.
Without it, ProcInSh keeps available socket information and reports missing
peer diagnostics as warnings; an unknown peer does not mean an unconnected socket.
### Self build on Linux
#### Ubuntu
Also requires Node.js 22.12 or newer with npm and Rust via rustup. The Rust version
and components are pinned in `rust-toolchain.toml`; rustup installs them
automatically when needed.
Clone this repository and run the following from its root:
 [code] 
Then run:
 [code] 
#### NixOS
With Rust installed via rustup, create `shell.nix` in the repository root:
 [code] 
Build the web assets and binary inside the Nix shell:
 [code] 
The binary links to libraries such as `libelf` in `/nix/store`. Create a GC root
to keep these dependencies from being removed by `nix-collect-garbage`:
 [code] 
Keep `.nix-gcroot` while using the binary. Then run:
 [code] 
### Building on WSL2 (Ubuntu)
Ubuntu's `bpftool` wrapper may fail with `bpftool not found for kernel ...`
because the WSL2 kernel version differs from the Ubuntu tools package. Set
`BPFTOOL` to the packaged executable directly, bypassing the wrapper:
 [code] 
Then run:
 [code] 
_Now, where shall I go? The process space is vast._