karnel-termux 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +454 -0
- package/install.sh +272 -0
- package/karnel/bin/karnel +77 -0
- package/karnel/cli/commands/brain.sh +1553 -0
- package/karnel/cli/commands/cleanup.sh +66 -0
- package/karnel/cli/commands/doctor.sh +1528 -0
- package/karnel/cli/commands/env.sh +233 -0
- package/karnel/cli/commands/help.sh +8 -0
- package/karnel/cli/commands/ia.sh +502 -0
- package/karnel/cli/commands/init.sh +1274 -0
- package/karnel/cli/commands/install.sh +718 -0
- package/karnel/cli/commands/list.sh +399 -0
- package/karnel/cli/commands/open.sh +106 -0
- package/karnel/cli/commands/pg.sh +719 -0
- package/karnel/cli/commands/reinstall.sh +663 -0
- package/karnel/cli/commands/show.sh +90 -0
- package/karnel/cli/commands/start.sh +54 -0
- package/karnel/cli/commands/status.sh +96 -0
- package/karnel/cli/commands/uninstall.sh +668 -0
- package/karnel/cli/commands/update.sh +723 -0
- package/karnel/cli/commands/upgrade.sh +40 -0
- package/karnel/cli/commands/version.sh +3 -0
- package/karnel/cli/commands/voice.sh +230 -0
- package/karnel/cli/karnel.sh +706 -0
- package/karnel/modules/ai.sh +135 -0
- package/karnel/modules/auto.sh +114 -0
- package/karnel/modules/db.sh +132 -0
- package/karnel/modules/deploy.sh +74 -0
- package/karnel/modules/dev.sh +148 -0
- package/karnel/modules/editor.sh +115 -0
- package/karnel/modules/lang.sh +124 -0
- package/karnel/modules/npm.sh +146 -0
- package/karnel/modules/shell.sh +338 -0
- package/karnel/modules/ui.sh +139 -0
- package/karnel/modules/voice.sh +118 -0
- package/karnel/tools/ai/all.sh +209 -0
- package/karnel/tools/ai/antigravity-cli/README.md +45 -0
- package/karnel/tools/ai/antigravity-cli/bin/agy +28 -0
- package/karnel/tools/ai/antigravity-cli/helper/agy_helper.c +39 -0
- package/karnel/tools/ai/antigravity-cli/install.sh +469 -0
- package/karnel/tools/ai/claude-code/README.md +45 -0
- package/karnel/tools/ai/claude-code/bin/claude +29 -0
- package/karnel/tools/ai/claude-code/helper/claude_helper.c +42 -0
- package/karnel/tools/ai/claude-code/install.sh +278 -0
- package/karnel/tools/ai/cline/install.sh +160 -0
- package/karnel/tools/ai/codegraph/README.md +43 -0
- package/karnel/tools/ai/codegraph/bin/codegraph +5 -0
- package/karnel/tools/ai/codegraph/install.sh +160 -0
- package/karnel/tools/ai/codex/README.md +44 -0
- package/karnel/tools/ai/codex/install.sh +104 -0
- package/karnel/tools/ai/command-code/README.md +62 -0
- package/karnel/tools/ai/command-code/install.sh +136 -0
- package/karnel/tools/ai/crush/README.md +17 -0
- package/karnel/tools/ai/crush/install.sh +89 -0
- package/karnel/tools/ai/ctx7/README.md +26 -0
- package/karnel/tools/ai/ctx7/install.sh +61 -0
- package/karnel/tools/ai/engram/README.md +44 -0
- package/karnel/tools/ai/engram/install.sh +127 -0
- package/karnel/tools/ai/freebuff/README.md +52 -0
- package/karnel/tools/ai/freebuff/bin/freebuff +28 -0
- package/karnel/tools/ai/freebuff/helper/freebuff_helper.c +47 -0
- package/karnel/tools/ai/freebuff/install.sh +303 -0
- package/karnel/tools/ai/gemini-cli/README.md +46 -0
- package/karnel/tools/ai/gemini-cli/install.sh +111 -0
- package/karnel/tools/ai/gentle-ai/README.md +42 -0
- package/karnel/tools/ai/gentle-ai/install.sh +253 -0
- package/karnel/tools/ai/gentle-ai/termux-patches.go +256 -0
- package/karnel/tools/ai/gga/README.md +49 -0
- package/karnel/tools/ai/gga/install.sh +134 -0
- package/karnel/tools/ai/hermes-agent/README.md +50 -0
- package/karnel/tools/ai/hermes-agent/install.sh +120 -0
- package/karnel/tools/ai/kilocode-cli/README.md +45 -0
- package/karnel/tools/ai/kilocode-cli/bin/kilocode +21 -0
- package/karnel/tools/ai/kilocode-cli/helper/kilocode_helper.c +47 -0
- package/karnel/tools/ai/kilocode-cli/install.sh +179 -0
- package/karnel/tools/ai/kimchi-code/README.md +53 -0
- package/karnel/tools/ai/kimchi-code/install.sh +221 -0
- package/karnel/tools/ai/kimi-code/README.md +45 -0
- package/karnel/tools/ai/kimi-code/install.sh +111 -0
- package/karnel/tools/ai/kiro/README.md +17 -0
- package/karnel/tools/ai/kiro/install.sh +134 -0
- package/karnel/tools/ai/mimocode/README.md +43 -0
- package/karnel/tools/ai/mimocode/bin/mimo +28 -0
- package/karnel/tools/ai/mimocode/helper/mimocode_helper.c +47 -0
- package/karnel/tools/ai/mimocode/install.sh +287 -0
- package/karnel/tools/ai/minimax-cli/README.md +45 -0
- package/karnel/tools/ai/minimax-cli/install.sh +111 -0
- package/karnel/tools/ai/mistral-vibe/README.md +46 -0
- package/karnel/tools/ai/mistral-vibe/install.sh +119 -0
- package/karnel/tools/ai/odysseus/README.md +35 -0
- package/karnel/tools/ai/odysseus/install.sh +198 -0
- package/karnel/tools/ai/ollama/README.md +44 -0
- package/karnel/tools/ai/ollama/install.sh +78 -0
- package/karnel/tools/ai/omni-route/README.md +111 -0
- package/karnel/tools/ai/omni-route/install.sh +165 -0
- package/karnel/tools/ai/openclaude/README.md +46 -0
- package/karnel/tools/ai/openclaude/install.sh +110 -0
- package/karnel/tools/ai/openclaw/README.md +47 -0
- package/karnel/tools/ai/openclaw/install.sh +112 -0
- package/karnel/tools/ai/opencode/README.md +51 -0
- package/karnel/tools/ai/opencode/bin/opencode +28 -0
- package/karnel/tools/ai/opencode/helper/opencode_helper.c +57 -0
- package/karnel/tools/ai/opencode/install.sh +290 -0
- package/karnel/tools/ai/openspec/README.md +34 -0
- package/karnel/tools/ai/openspec/install.sh +61 -0
- package/karnel/tools/ai/pi/README.md +46 -0
- package/karnel/tools/ai/pi/install.sh +104 -0
- package/karnel/tools/ai/qwen-code/README.md +45 -0
- package/karnel/tools/ai/qwen-code/install.sh +111 -0
- package/karnel/tools/auto/all.sh +57 -0
- package/karnel/tools/auto/n8n/README.md +47 -0
- package/karnel/tools/auto/n8n/install.sh +102 -0
- package/karnel/tools/db/all.sh +61 -0
- package/karnel/tools/db/mariadb/README.md +43 -0
- package/karnel/tools/db/mariadb/install.sh +65 -0
- package/karnel/tools/db/mongodb/README.md +42 -0
- package/karnel/tools/db/mongodb/install.sh +73 -0
- package/karnel/tools/db/postgresql/README.md +45 -0
- package/karnel/tools/db/postgresql/install.sh +65 -0
- package/karnel/tools/db/redis/README.md +46 -0
- package/karnel/tools/db/redis/install.sh +64 -0
- package/karnel/tools/db/sqlite/README.md +44 -0
- package/karnel/tools/db/sqlite/install.sh +65 -0
- package/karnel/tools/deploy/all.sh +43 -0
- package/karnel/tools/deploy/netlify/install.sh +41 -0
- package/karnel/tools/deploy/railway/install.sh +109 -0
- package/karnel/tools/deploy/vercel/install.sh +43 -0
- package/karnel/tools/dev/all.sh +77 -0
- package/karnel/tools/dev/bat/README.md +44 -0
- package/karnel/tools/dev/bat/install.sh +82 -0
- package/karnel/tools/dev/bc/README.md +44 -0
- package/karnel/tools/dev/bc/install.sh +82 -0
- package/karnel/tools/dev/cloudflared/README.md +43 -0
- package/karnel/tools/dev/cloudflared/install.sh +82 -0
- package/karnel/tools/dev/curl/README.md +43 -0
- package/karnel/tools/dev/curl/install.sh +82 -0
- package/karnel/tools/dev/fzf/README.md +44 -0
- package/karnel/tools/dev/fzf/install.sh +82 -0
- package/karnel/tools/dev/gh/README.md +43 -0
- package/karnel/tools/dev/gh/install.sh +82 -0
- package/karnel/tools/dev/html2text/README.md +44 -0
- package/karnel/tools/dev/html2text/install.sh +82 -0
- package/karnel/tools/dev/imagemagick/README.md +44 -0
- package/karnel/tools/dev/imagemagick/install.sh +82 -0
- package/karnel/tools/dev/jq/README.md +44 -0
- package/karnel/tools/dev/jq/install.sh +82 -0
- package/karnel/tools/dev/lsd/README.md +44 -0
- package/karnel/tools/dev/lsd/install.sh +82 -0
- package/karnel/tools/dev/make/README.md +44 -0
- package/karnel/tools/dev/make/install.sh +82 -0
- package/karnel/tools/dev/ncurses/README.md +42 -0
- package/karnel/tools/dev/ncurses/install.sh +82 -0
- package/karnel/tools/dev/openssh/README.md +43 -0
- package/karnel/tools/dev/openssh/install.sh +75 -0
- package/karnel/tools/dev/proot/README.md +43 -0
- package/karnel/tools/dev/proot/install.sh +82 -0
- package/karnel/tools/dev/shfmt/README.md +44 -0
- package/karnel/tools/dev/shfmt/install.sh +82 -0
- package/karnel/tools/dev/tmate/README.md +44 -0
- package/karnel/tools/dev/tmate/install.sh +82 -0
- package/karnel/tools/dev/tmux/README.md +43 -0
- package/karnel/tools/dev/tmux/install.sh +75 -0
- package/karnel/tools/dev/translate/README.md +44 -0
- package/karnel/tools/dev/translate/install.sh +82 -0
- package/karnel/tools/dev/tree/README.md +44 -0
- package/karnel/tools/dev/tree/install.sh +82 -0
- package/karnel/tools/dev/udocker/README.md +44 -0
- package/karnel/tools/dev/udocker/install.sh +82 -0
- package/karnel/tools/dev/wget/README.md +44 -0
- package/karnel/tools/dev/wget/install.sh +82 -0
- package/karnel/tools/editor/all.sh +59 -0
- package/karnel/tools/editor/code-server/README.md +42 -0
- package/karnel/tools/editor/code-server/install.sh +74 -0
- package/karnel/tools/editor/neovim/README.md +43 -0
- package/karnel/tools/editor/neovim/install.sh +64 -0
- package/karnel/tools/editor/nvchad/README.md +45 -0
- package/karnel/tools/editor/nvchad/install.sh +105 -0
- package/karnel/tools/lang/all.sh +63 -0
- package/karnel/tools/lang/clang/README.md +43 -0
- package/karnel/tools/lang/clang/install.sh +79 -0
- package/karnel/tools/lang/golang/README.md +43 -0
- package/karnel/tools/lang/golang/install.sh +79 -0
- package/karnel/tools/lang/nodejs/README.md +43 -0
- package/karnel/tools/lang/nodejs/install.sh +79 -0
- package/karnel/tools/lang/perl/README.md +43 -0
- package/karnel/tools/lang/perl/install.sh +79 -0
- package/karnel/tools/lang/php/README.md +43 -0
- package/karnel/tools/lang/php/install.sh +79 -0
- package/karnel/tools/lang/python/README.md +43 -0
- package/karnel/tools/lang/python/install.sh +79 -0
- package/karnel/tools/lang/rust/README.md +43 -0
- package/karnel/tools/lang/rust/install.sh +79 -0
- package/karnel/tools/npm/all.sh +90 -0
- package/karnel/tools/npm/live-server/README.md +43 -0
- package/karnel/tools/npm/live-server/install.sh +96 -0
- package/karnel/tools/npm/localtunnel/README.md +43 -0
- package/karnel/tools/npm/localtunnel/install.sh +112 -0
- package/karnel/tools/npm/markserv/README.md +43 -0
- package/karnel/tools/npm/markserv/install.sh +95 -0
- package/karnel/tools/npm/ncu/README.md +43 -0
- package/karnel/tools/npm/ncu/install.sh +95 -0
- package/karnel/tools/npm/nestjs/README.md +43 -0
- package/karnel/tools/npm/nestjs/install.sh +95 -0
- package/karnel/tools/npm/ngrok/README.md +44 -0
- package/karnel/tools/npm/ngrok/install.sh +95 -0
- package/karnel/tools/npm/prettier/README.md +43 -0
- package/karnel/tools/npm/prettier/install.sh +95 -0
- package/karnel/tools/npm/psqlformat/README.md +43 -0
- package/karnel/tools/npm/psqlformat/install.sh +95 -0
- package/karnel/tools/npm/turbopack/README.md +8 -0
- package/karnel/tools/npm/turbopack/install.sh +42 -0
- package/karnel/tools/npm/typescript/README.md +43 -0
- package/karnel/tools/npm/typescript/install.sh +95 -0
- package/karnel/tools/npm/vercel/README.md +43 -0
- package/karnel/tools/npm/vercel/install.sh +95 -0
- package/karnel/tools/shell/all.sh +67 -0
- package/karnel/tools/shell/better-npm/README.md +43 -0
- package/karnel/tools/shell/better-npm/install.sh +85 -0
- package/karnel/tools/shell/fzf-tab/README.md +44 -0
- package/karnel/tools/shell/fzf-tab/install.sh +85 -0
- package/karnel/tools/shell/history-substring/README.md +43 -0
- package/karnel/tools/shell/history-substring/install.sh +85 -0
- package/karnel/tools/shell/powerlevel10k/README.md +43 -0
- package/karnel/tools/shell/powerlevel10k/install.sh +85 -0
- package/karnel/tools/shell/you-should-use/README.md +43 -0
- package/karnel/tools/shell/you-should-use/install.sh +85 -0
- package/karnel/tools/shell/zsh-autopair/README.md +44 -0
- package/karnel/tools/shell/zsh-autopair/install.sh +85 -0
- package/karnel/tools/shell/zsh-autosuggestions/README.md +43 -0
- package/karnel/tools/shell/zsh-autosuggestions/install.sh +85 -0
- package/karnel/tools/shell/zsh-completions/README.md +43 -0
- package/karnel/tools/shell/zsh-completions/install.sh +85 -0
- package/karnel/tools/shell/zsh-defer/README.md +43 -0
- package/karnel/tools/shell/zsh-defer/install.sh +85 -0
- package/karnel/tools/shell/zsh-syntax-highlighting/README.md +43 -0
- package/karnel/tools/shell/zsh-syntax-highlighting/install.sh +72 -0
- package/karnel/tools/ui/all.sh +61 -0
- package/karnel/tools/ui/banner/README.md +42 -0
- package/karnel/tools/ui/banner/install.sh +160 -0
- package/karnel/tools/ui/cursor/README.md +42 -0
- package/karnel/tools/ui/cursor/install.sh +58 -0
- package/karnel/tools/ui/extra-keys/README.md +43 -0
- package/karnel/tools/ui/extra-keys/install.sh +62 -0
- package/karnel/tools/ui/font/README.md +43 -0
- package/karnel/tools/ui/font/install.sh +63 -0
- package/karnel/tools/voice/all.sh +27 -0
- package/karnel/tools/voice/install.sh +10 -0
- package/karnel/tools/voice/uninstall.sh +8 -0
- package/karnel/utils/banner.sh +492 -0
- package/karnel/utils/bootstrap.sh +25 -0
- package/karnel/utils/colors.sh +33 -0
- package/karnel/utils/dialogrc +30 -0
- package/karnel/utils/env.sh +53 -0
- package/karnel/utils/log.sh +567 -0
- package/karnel/utils/version.sh +205 -0
- package/package.json +42 -0
- package/scripts/npm-install.js +60 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
LOG_FILE="$KARNEL_CACHE/install_deploy.log"
|
|
6
|
+
RAILWAY_DATA_DIR="$HOME/.local/share/karnel-data/railway"
|
|
7
|
+
|
|
8
|
+
_install_railway_manual() {
|
|
9
|
+
loading "Downloading Railway CLI for ARM64" _install_railway_manual_impl
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
_install_railway_manual_impl() {
|
|
13
|
+
mkdir -p "$RAILWAY_DATA_DIR"
|
|
14
|
+
|
|
15
|
+
local latest_version
|
|
16
|
+
latest_version=$(curl -fsSL --connect-timeout 10 "https://api.github.com/repos/railwayapp/cli/releases/latest" 2>/dev/null | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
|
17
|
+
|
|
18
|
+
if [ -z "$latest_version" ]; then
|
|
19
|
+
log_warn "Cannot fetch latest Railway version from GitHub API"
|
|
20
|
+
return 1
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
local version="${latest_version#v}"
|
|
24
|
+
|
|
25
|
+
local tarball_url="https://github.com/railwayapp/cli/releases/download/${latest_version}/railway-${version}-aarch64-linux.tar.gz"
|
|
26
|
+
local binary_name="railway"
|
|
27
|
+
|
|
28
|
+
log_info "Downloading Railway ${version} for ARM64 Linux..."
|
|
29
|
+
if ! curl -fsSL --connect-timeout 15 "$tarball_url" -o "$RAILWAY_DATA_DIR/railway.tar.gz" 2>>"$LOG_FILE"; then
|
|
30
|
+
log_warn "ARM64 binary not available. Railway CLI does not provide ARM Linux builds."
|
|
31
|
+
log_info "Install Railway on a desktop or use 'npx @railway/cli' instead."
|
|
32
|
+
return 1
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
tar -zxf "$RAILWAY_DATA_DIR/railway.tar.gz" -C "$RAILWAY_DATA_DIR" 2>>"$LOG_FILE" || {
|
|
36
|
+
rm -f "$RAILWAY_DATA_DIR/railway.tar.gz"
|
|
37
|
+
return 1
|
|
38
|
+
}
|
|
39
|
+
rm -f "$RAILWAY_DATA_DIR/railway.tar.gz"
|
|
40
|
+
|
|
41
|
+
local found_bin
|
|
42
|
+
found_bin=$(find "$RAILWAY_DATA_DIR" -name "railway" -type f 2>/dev/null | head -1)
|
|
43
|
+
if [ -z "$found_bin" ]; then
|
|
44
|
+
return 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
chmod +x "$found_bin"
|
|
48
|
+
ln -sf "$found_bin" "$PREFIX/bin/railway" 2>/dev/null
|
|
49
|
+
|
|
50
|
+
return 0
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
install_railway() {
|
|
54
|
+
if command -v railway &>/dev/null; then
|
|
55
|
+
log_info "Railway CLI is already installed"
|
|
56
|
+
return 2
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
log_info "Installing Railway CLI..."
|
|
60
|
+
|
|
61
|
+
mkdir -p "$(dirname "$LOG_FILE")" "$RAILWAY_DATA_DIR"
|
|
62
|
+
|
|
63
|
+
if npm install -g @railway/cli --legacy-peer-deps &>>"$LOG_FILE"; then
|
|
64
|
+
command -v termux-fix-shebang &>/dev/null && termux-fix-shebang "$(command -v railway 2>/dev/null)" &>/dev/null
|
|
65
|
+
log_success "Railway CLI installed via npm"
|
|
66
|
+
return 0
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
log_warn "npm install failed for @railway/cli on Termux ARM"
|
|
70
|
+
log_info "Trying manual ARM64 binary download..."
|
|
71
|
+
|
|
72
|
+
if _install_railway_manual; then
|
|
73
|
+
log_success "Railway CLI installed (ARM64 Linux binary)"
|
|
74
|
+
return 0
|
|
75
|
+
fi
|
|
76
|
+
|
|
77
|
+
log_error "Railway CLI installation failed. Railway does not provide official ARM Linux builds."
|
|
78
|
+
log_info "Workaround: use 'npx @railway/cli' instead of 'railway' command."
|
|
79
|
+
log_info "Or install Railway on a desktop/cloud machine."
|
|
80
|
+
return 1
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
uninstall_railway() {
|
|
84
|
+
log_info "Uninstalling Railway CLI..."
|
|
85
|
+
npm uninstall -g @railway/cli &>>"$LOG_FILE" 2>/dev/null || true
|
|
86
|
+
rm -f "$PREFIX/bin/railway" 2>/dev/null
|
|
87
|
+
rm -rf "$RAILWAY_DATA_DIR" 2>/dev/null
|
|
88
|
+
log_success "Railway CLI uninstalled"
|
|
89
|
+
return 0
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
update_railway() {
|
|
93
|
+
if ! command -v railway &>/dev/null; then
|
|
94
|
+
log_error "Railway CLI is not installed"
|
|
95
|
+
return 1
|
|
96
|
+
fi
|
|
97
|
+
log_info "Updating Railway CLI..."
|
|
98
|
+
npm update -g @railway/cli --legacy-peer-deps &>>"$LOG_FILE" || {
|
|
99
|
+
log_warn "npm update failed"
|
|
100
|
+
return 1
|
|
101
|
+
}
|
|
102
|
+
log_success "Railway CLI updated"
|
|
103
|
+
return 0
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
reinstall_railway() {
|
|
107
|
+
uninstall_railway
|
|
108
|
+
install_railway
|
|
109
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
VERCEL_BIN="$PREFIX/lib/node_modules/vercel/dist/vc.js"
|
|
6
|
+
|
|
7
|
+
install_vercel() {
|
|
8
|
+
if [[ -f "$VERCEL_BIN" ]]; then
|
|
9
|
+
log_info "Vercel CLI is already installed"
|
|
10
|
+
return 2
|
|
11
|
+
fi
|
|
12
|
+
log_info "Installing Vercel CLI..."
|
|
13
|
+
npm install -g vercel &>/dev/null || {
|
|
14
|
+
log_error "Failed to install Vercel CLI"
|
|
15
|
+
return 1
|
|
16
|
+
}
|
|
17
|
+
command -v termux-fix-shebang &>/dev/null && termux-fix-shebang "$(command -v vercel)" &>/dev/null
|
|
18
|
+
log_success "Vercel CLI installed"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
uninstall_vercel() {
|
|
22
|
+
log_info "Uninstalling Vercel CLI..."
|
|
23
|
+
npm uninstall -g vercel &>/dev/null || {
|
|
24
|
+
log_error "Failed to uninstall Vercel CLI"
|
|
25
|
+
return 1
|
|
26
|
+
}
|
|
27
|
+
log_success "Vercel CLI uninstalled"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
update_vercel() {
|
|
31
|
+
log_info "Updating Vercel CLI..."
|
|
32
|
+
npm update -g vercel &>/dev/null || {
|
|
33
|
+
log_error "Failed to update Vercel CLI"
|
|
34
|
+
return 1
|
|
35
|
+
}
|
|
36
|
+
command -v termux-fix-shebang &>/dev/null && termux-fix-shebang "$(command -v vercel)" &>/dev/null
|
|
37
|
+
log_success "Vercel CLI updated"
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
reinstall_vercel() {
|
|
41
|
+
uninstall_vercel
|
|
42
|
+
install_vercel
|
|
43
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
LOG_FILE="$KARNEL_CACHE/install_dev.log"
|
|
6
|
+
|
|
7
|
+
TOOLS_PACKAGES=(
|
|
8
|
+
"gh"
|
|
9
|
+
"wget"
|
|
10
|
+
"curl"
|
|
11
|
+
"lsd"
|
|
12
|
+
"bat"
|
|
13
|
+
"proot"
|
|
14
|
+
"ncurses"
|
|
15
|
+
"tmate"
|
|
16
|
+
"openssh"
|
|
17
|
+
"tmux"
|
|
18
|
+
"cloudflared"
|
|
19
|
+
"translate"
|
|
20
|
+
"html2text"
|
|
21
|
+
"jq"
|
|
22
|
+
"bc"
|
|
23
|
+
"tree"
|
|
24
|
+
"fzf"
|
|
25
|
+
"imagemagick"
|
|
26
|
+
"shfmt"
|
|
27
|
+
"make"
|
|
28
|
+
"udocker"
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
for _tool in "${TOOLS_PACKAGES[@]}"; do
|
|
32
|
+
source "$(dirname "$BASH_SOURCE")/$_tool/install.sh"
|
|
33
|
+
done
|
|
34
|
+
unset _tool
|
|
35
|
+
|
|
36
|
+
_batch_dev() {
|
|
37
|
+
local action="$1"
|
|
38
|
+
local action_past="$2"
|
|
39
|
+
local count_var="$3"
|
|
40
|
+
local count=0
|
|
41
|
+
local failed=0
|
|
42
|
+
local total=${#TOOLS_PACKAGES[@]}
|
|
43
|
+
local current=0
|
|
44
|
+
local func_name
|
|
45
|
+
|
|
46
|
+
progress_start "$total" "${action_past}ing dev tools..."
|
|
47
|
+
|
|
48
|
+
for tool in "${TOOLS_PACKAGES[@]}"; do
|
|
49
|
+
func_name="${action}_${tool//-/_}"
|
|
50
|
+
if declare -f "$func_name" &>/dev/null; then
|
|
51
|
+
loading "${action_past^}ing ${tool}" "$func_name"
|
|
52
|
+
case $? in 0) ((count++));; 1) ((failed++));; esac
|
|
53
|
+
fi
|
|
54
|
+
((current++))
|
|
55
|
+
progress_update "$current" "$total"
|
|
56
|
+
done
|
|
57
|
+
|
|
58
|
+
progress_done "$total"
|
|
59
|
+
eval "$count_var=$count"
|
|
60
|
+
return $failed
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
install_all_dev() {
|
|
64
|
+
_batch_dev "install" "install" "installed_count"
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
uninstall_all_dev() {
|
|
68
|
+
_batch_dev "uninstall" "uninstall" "uninstalled_count"
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
update_all_dev() {
|
|
72
|
+
_batch_dev "update" "update" "updated_count"
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
reinstall_all_dev() {
|
|
76
|
+
_batch_dev "reinstall" "reinstall" "reinstalled_count"
|
|
77
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Bat
|
|
2
|
+
|
|
3
|
+
Modern cat replacement with syntax highlighting
|
|
4
|
+
|
|
5
|
+
**Package:** bat
|
|
6
|
+
**Author:** israel marques
|
|
7
|
+
**Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
|
|
8
|
+
**Official:** https://github.com/sharkdp/bat
|
|
9
|
+
**Type:** Development tool (pkg)
|
|
10
|
+
**License:** Apache 2.0 / MIT
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
|
|
14
|
+
Bat is a modern replacement for the `cat` command written in Rust. It provides syntax highlighting for over 200 languages, Git change integration, automatic paging, and line numbers. Used by `karnel show` for colorized documentation output.
|
|
15
|
+
|
|
16
|
+
## Dependencies
|
|
17
|
+
|
|
18
|
+
- Installed via pkg
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
karnel install dev --bat
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Uninstall
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
karnel uninstall dev --bat
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Update
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
karnel update dev --bat
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Notes
|
|
39
|
+
|
|
40
|
+
- Command: `bat`
|
|
41
|
+
- Syntax highlighting for 200+ languages
|
|
42
|
+
- Git change markers in output
|
|
43
|
+
- Used by `karnel show` for documentation display
|
|
44
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
LOG_FILE="$KARNEL_CACHE/install_dev.log"
|
|
6
|
+
|
|
7
|
+
_install_bat_pkg() {
|
|
8
|
+
loading "Installing Bat" _install_bat_pkg_impl
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
_install_bat_pkg_impl() {
|
|
12
|
+
if ! pkg install bat -y &>>"$LOG_FILE"; then
|
|
13
|
+
log_error "Failed to install Bat"
|
|
14
|
+
return 1
|
|
15
|
+
fi
|
|
16
|
+
return 0
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_uninstall_bat_pkg() {
|
|
20
|
+
loading "Uninstalling Bat" _uninstall_bat_pkg_impl
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
_uninstall_bat_pkg_impl() {
|
|
24
|
+
if ! pkg uninstall bat -y &>>"$LOG_FILE"; then
|
|
25
|
+
log_error "Failed to uninstall Bat"
|
|
26
|
+
return 1
|
|
27
|
+
fi
|
|
28
|
+
return 0
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_update_bat_pkg() {
|
|
32
|
+
loading "Updating Bat" _update_bat_pkg_impl
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
_update_bat_pkg_impl() {
|
|
36
|
+
if ! pkg upgrade bat -y &>>"$LOG_FILE"; then
|
|
37
|
+
log_error "Failed to update Bat"
|
|
38
|
+
return 1
|
|
39
|
+
fi
|
|
40
|
+
return 0
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
install_bat() {
|
|
44
|
+
if command -v bat &>/dev/null; then
|
|
45
|
+
log_info "Bat is already installed"
|
|
46
|
+
return 2
|
|
47
|
+
fi
|
|
48
|
+
log_info "Installing Bat..."
|
|
49
|
+
|
|
50
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
51
|
+
|
|
52
|
+
_install_bat_pkg || return 1
|
|
53
|
+
log_success "Bat installed"
|
|
54
|
+
return 0
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
uninstall_bat() {
|
|
58
|
+
if ! command -v bat &>/dev/null; then
|
|
59
|
+
log_info "Bat is not installed"
|
|
60
|
+
return 2
|
|
61
|
+
fi
|
|
62
|
+
log_info "Uninstalling Bat..."
|
|
63
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
64
|
+
|
|
65
|
+
_uninstall_bat_pkg || return 1
|
|
66
|
+
log_success "Bat uninstalled"
|
|
67
|
+
return 0
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
update_bat() {
|
|
71
|
+
log_info "Updating Bat..."
|
|
72
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
73
|
+
|
|
74
|
+
_update_bat_pkg || return 1
|
|
75
|
+
log_success "Bat updated"
|
|
76
|
+
return 0
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
reinstall_bat() {
|
|
80
|
+
uninstall_bat
|
|
81
|
+
install_bat
|
|
82
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# bc
|
|
2
|
+
|
|
3
|
+
Arbitrary precision calculator language
|
|
4
|
+
|
|
5
|
+
**Package:** bc
|
|
6
|
+
**Author:** israel marques
|
|
7
|
+
**Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
|
|
8
|
+
**Official:** https://www.gnu.org/software/bc
|
|
9
|
+
**Type:** Utility tool (pkg)
|
|
10
|
+
**License:** GPL-3.0
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
|
|
14
|
+
bc is an arbitrary precision calculator language that supports interactive execution of mathematical statements. It can handle numbers of any length and is useful for scripting, mathematical operations, and number base conversions.
|
|
15
|
+
|
|
16
|
+
## Dependencies
|
|
17
|
+
|
|
18
|
+
- Installed via pkg
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
karnel install dev --bc
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Uninstall
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
karnel uninstall dev --bc
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Update
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
karnel update dev --bc
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Notes
|
|
39
|
+
|
|
40
|
+
- Command: `bc`
|
|
41
|
+
- Supports arbitrary precision arithmetic
|
|
42
|
+
- Can be used in scripts for calculations
|
|
43
|
+
- Supports base conversions
|
|
44
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
LOG_FILE="$KARNEL_CACHE/install_dev.log"
|
|
6
|
+
|
|
7
|
+
_install_bc_pkg() {
|
|
8
|
+
loading "Installing bc" _install_bc_pkg_impl
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
_install_bc_pkg_impl() {
|
|
12
|
+
if ! pkg install bc -y &>>"$LOG_FILE"; then
|
|
13
|
+
log_error "Failed to install bc"
|
|
14
|
+
return 1
|
|
15
|
+
fi
|
|
16
|
+
return 0
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_uninstall_bc_pkg() {
|
|
20
|
+
loading "Uninstalling bc" _uninstall_bc_pkg_impl
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
_uninstall_bc_pkg_impl() {
|
|
24
|
+
if ! pkg uninstall bc -y &>>"$LOG_FILE"; then
|
|
25
|
+
log_error "Failed to uninstall bc"
|
|
26
|
+
return 1
|
|
27
|
+
fi
|
|
28
|
+
return 0
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_update_bc_pkg() {
|
|
32
|
+
loading "Updating bc" _update_bc_pkg_impl
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
_update_bc_pkg_impl() {
|
|
36
|
+
if ! pkg upgrade bc -y &>>"$LOG_FILE"; then
|
|
37
|
+
log_error "Failed to update bc"
|
|
38
|
+
return 1
|
|
39
|
+
fi
|
|
40
|
+
return 0
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
install_bc() {
|
|
44
|
+
if command -v bc &>/dev/null; then
|
|
45
|
+
log_info "bc is already installed"
|
|
46
|
+
return 2
|
|
47
|
+
fi
|
|
48
|
+
log_info "Installing bc..."
|
|
49
|
+
|
|
50
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
51
|
+
|
|
52
|
+
_install_bc_pkg || return 1
|
|
53
|
+
log_success "bc installed"
|
|
54
|
+
return 0
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
uninstall_bc() {
|
|
58
|
+
if ! command -v bc &>/dev/null; then
|
|
59
|
+
log_info "bc is not installed"
|
|
60
|
+
return 2
|
|
61
|
+
fi
|
|
62
|
+
log_info "Uninstalling bc..."
|
|
63
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
64
|
+
|
|
65
|
+
_uninstall_bc_pkg || return 1
|
|
66
|
+
log_success "bc uninstalled"
|
|
67
|
+
return 0
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
update_bc() {
|
|
71
|
+
log_info "Updating bc..."
|
|
72
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
73
|
+
|
|
74
|
+
_update_bc_pkg || return 1
|
|
75
|
+
log_success "bc updated"
|
|
76
|
+
return 0
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
reinstall_bc() {
|
|
80
|
+
uninstall_bc
|
|
81
|
+
install_bc
|
|
82
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Cloudflared
|
|
2
|
+
|
|
3
|
+
Cloudflare Tunnel client for secure connections
|
|
4
|
+
|
|
5
|
+
**Package:** cloudflared
|
|
6
|
+
**Author:** israel marques
|
|
7
|
+
**Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
|
|
8
|
+
**Official:** https://developers.cloudflare.com/cloudflare-one/connections/connect-networks
|
|
9
|
+
**Type:** Networking tool (pkg)
|
|
10
|
+
**License:** Apache 2.0 / Cloudflare License
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
|
|
14
|
+
Cloudflared creates secure tunnels from your local server to Cloudflare's edge network. It exposes local services to the internet through Cloudflare without opening firewall ports, providing DDoS protection and SSL/TLS encryption.
|
|
15
|
+
|
|
16
|
+
## Dependencies
|
|
17
|
+
|
|
18
|
+
- Installed via pkg
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
karnel install dev --cloudflared
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Uninstall
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
karnel uninstall dev --cloudflared
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Update
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
karnel update dev --cloudflared
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Notes
|
|
39
|
+
|
|
40
|
+
- Command: `cloudflared`
|
|
41
|
+
- Requires Cloudflare account for tunnel setup
|
|
42
|
+
- Supports load balancing and failover
|
|
43
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
LOG_FILE="$KARNEL_CACHE/install_dev.log"
|
|
6
|
+
|
|
7
|
+
_install_cloudflared_pkg() {
|
|
8
|
+
loading "Installing Cloudflared" _install_cloudflared_pkg_impl
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
_install_cloudflared_pkg_impl() {
|
|
12
|
+
if ! pkg install cloudflared -y &>>"$LOG_FILE"; then
|
|
13
|
+
log_error "Failed to install Cloudflared"
|
|
14
|
+
return 1
|
|
15
|
+
fi
|
|
16
|
+
return 0
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_uninstall_cloudflared_pkg() {
|
|
20
|
+
loading "Uninstalling Cloudflared" _uninstall_cloudflared_pkg_impl
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
_uninstall_cloudflared_pkg_impl() {
|
|
24
|
+
if ! pkg uninstall cloudflared -y &>>"$LOG_FILE"; then
|
|
25
|
+
log_error "Failed to uninstall Cloudflared"
|
|
26
|
+
return 1
|
|
27
|
+
fi
|
|
28
|
+
return 0
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_update_cloudflared_pkg() {
|
|
32
|
+
loading "Updating Cloudflared" _update_cloudflared_pkg_impl
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
_update_cloudflared_pkg_impl() {
|
|
36
|
+
if ! pkg upgrade cloudflared -y &>>"$LOG_FILE"; then
|
|
37
|
+
log_error "Failed to update Cloudflared"
|
|
38
|
+
return 1
|
|
39
|
+
fi
|
|
40
|
+
return 0
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
install_cloudflared() {
|
|
44
|
+
if command -v cloudflared &>/dev/null; then
|
|
45
|
+
log_info "Cloudflared is already installed"
|
|
46
|
+
return 2
|
|
47
|
+
fi
|
|
48
|
+
log_info "Installing Cloudflared..."
|
|
49
|
+
|
|
50
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
51
|
+
|
|
52
|
+
_install_cloudflared_pkg || return 1
|
|
53
|
+
log_success "Cloudflared installed"
|
|
54
|
+
return 0
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
uninstall_cloudflared() {
|
|
58
|
+
if ! command -v cloudflared &>/dev/null; then
|
|
59
|
+
log_info "Cloudflared is not installed"
|
|
60
|
+
return 2
|
|
61
|
+
fi
|
|
62
|
+
log_info "Uninstalling Cloudflared..."
|
|
63
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
64
|
+
|
|
65
|
+
_uninstall_cloudflared_pkg || return 1
|
|
66
|
+
log_success "Cloudflared uninstalled"
|
|
67
|
+
return 0
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
update_cloudflared() {
|
|
71
|
+
log_info "Updating Cloudflared..."
|
|
72
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
73
|
+
|
|
74
|
+
_update_cloudflared_pkg || return 1
|
|
75
|
+
log_success "Cloudflared updated"
|
|
76
|
+
return 0
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
reinstall_cloudflared() {
|
|
80
|
+
uninstall_cloudflared
|
|
81
|
+
install_cloudflared
|
|
82
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Curl
|
|
2
|
+
|
|
3
|
+
Command-line tool for transferring data with URLs
|
|
4
|
+
|
|
5
|
+
**Package:** curl
|
|
6
|
+
**Author:** israel marques
|
|
7
|
+
**Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
|
|
8
|
+
**Official:** https://curl.se
|
|
9
|
+
**Type:** Development tool (pkg)
|
|
10
|
+
**License:** curl License (MIT-like)
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
|
|
14
|
+
curl is a command-line tool and library for transferring data with URLs. It supports a wide range of protocols including HTTP, HTTPS, FTP, SFTP, SCP, and many more. It is the Swiss Army knife of internet data transfer.
|
|
15
|
+
|
|
16
|
+
## Dependencies
|
|
17
|
+
|
|
18
|
+
- Installed via pkg
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
karnel install dev --curl
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Uninstall
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
karnel uninstall dev --curl
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Update
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
karnel update dev --curl
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Notes
|
|
39
|
+
|
|
40
|
+
- Command: `curl`
|
|
41
|
+
- Supports dozens of protocols
|
|
42
|
+
- Used extensively by other modules for downloads
|
|
43
|
+
|