Blockchain node management scripts and cpinodes CLI tool.
See STRUCTURE.md for detailed project organization.
Scripts-2.0/
├── cpinodes-source/ # Go source code (separate private repo)
├── Arcium/ # Arcium node scripts
├── Aztec/ # Aztec node scripts
├── Stable/ # Stable node scripts
├── Tashi/ # Tashi node scripts
├── Other/ # Utility scripts
├── system-commands.json # System diagnostic commands
└── cpinodes # Compiled binary
# Download binary
wget https://github.com/CPITMschool/Scripts/releases/latest/download/cpinodes
chmod +x cpinodes
# Run
./cpinodesnodes- View and manage blockchain nodessystem- System diagnostic commands (ports, disk, processes, memory, etc.)other- Utility scripts (Docker, Rust, UFW, Grafana, server status)<node_name>- Enter node context (e.g.,arcium,aztec)help- Show helpexit- Exit program
./cpinodes
>>> arcium # Enter Arcium context
arcium >>> install # Install Arcium node
arcium >>> logs # View logs
arcium >>> status # Check status
arcium >>> back # Return to main menuAll configurations are stored in node folders and loaded from GitHub:
- Node configs: Each node folder has
info.jsonwith requirements - System commands:
system-commands.jsonin root - Other scripts:
Other/info.jsonwith script list
- Create folder:
NewNode/ - Add
info.json:
{
"name": "NewNode",
"cpu": "4 CPU",
"ram": "8 GB RAM",
"disk": "500 GB Storage",
"os": "Ubuntu 22.04"
}- Add scripts:
Install-NewNode.sh,Delete-NewNode.sh, etc. - Push to GitHub - cpinodes will auto-detect it!
- Add script to
Other/folder - Update
Other/info.json:
{
"name": "script-name",
"description": "Script description",
"file": "script_file.sh"
}- Push to GitHub
- All scripts fetched via HTTPS from GitHub
- Script validation (shebang check, dangerous command detection)
- Automatic line ending conversion (CRLF → LF)
- Size limits (1MB per script)
- Temp file cleanup
Logs stored in ~/.cpinodes/logs/:
- Command execution history
- Script output
- Errors and warnings
Scripts are loaded from: https://github.com/CPITMschool/Scripts
No additional configuration needed - just run the binary.
Set GitHub token as environment variable:
# Create GitHub Personal Access Token:
# 1. Go to GitHub Settings → Developer settings → Personal access tokens → Tokens (classic)
# 2. Generate new token with 'repo' scope
# 3. Copy the token
# Set token
export GITHUB_TOKEN="your_github_token_here"
# Run cpinodes
./cpinodesPermanent setup (add to ~/.bashrc or ~/.zshrc):
echo 'export GITHUB_TOKEN="your_github_token_here"' >> ~/.bashrc
source ~/.bashrcexport CPINODES_LOCAL_PATH="/path/to/Scripts-2.0"
./cpinodes- STRUCTURE.md - Project structure details
- cpinodes-source/BUILD.md - Build instructions (separate repo)
- Fork the repository
- Create your feature branch
- Add/modify scripts in appropriate folders
- Update
info.jsonfiles - Submit a pull request
Private repository - all rights reserved.
### Використання build скрипту
```bash
# Збірка з обфускацією та компресією
./scripts/build.sh
Запустіть cpinodes для відображення інтерактивного меню:
cpinodeshelp- Показати довідкуinstall <node>- Встановити нодуdelete <node>- Видалити нодуupdate <node>- Оновити нодуlogs <node>- Показати логи нодиnodes- Показати список доступних нодhardware- Показати характеристики сервераclear- Очистити екранabout- Інформація про програмуexit- Вийти з програми
# Встановити Arcium ноду
>>> install Arcium
# Переглянути логи Aztec ноди
>>> logs Aztec
# Показати всі доступні ноди
>>> nodescpinodes/
├── cmd/cpinodes/ # Entry point
├── internal/
│ ├── cli/ # CLI interface layer
│ ├── config/ # Configuration layer
│ ├── executor/ # Execution layer
│ ├── logger/ # Logging layer
│ └── commands/ # Command handlers
├── pkg/version/ # Version info
├── testdata/ # Test data
└── scripts/ # Build scripts
# Всі тести
go test ./...
# З покриттям
go test -cover ./...
# Property-based тести
go test -v ./... -run Property- Додайте ноду в
nodes.jsonна GitHub - Створіть відповідні скрипти:
Install-NodeName.sh,Delete-NodeName.sh,Update-NodeName.sh,Logs-NodeName.sh - Нода автоматично з'явиться в меню після перезапуску
- Go 1.21+
- Linux (Ubuntu 22.04 LTS рекомендовано)
- curl, bash, chmod (стандартні утиліти)
MIT License
cpinodes team