karnel-termux 4.17.3 → 4.17.5
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/karnel/RELEASE_COMMIT +1 -1
- package/karnel/tools/ai/kilocode-cli/install.sh +10 -7
- package/karnel/tools/deploy/railway/install.sh +10 -0
- package/karnel/tools/editor/code-server/install.sh +4 -1
- package/karnel/tools/editor/neovim/install.sh +4 -1
- package/karnel/tools/lang/bun/install.sh +8 -0
- package/karnel/tools/security/dnsrecon/install.sh +2 -2
- package/karnel/tools/security/metasploit/install.sh +3 -3
- package/karnel/tools/security/theharvester/install.sh +2 -2
- package/package.json +1 -1
package/karnel/RELEASE_COMMIT
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2e76f74b21de6f9a01911b2c06b96ac09d12359d
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import "@/utils/log"
|
|
4
4
|
import "@/utils/version"
|
|
5
5
|
import "@/utils/colors"
|
|
6
|
+
import "@/utils/install"
|
|
6
7
|
|
|
7
8
|
LOG_FILE="$KARNEL_CACHE/install_ai.log"
|
|
8
9
|
KILOCODE_DATA_DIR="${KARNEL_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/karnel-data}/kilocode"
|
|
@@ -120,13 +121,15 @@ _download_kilocode_binary_impl() {
|
|
|
120
121
|
return 1
|
|
121
122
|
fi
|
|
122
123
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
if declare -F github_release_asset_sha256 >/dev/null; then
|
|
125
|
+
local expected actual
|
|
126
|
+
expected=$(github_release_asset_sha256 Kilo-Org/kilocode "$latest_version" "$tarball") || expected=""
|
|
127
|
+
actual=$(sha256sum "$staging_dir/$tarball" 2>/dev/null | awk '{print $1}')
|
|
128
|
+
if [[ ! "$expected" =~ ^[0-9a-f]{64}$ || "$actual" != "$expected" ]]; then
|
|
129
|
+
rm -rf "$staging_dir"
|
|
130
|
+
log_error "Kilo Code archive failed official SHA-256 validation"
|
|
131
|
+
return 1
|
|
132
|
+
fi
|
|
130
133
|
fi
|
|
131
134
|
|
|
132
135
|
if ! tar -zxf "$staging_dir/$tarball" -C "$staging_dir" &>>"$LOG_FILE"; then
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
3
|
import "@/utils/log"
|
|
4
|
+
import "@/utils/install"
|
|
4
5
|
import "@/utils/version"
|
|
5
6
|
|
|
6
7
|
LOG_FILE="$KARNEL_CACHE/install_deploy.log"
|
|
@@ -110,6 +111,15 @@ _install_railway_manual_impl() {
|
|
|
110
111
|
return 2
|
|
111
112
|
fi
|
|
112
113
|
|
|
114
|
+
local expected
|
|
115
|
+
expected=$(github_release_asset_sha256 railwayapp/cli "$latest_version" "railway-${version}-aarch64-linux.tar.gz") || expected=""
|
|
116
|
+
if [[ "$expected" =~ ^[0-9a-f]{64}$ ]]; then
|
|
117
|
+
verify_sha256 "$RAILWAY_DATA_DIR/railway.tar.gz" "$expected" || {
|
|
118
|
+
rm -f "$RAILWAY_DATA_DIR/railway.tar.gz"
|
|
119
|
+
return 1
|
|
120
|
+
}
|
|
121
|
+
fi
|
|
122
|
+
|
|
113
123
|
tar -zxf "$RAILWAY_DATA_DIR/railway.tar.gz" -C "$RAILWAY_DATA_DIR" 2>>"$LOG_FILE" || {
|
|
114
124
|
rm -f "$RAILWAY_DATA_DIR/railway.tar.gz"
|
|
115
125
|
return 1
|
|
@@ -73,7 +73,10 @@ update_code_server() {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
_update_code_server_impl() {
|
|
76
|
-
pkg upgrade -y code-server
|
|
76
|
+
if ! pkg upgrade -y code-server &>>"$LOG_FILE"; then
|
|
77
|
+
log_error "Falha ao atualizar code-server"
|
|
78
|
+
return 1
|
|
79
|
+
fi
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
reinstall_code_server() {
|
|
@@ -51,7 +51,10 @@ _update_neovim_impl() {
|
|
|
51
51
|
|
|
52
52
|
_do_neovim_update() {
|
|
53
53
|
mkdir -p "$(dirname "$LOG_FILE")"
|
|
54
|
-
yes | pkg upgrade neovim -y &>>"$LOG_FILE"
|
|
54
|
+
if ! yes | pkg upgrade neovim -y &>>"$LOG_FILE"; then
|
|
55
|
+
log_error "Falha ao atualizar Neovim"
|
|
56
|
+
return 1
|
|
57
|
+
fi
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
update_neovim() {
|
|
@@ -141,6 +141,14 @@ _download_bun_binary_native_impl() {
|
|
|
141
141
|
log_error "Failed to download Bun binary"
|
|
142
142
|
return 1
|
|
143
143
|
}
|
|
144
|
+
if declare -F github_release_asset_sha256 >/dev/null; then
|
|
145
|
+
expected=$(github_release_asset_sha256 "$BUN_REPO" "bun-v$version" "$zip_name") || expected=""
|
|
146
|
+
if [[ "$expected" =~ ^[0-9a-f]{64}$ ]]; then
|
|
147
|
+
verify_sha256 "$staging_dir/$zip_name" "$expected" || { rm -rf "$staging_dir"; return 1; }
|
|
148
|
+
else
|
|
149
|
+
log_warn "No published SHA-256 for Bun native; skipping integrity verification"
|
|
150
|
+
fi
|
|
151
|
+
fi
|
|
144
152
|
if ! unzip -o "$staging_dir/$zip_name" -d "$staging_dir" &>>"$LOG_FILE"; then
|
|
145
153
|
rm -rf "$staging_dir"
|
|
146
154
|
log_error "Failed to extract Bun binary"
|
|
@@ -19,7 +19,7 @@ install_dnsrecon() {
|
|
|
19
19
|
return 1
|
|
20
20
|
}
|
|
21
21
|
if install_pinned_git_repo "$_DNSRECON_REPO" "$_DNSRECON_COMMIT" "$_DNSRECON_DIR"; then
|
|
22
|
-
pip install -r "$_DNSRECON_DIR/requirements.txt" 2
|
|
22
|
+
pip install -r "$_DNSRECON_DIR/requirements.txt" 2>>"$LOG_FILE" || return 1
|
|
23
23
|
chmod +x "$_DNSRECON_DIR/dnsrecon.py"
|
|
24
24
|
ln -sf "$_DNSRECON_DIR/dnsrecon.py" "$PREFIX/bin/dnsrecon"
|
|
25
25
|
: > "$_DNSRECON_DIR/.karnel-wrapper"
|
|
@@ -45,7 +45,7 @@ update_dnsrecon() {
|
|
|
45
45
|
{ [ -f "$_DNSRECON_DIR/.karnel-wrapper" ] && _adopt_pinned_git_repo "$_DNSRECON_DIR" "$_DNSRECON_REPO"; } || return 1
|
|
46
46
|
install_pinned_git_repo "$_DNSRECON_REPO" "$_DNSRECON_COMMIT" "$_DNSRECON_DIR" || return 1
|
|
47
47
|
: > "$_DNSRECON_DIR/.karnel-wrapper"
|
|
48
|
-
pip install -r "$_DNSRECON_DIR/requirements.txt" 2
|
|
48
|
+
pip install -r "$_DNSRECON_DIR/requirements.txt" 2>>"$LOG_FILE" || return 1
|
|
49
49
|
log_success "dnsrecon atualizado"
|
|
50
50
|
return 0
|
|
51
51
|
fi
|
|
@@ -25,8 +25,8 @@ install_metasploit() {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
cd "$METASPLOIT_DIR"
|
|
28
|
-
gem install bundler 2
|
|
29
|
-
bundle install --jobs 4 2
|
|
28
|
+
gem install bundler 2>>"$LOG_FILE" || return 1
|
|
29
|
+
bundle install --jobs 4 2>>"$LOG_FILE" || return 1
|
|
30
30
|
|
|
31
31
|
for bin in msfconsole msfvenom msfrpc msfrpcd msfdb; do
|
|
32
32
|
cat > "$PREFIX/bin/$bin" << BINEOF
|
|
@@ -58,7 +58,7 @@ update_metasploit() {
|
|
|
58
58
|
_pinned_git_repo_owned "$METASPLOIT_DIR" "$METASPLOIT_REPO" ||
|
|
59
59
|
{ [ -f "$METASPLOIT_DIR/.karnel-installed" ] && _adopt_pinned_git_repo "$METASPLOIT_DIR" "$METASPLOIT_REPO"; } || return 1
|
|
60
60
|
install_pinned_git_repo "$METASPLOIT_REPO" "$METASPLOIT_COMMIT" "$METASPLOIT_DIR" || return 1
|
|
61
|
-
cd "$METASPLOIT_DIR" && bundle install --jobs 4 2
|
|
61
|
+
cd "$METASPLOIT_DIR" && bundle install --jobs 4 2>>"$LOG_FILE" || return 1
|
|
62
62
|
for bin in msfconsole msfvenom msfrpc msfrpcd msfdb; do
|
|
63
63
|
sha256sum "$PREFIX/bin/$bin" > "$METASPLOIT_DIR/.karnel-wrapper-$bin"
|
|
64
64
|
done
|
|
@@ -19,7 +19,7 @@ install_theharvester() {
|
|
|
19
19
|
return 1
|
|
20
20
|
}
|
|
21
21
|
if install_pinned_git_repo "$_THEHARVESTER_REPO" "$_THEHARVESTER_COMMIT" "$_THEHARVESTER_DIR"; then
|
|
22
|
-
pip install -r "$_THEHARVESTER_DIR/requirements/base.txt" 2
|
|
22
|
+
pip install -r "$_THEHARVESTER_DIR/requirements/base.txt" 2>>"$LOG_FILE" || return 1
|
|
23
23
|
chmod +x "$_THEHARVESTER_DIR/theHarvester.py"
|
|
24
24
|
ln -sf "$_THEHARVESTER_DIR/theHarvester.py" "$PREFIX/bin/theharvester"
|
|
25
25
|
: > "$_THEHARVESTER_DIR/.karnel-wrapper"
|
|
@@ -45,7 +45,7 @@ update_theharvester() {
|
|
|
45
45
|
{ [ -f "$_THEHARVESTER_DIR/.karnel-wrapper" ] && _adopt_pinned_git_repo "$_THEHARVESTER_DIR" "$_THEHARVESTER_REPO"; } || return 1
|
|
46
46
|
install_pinned_git_repo "$_THEHARVESTER_REPO" "$_THEHARVESTER_COMMIT" "$_THEHARVESTER_DIR" || return 1
|
|
47
47
|
: > "$_THEHARVESTER_DIR/.karnel-wrapper"
|
|
48
|
-
pip install -r "$_THEHARVESTER_DIR/requirements/base.txt" 2
|
|
48
|
+
pip install -r "$_THEHARVESTER_DIR/requirements/base.txt" 2>>"$LOG_FILE" || return 1
|
|
49
49
|
log_success "theharvester atualizado"
|
|
50
50
|
return 0
|
|
51
51
|
fi
|
package/package.json
CHANGED