neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Cloudnan은 클라이언트 사이트 뒤 서버를 자체 클라우드 계정이나 리눅스 서버에서 운영하며 AI 변경까지 모두 되돌릴 수 있습니다
Cloudnan runs the servers behind your clients' sites, in your own cloud account or on any Linux server, with an undo for every change, even the AI's.
개발 도구Go · ShellGitHub @cloudnan-tech온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Secure agent for remote server management. Zero-trust mTLS authentication with automatic certificate renewal.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A lightweight agent that runs on managed servers and connects to the Cloudnan control plane. The agent establishes an outbound gRPC connection, so no inbound ports need to be opened on the managed server.
The agent dials out to the control plane on port 9443 (gRPC) and maintains a persistent bidirectional stream. The control plane pushes commands through this stream; the agent executes them and streams back the results. Authentication uses dual layers: an mTLS client certificate at the transport level and a Bearer token in every gRPC call's metadata.
On first run with --panel, the agent performs automatic PKI enrollment:
/etc/cloudnan/pki//etc/cloudnan/agent.yamlSubsequent restarts only need --config and --panel (for the gRPC address refresh). The token never appears on the command line — it is stored in the config file with mode 600.
Use the install script. It downloads the binary, writes the agent config with mode 600, creates a systemd service, and starts the agent.
curl -sSL https://github.com/cloudnan-tech/cloudnan-agent/releases/latest/download/install.sh \
| sudo bash -s -- --token TOKEN --id AGENT_ID --panel https://panel.example.com
Options
| Flag | Description |
|---|---|
--token | Authentication token issued by the panel when adding a server |
--id | Agent ID assigned by the panel |
--panel | Panel base URL (e.g. https://panel.example.com) |
--download-url | Override binary download base URL (default: GitHub Releases) |
--upgrade | Upgrade an existing installation in place |
--uninstall | Remove the agent and all its files |
Useful commands after installation
systemctl status cloudnan-agent
journalctl -u cloudnan-agent -f
systemctl restart cloudnan-agent
If the control plane is behind a Cloudflare Tunnel (port 443), the agent automatically detects tls_mode=system from the panel config response and switches to system CA verification instead of mTLS. No manual configuration is needed.
The config file lives at /etc/cloudnan/agent.yaml (mode 600, root only). The install script creates it automatically. For manual setup, copy config.example.yaml:
cp config.example.yaml /etc/cloudnan/agent.yaml
chmod 600 /etc/cloudnan/agent.yaml
Key fields
| Field | Default | Description |
|---|---|---|
agent.id | auto-generated | Unique agent identifier |
agent.token | Bearer token for gRPC authentication | |
control_plane.address | localhost:9443 | gRPC endpoint of the control plane |
tls.enabled | false | Enable TLS (set to true in production) |
tls.use_system_certs | false | Use system CAs instead of custom CA (Cloudflare Tunnel mode) |
tls.insecure_skip_verify | false | Skip TLS verification — do not use in production |
metrics.interval | 10s | How often to collect and stream system metrics |
executor.default_timeout | 300s | Default command execution timeout |
executor.blocked_commands | see example | Command prefixes that are always rejected |
Requirements: Go 1.21+, protoc with protoc-gen-go and protoc-gen-go-grpc (only needed if modifying .proto files)
# Build for current platform
make build
# Build for Linux (amd64 + arm64)
make build-linux
# Run tests
make test
# Regenerate protobuf code (after modifying proto/agent/agent.proto)
make proto
Binaries are placed in bin/.
The agent handles the following command types dispatched by the control plane:
| Type | Description |
|---|---|
EXEC | Run arbitrary shell commands |
INSTALL | Install packages via apt-get, yum, dnf, or apk |
SERVICE | Manage systemd services (start, stop, restart, status) |
DOCKER | Execute Docker CLI commands |
FILE | Read, write, delete, list, copy files on the server filesystem |
SSH | Sync authorized keys, update sshd_config, restart sshd |
CHECK_MODULE | Detect installed software by binary path or Docker container |
RECONNECT | Trigger a graceful reconnect for zero-downtime control plane deploys |
Metrics streamed every 10 seconds (configurable): CPU usage (overall and per-core, steal, iowait), memory (used, cached, buffers, swap), disk (per partition with inodes), disk I/O deltas, network (bytes, errors, drops), load averages, uptime, top 30 processes, systemd service states, Docker container states, UFW firewall rules.
/etc/cloudnan/agent.yaml (mode 600) and never passed as a command-line argument./etc/cloudnan/pki/ (mode 700 directory, 600 files).rm -rf /, mkfs, fork bombs, disk wipes) is enforced in the executor.Apache 2.0