secubox-openwrt/.claude/settings.local.json
CyberMind-FR 00d92037b9 feat(tools): Add pre-deploy-lint.sh for syntax validation
- JavaScript validation via Node.js --check (with pattern fallback)
- JSON validation for menu.d and acl.d files
- Shell script validation with shellcheck integration
- CSS validation for unclosed braces and typos
- LuCI-specific checks: require format, console.log, debugger
- Integrated into quick-deploy.sh as default for LuCI apps
- --lint/--no-lint flags for deployment control
- Documentation added to secubox-tools/README.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-28 18:29:51 +01:00

493 lines
37 KiB
JSON

{
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(npm i:*)",
"Bash(claude --version)",
"Bash(./local-build.sh:*)",
"Bash(sudo apt-get install:*)",
"Bash(FORCE=1 ./local-build.sh:*)",
"Bash(rsync:*)",
"Bash(make FORCE=1 package/feeds/secubox/luci-app-system-hub/compile:*)",
"Bash(chmod:*)",
"Bash(export PATH=\"$HOME/.local/bin:$PATH\")",
"Bash(git status:*)",
"Bash(./localbuild.sh:*)",
"Bash(git tag:*)",
"Bash(ls:*)",
"Bash(grep:*)",
"Bash(tar:*)",
"Bash(git reset:*)",
"Bash(git checkout:*)",
"Bash(git rm:*)",
"Bash(ssh:*)",
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"Bash(find:*)",
"Bash(git check-ignore:*)",
"Bash(git config:*)",
"Bash(./scripts/feeds update:*)",
"Bash(./scripts/feeds install:*)",
"Bash(xargs:*)",
"Bash(make defconfig:*)",
"Bash(make:*)",
"Bash(bash -n:*)",
"Bash(./scripts/feeds uninstall crowdsec-firewall-bouncer)",
"Bash(./scripts/feeds uninstall:*)",
"Bash(curl:*)",
"Bash(ln:*)",
"Bash(./scripts/feeds search:*)",
"Bash(cat:*)",
"Bash(tee:*)",
"Bash(apt list:*)",
"Bash(pgrep:*)",
"Bash(openwrt/staging_dir/host/bin/rsync --version)",
"Bash(/usr/bin/rsync:*)",
"Bash(flatpak-spawn --host which:*)",
"Bash(flatpak-spawn --host rsync:*)",
"Bash(echo:*)",
"Bash(~/.bashrc)",
"Bash(source ~/.bashrc)",
"Bash($HOME/.local/bin/rsync --version)",
"Bash(./secubox-tools/local-builds.sh:*)",
"Bash(./secubox-tools/local-build.sh:*)",
"Bash(yes:*)",
"Bash(bison:*)",
"Bash(flex:*)",
"Bash(g++:*)",
"Bash(ldd:*)",
"Bash(export PATH=\"/home/reepost/CyberMindStudio/_files/secubox-openwrt/secubox-tools/sdk/staging_dir/host/bin:$PATH\":*)",
"Bash(sudo ln:*)",
"Bash(git -C /home/reepost/CyberMindStudio/_files/secubox-openwrt/secubox-tools ls-tree:*)",
"WebFetch(domain:secubox.cybermood.eu)",
"WebFetch(domain:docs.cybermind.fr)",
"WebFetch(domain:lyrion.org)",
"Bash(git pull:*)",
"Bash(git stash:*)",
"Bash(./secubox-tools/localbuild.sh:*)",
"Bash(./scripts/sync-to-feed.sh:*)",
"Bash(sh:*)",
"Bash(dash:*)",
"Bash(scp:*)",
"Bash(/home/reepost/CyberMindStudio/_files/secubox-openwrt/secubox-tools/local-build.sh:*)",
"Bash(ping:*)",
"WebFetch(domain:docs.mitmproxy.org)",
"WebSearch",
"WebFetch(domain:forum.openwrt.org)",
"WebFetch(domain:nicolargo.github.io)",
"Bash(ssh-keygen:*)",
"Bash(scripts/build-packages.sh:*)",
"Bash(readlink:*)",
"Bash(ROUTER_IP=\"192.168.8.191\":*)",
"Bash(PKG_PATH=\"/home/reepost/CyberMindStudio/_files/secubox-openwrt/secubox-tools/build/aarch64_cortex-a72/secubox-app-webapp_1.1.0-r1_all.ipk\")",
"Bash(__NEW_LINE_cfb353d51df65726__ echo \"Deploying to router $ROUTER_IP...\")",
"Bash(__NEW_LINE_cfb353d51df65726__ echo \"Installing package on router...\")",
"Bash(ROUTER_IP=\"192.168.8.1\")",
"Bash(__NEW_LINE_63a99eb14feaadfb__ echo \"Deploying to router $ROUTER_IP...\")",
"Bash(__NEW_LINE_63a99eb14feaadfb__ echo \"Installing package on router...\")",
"Bash(__NEW_LINE_dd8ac110f380441b__ echo \"Deploying to router $ROUTER_IP...\")",
"Bash(__NEW_LINE_dd8ac110f380441b__ echo \"Installing package on router...\")",
"Bash(ROUTER_IP=\"192.168.255.1\":*)",
"Bash(__NEW_LINE_23d0cf42d6f3e749__ echo \"Deploying to router $ROUTER_IP...\")",
"Bash(__NEW_LINE_23d0cf42d6f3e749__ echo \"Installing package on router...\")",
"Bash(PKG_PATH=\"/home/reepost/CyberMindStudio/_files/secubox-openwrt/secubox-tools/build/aarch64_cortex-a72/secubox-app-webapp_1.2.0-r1_all.ipk\":*)",
"Bash(__NEW_LINE_149ef654235bfc1e__ echo \"Deploying v1.2.0 to router $ROUTER_IP...\")",
"Bash(__NEW_LINE_149ef654235bfc1e__ echo \"Installing package on router...\")",
"Bash(PKG_PATH=\"/home/reepost/CyberMindStudio/_files/secubox-openwrt/secubox-tools/build/aarch64_cortex-a72/secubox-app-webapp_1.3.0-r1_all.ipk\")",
"Bash(__NEW_LINE_00785cf715958748__ echo \"Deploying optimized v1.3.0 to router $ROUTER_IP...\")",
"Bash(__NEW_LINE_00785cf715958748__ echo \"Installing package on router...\")",
"Bash(wc:*)",
"WebFetch(domain:api.github.com)",
"Bash(./build.sh:*)",
"Bash(cd /home/reepost/CyberMindStudio/_files/secubox-openwrt/secubox-tools/sdk ./scripts/feeds update secubox)",
"Bash(./staging_dir/host/bin/ipkg-build:*)",
"Bash(./scripts/ipkg-build:*)",
"WebFetch(domain:hub.docker.com)",
"WebFetch(domain:localai.io)",
"WebFetch(domain:downloads.lms-community.org)",
"Bash(./secubox-tools/sdk/build-package.sh:*)",
"Bash(./secubox-tools/scripts/expand-openwrt-image.sh:*)",
"Bash(parted:*)",
"Bash(fdisk:*)",
"Bash(sudo ./secubox-tools/scripts/expand-openwrt-image.sh:*)",
"Bash(gunzip:*)",
"Bash(xxd:*)",
"Bash(sfdisk:*)",
"Bash(xzcat:*)",
"Bash(head:*)",
"Bash(docker search:*)",
"Bash(git merge:*)",
"Bash(gh run:*)",
"Bash(dig:*)",
"Bash(nslookup:*)",
"Bash(host:*)",
"Bash(git fetch:*)",
"Bash(/home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/deploy-remote.sh:*)",
"Bash(for i in 1 2 3 4 5)",
"Bash(do echo \"Attempt $i...\")",
"Bash(if ssh -o ConnectTimeout=10 root@192.168.255.1 'echo \"\"Connected\"\"; df -h /')",
"Bash(then break)",
"Bash(fi)",
"Bash(done)",
"Bash(for i in 1 2 3 4 5 6)",
"Bash(do echo \"Checking... \\($i\\)\")",
"Bash(if ssh -o ConnectTimeout=10 root@192.168.255.1 'df -h / /overlay 2>/dev/null')",
"Bash(./secubox-tools/deploy-remote.sh:*)",
"Bash(do)",
"Bash(if ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@192.168.255.1 \"echo ''Router is back!''\")",
"Bash(then)",
"Bash(exit 0)",
"Bash(if ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@192.168.255.1 \"echo ''Router online!''\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt log --oneline --all --grep=streamlit)",
"Bash(tree:*)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt log --oneline --all -20 --decorate)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt show d6861fe --stat)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt show:*)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt log -p d6861fe -1 -- package/secubox/luci-app-streamlit/Makefile)",
"Bash(openssl s_client:*)",
"Bash(openssl x509:*)",
"Bash(wget:*)",
"Bash(/home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/sdk/staging_dir/host/go/bin/go version:*)",
"Bash(/home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/sdk/staging_dir/host/go/bin/go env:*)",
"Bash(go version:*)",
"Bash(GOARM64=v8.0 go env:*)",
"Bash(go env:*)",
"Bash(snap list:*)",
"Bash(snap info:*)",
"Bash(aarch64-openwrt-linux-musl-objdump:*)",
"Bash(/home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/sdk/staging_dir/toolchain-aarch64_cortex-a72_gcc-13.3.0_musl/bin/aarch64-openwrt-linux-musl-objdump:*)",
"Bash(PATH=~/go120/bin:/usr/bin:/bin:$PATH)",
"Bash(aarch64-linux-gnu-objdump:*)",
"Bash(staging_dir/toolchain-aarch64_cortex-a72_gcc-13.3.0_musl/bin/aarch64-openwrt-linux-musl-readelf:*)",
"Bash(git diff:*)",
"Bash(git log:*)",
"Bash(nc:*)",
"Bash(pkill:*)",
"Bash(python3 -m json.tool:*)",
"Bash(git restore:*)",
"Bash(__NEW_LINE_80f7f5dbdf93db8a__ echo \"\")",
"Bash(# Check for other service-like apps in other secubox menus echo \"\"=== Mitmproxy location ===\"\" grep -h ''\"\"admin/'' package/secubox/luci-app-mitmproxy/root/usr/share/luci/menu.d/*.json)",
"Bash(ar -p:*)",
"WebFetch(domain:openwrt.org)",
"Bash(ar -t:*)",
"Bash(zstd:*)",
"Bash(source /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/local-build.sh)",
"Bash(strip_libc_from_ipk:*)",
"Bash(sort:*)",
"Bash(FEED=\"/home/reepost/CyberMindStudio/secubox-openwrt/package/secubox/secubox-app-bonus/root/www/secubox-feed\" grep:*)",
"Bash(zcat:*)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add package/secubox/*/Makefile package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages.gz)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-core_*.ipk git -C /home/reepost/CyberMindStudio/secubox-openwrt status --short)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfix\\(deps\\): Remove libubox/libubus/libuci from all SecuBox package dependencies\n\nThese base OpenWrt libraries are always present on the system but their\nversions in the SDK-built feed don''t match the router''s installed versions,\ncausing opkg to fail with \"Cannot satisfy dependencies\" errors.\n\nFixed packages \\(18 total\\):\n- secubox-core: removed libubox, libubus, libuci\n- luci-app-ksm-manager: removed libubus, libubox\n- luci-app-mqtt-bridge: removed libuci\n- secubox-app-adguardhome: removed uci, libuci\n- secubox-app-auth-logger: removed libubox-lua\n- secubox-app-domoticz: removed uci, libuci\n- secubox-app-gitea: removed uci, libuci\n- secubox-app-glances: removed uci, libuci\n- secubox-app-hexojs: removed uci, libuci\n- secubox-app-lyrion: removed uci, libuci\n- secubox-app-magicmirror2: removed uci, libuci\n- secubox-app-mailinabox: removed uci, libuci\n- secubox-app-mitmproxy: removed uci, libuci\n- secubox-app-nextcloud: removed uci, libuci\n- secubox-app-ollama: removed uci, libuci\n- secubox-app-picobrew: removed uci, libuci\n- secubox-app-streamlit: removed uci, libuci\n- secubox-app-zigbee2mqtt: removed uci, libuci\n\nThe packages still work because these libs are implicitly available.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt push origin release/v0.15.0)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add package/secubox/secubox-core/Makefile package/secubox/luci-app-secubox-admin/Makefile package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages* package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-core_*.ipk package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-admin_*.ipk)",
"Bash(__NEW_LINE_9c0ea50a93f8f5be__ git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfix\\(deps\\): Remove ALL dependencies from secubox-core and luci-app-secubox-admin\n\nEven rpcd, bash, jsonfilter, jq depend on libc themselves. Since these\npackages are always present on a working OpenWrt/SecuBox system, we should\nnot declare any dependencies at all.\n\n- secubox-core 0.10.0-r9: DEPENDS:= \\(empty\\)\n- luci-app-secubox-admin 1.0.0-r19: LUCI_DEPENDS:= \\(empty\\)\n\nThis prevents opkg from trying to resolve any feed packages and their\ncascading libc dependencies.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(gzip:*)",
"Bash(python3:*)",
"WebFetch(domain:192.168.255.1)",
"Bash(ssh-add:*)",
"Bash(SSH_AUTH_SOCK=\"\" ssh -i ~/.ssh/id_rsa root@192.168.255.1 'grep \"\"s.anonymous\"\" /www/luci-static/resources/view/cdn-cache/settings.js')",
"Bash(SSH_AUTH_SOCK=\"\" ssh -i ~/.ssh/id_rsa root@192.168.255.1 'grep \"\"s.anonymous\"\" /www/luci-static/resources/view/cdn-cache/settings.js; rm -f /tmp/luci-indexcache*')",
"Bash(SSH_AUTH_SOCK=\"\" ssh -i ~/.ssh/id_ed25519 root@192.168.255.1 'grep \"\"s.anonymous\"\" /www/luci-static/resources/view/cdn-cache/settings.js; rm -f /tmp/luci-indexcache*')",
"Bash(SSH_AUTH_SOCK=\"\" ssh -i ~/.ssh/id_ed25519 root@192.168.255.1 'echo \"\"=== CrowdSec Decisions ===\"\"; cscli decisions list 2>/dev/null | head -10; echo \"\"\"\"; echo \"\"=== Auth Guardian Status ===\"\"; ubus call luci.auth-guardian status 2>/dev/null | head -20')",
"Bash(for:*)",
"Bash(if [ -d \"package/secubox/$pkg\" ])",
"Bash(SSH_ASKPASS=\"\" SSH_AUTH_SOCK=\"\" ssh:*)",
"Bash(.venv/bin/python:*)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt log --oneline -3)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt push origin master)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt pull --rebase origin master)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt stash)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt stash pop)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt diff package/secubox/luci-app-metablogizer/root/usr/libexec/rpcd/luci.metablogizer)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add package/secubox/luci-app-metablogizer/root/usr/libexec/rpcd/luci.metablogizer)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfix\\(metablogizer\\): Skip frontend HTTP checks for DNS mismatch sites\n\nWhen a site''s DNS doesn''t point to our public IP, skip the external\nHTTP check to avoid 5-second timeouts. This significantly speeds up\nthe get_hosting_status API call which was causing XHR timeouts in\nthe LuCI frontend.\n\nSites with DNS mismatch now show frontend_status: \"dns_mismatch\"\ninstead of timing out.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt status --short package/secubox/luci-app-metablogizer/)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt log --oneline -5)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt status -sb)",
"Bash(pip install:*)",
"WebFetch(domain:secubox.maegia.tv)",
"Bash(# Find the built packages echo \"\"=== Built packages ===\"\" ls -la secubox-tools/build/aarch64_cortex-a72/*.ipk)",
"Bash(__NEW_LINE_2faeb2c9d4f26aa1__ git diff --cached --stat)",
"Bash(ip addr:*)",
"Bash(ip route:*)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt status --short)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt diff package/secubox/luci-app-dnsguard/root/usr/libexec/rpcd/luci.dnsguard)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add package/secubox/luci-app-dnsguard/root/usr/libexec/rpcd/luci.dnsguard)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfix\\(dnsguard\\): Fix subshell issues in provider lookup methods\n\nReplace pipe-to-while loops with grep/cut to avoid subshell variable\nscope issues in method_status, method_get_providers, and method_set_provider.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(IPK_DIR=\"/home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/sdk/bin/packages/aarch64_cortex-a72/secubox\" ls:*)",
"Bash(if ssh -o ConnectTimeout=10 root@192.168.255.1 'echo \"\"Router is back!\"\"; df -h / /boot')",
"Bash(then exit 0)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt tag --sort=-v:refname)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfeat\\(mitmproxy\\): Disable LAN transparent proxy by default\n\nLAN transparent mode now requires explicit opt-in via transparent.enabled\nto prevent HTTPS certificate errors for LAN clients.\n\nChanges:\n- mitmproxyctl: Check transparent_enabled before setting up LAN firewall rules\n- LuCI settings: Add warning about certificate requirements for LAN mode\n- Default config already has transparent.enabled=''0''\n\nWAN protection mode remains active for incoming threat detection.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt tag -a v0.18.1 -m \"Release v0.18.1: mitmproxy LAN transparent mode disabled by default\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt push)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt push --tags)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add package/secubox/secubox-app-mitmproxy/root/srv/mitmproxy/addons/secubox_analytics.py package/secubox/luci-app-secubox-security-threats/root/usr/libexec/rpcd/luci.secubox-security-threats)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfeat\\(security\\): Add CVE-2025-15467 detection and mitmproxy threat integration\n\n- Add CVE-2025-15467 \\(OpenSSL CMS stack overflow\\) detection patterns\n- Detect S/MIME/CMS content types that may be exploited\n- Integrate mitmproxy threats into security-threats dashboard\n- Security threats page now shows real-time WAF detections\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt tag -a v0.18.2 -m \"Release v0.18.2: CVE-2025-15467 detection and security dashboard integration\")",
"WebFetch(domain:simplex.chat)",
"Bash(# Find usign keys find ~/CyberMindStudio/secubox-openwrt -name \"\"*.key\"\")",
"Bash(cd ~/CyberMindStudio/secubox-openwrt/package/secubox/secubox-app-bonus/root/www/secubox-feed ls -la Packages* luci-app-secubox-security-threats*.ipk echo \"\" grep -A3 \"Package: luci-app-secubox-security-threats\" Packages)",
"Bash(docker pull:*)",
"Bash(do echo \"=== $f ===\")",
"WebFetch(domain:fabianlee.org)",
"Bash(do grep \"^PKG_NAME\" \"$f\")",
"WebFetch(domain:sysupgrade.openwrt.org)",
"Bash(./secubox-tools/secubox-image.sh:*)",
"Bash(source:*)",
"Bash(build_request_json:*)",
"Bash(bash -c '\nSCRIPT_DIR=\"\"$\\(cd secubox-tools && pwd\\)\"\"\n\n# Inline the function\ngenerate_defaults\\(\\) {\n cat <<'\"''\"'DEFAULTS'\"''\"'\n#!/bin/sh\ntest line\nDEFAULTS\n}\n\ndefaults_file=$\\(mktemp\\)\ngenerate_defaults > \"\"$defaults_file\"\"\ncat \"\"$defaults_file\"\"\necho \"\"---\"\"\npython3 -c \"\"\nimport json\nwith open\\('\"''\"'$defaults_file'\"''\"'\\) as f:\n print\\(json.dumps\\(f.read\\(\\)\\)\\)\n\"\"\nrm -f \"\"$defaults_file\"\"\n')",
"Bash(bash:*)",
"Bash(sudo ./secubox-tools/secubox-image.sh:*)",
"Bash(DISPLAY=:0 gnome-screenshot:*)",
"Bash(DISPLAY=:0 scrot:*)",
"Bash(DISPLAY=:1 gnome-screenshot:*)",
"Bash(DISPLAY=:1 import -window root /tmp/claude/-home-reepost-CyberMindStudio-secubox-openwrt/d82d04b5-7250-4f1b-99cf-0bb5c38ac8e8/scratchpad/master-link-landing.png)",
"Bash(DISPLAY=:1 xdpyinfo:*)",
"Bash(DISPLAY=:0 xdpyinfo:*)",
"Bash(DISPLAY=:1 xdotool search:*)",
"Bash(DISPLAY=:1 wmctrl:*)",
"Bash(DISPLAY=:1 xdotool:*)",
"Bash(while read wid)",
"Bash(do DISPLAY=:1 xdotool getwindowname \"$wid\")",
"Bash(dpkg:*)",
"Bash(cosmic-screenshot:*)",
"Bash(do bash -n \"$f\")",
"Bash(scrot:*)",
"Bash(gnome-screenshot:*)",
"Bash(import:*)",
"Bash(grim:*)",
"Bash(DISPLAY=:1 import:*)",
"Bash(/usr/bin/cosmic-screenshot:*)",
"Bash(pip3 install:*)",
"Bash(gdbus call:*)",
"Bash(git mv:*)",
"Bash(DISPLAY=:1 scrot:*)",
"Bash(node -c:*)",
"Bash(/home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/local-build.sh:*)",
"Bash(do rsync -av --delete /home/reepost/CyberMindStudio/secubox-openwrt/package/secubox/$pkg/ /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/local-feed/$pkg/)",
"Bash(do rsync -av --delete \"package/secubox/$pkg/\" \"secubox-tools/local-feed/$pkg/\")",
"Bash(xdg-open:*)",
"WebFetch(domain:releases.domoticz.com)",
"WebFetch(domain:www.domoticz.com)",
"Bash(gh release view:*)",
"Bash(gh release list:*)",
"Bash(jsonfilter:*)",
"WebFetch(domain:zigbeefordomoticz.github.io)",
"WebFetch(domain:rustdesk.com)",
"WebFetch(domain:deepwiki.com)",
"Bash(traceroute:*)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add package/secubox/secubox-app-mailserver/files/usr/sbin/mailctl package/secubox/secubox-app-mailserver/files/usr/lib/mailserver/container.sh .claude/WIP.md)",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfix\\(mailserver\\): Use LMDB maps instead of hash for Alpine Postfix\n\nAlpine Linux''s Postfix is compiled with LMDB support, not BerkeleyDB\nhash support. This caused \"Temporary lookup failure\" errors on send.\n\nChanges:\n- Changed virtual_alias_maps and virtual_mailbox_maps to lmdb: prefix\n- Copy resolv.conf to Postfix chroot for DNS resolution\n- Added `mailctl fix-postfix` command to repair existing installations\n\nRoot cause: virtual_alias_maps was configured as hash:/etc/postfix/virtual\nbut the hash map type is not supported on Alpine, only lmdb.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt add:*)",
"Bash(recipient table\" errors because Postfix treated the domain as local\ninstead of virtual.\n\nChanges:\n- Remove $mydomain from mydestination in setup.sh\n- Update fix-postfix command to also fix this issue\n- Ensure vdomains file is properly created\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\ndocs: Document mail port hijacking fix\n\nFirewall DNAT rules were redirecting ALL port 993/587/465 traffic\nto local mailserver, blocking external mail server connections.\n\nFix: Add -i $WAN_IF to only redirect inbound WAN traffic.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfeat\\(vortex-dns\\): Add LuCI dashboard for mesh DNS management\n\nNew package: luci-app-vortex-dns\n- Dashboard showing mode, status, sync info\n- Master section with delegated zones table\n- Slave section with parent master info\n- Mesh peers section with online status\n- Actions: Initialize master, Join slave, Delegate zone, Mesh sync\n- RPCD handler with 8 methods\n\nAlso fixes:\n- Mail port hijacking: WAN-only DNAT rules\n- Threat-analyst LocalAI port: 8081 → 8091\n- Domoticz password reset\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git -C /home/reepost/CyberMindStudio/secubox-openwrt commit -m \"$\\(cat <<''EOF''\nfeat\\(domoticz\\): Add password reset via RPCD\n\nNew RPCD method: reset_password\n- Resets Domoticz admin password via SQLite\n- Accessible from LuCI dashboard\n- MD5 hashes the password before storing\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(git remote set-url:*)",
"Bash(git bundle:*)",
"Bash(TOKEN=\"df72316e404f77bc0cf8068ee4833892da13c1ced50d56a4f8bb19fc991c8674\")",
"WebFetch(domain:evolution.gk2.secubox.in)",
"WebFetch(domain:console.gk2.secubox.in)",
"Bash(SCRIPT)",
"Bash(tcpdump:*)",
"Bash(resolvectl query:*)",
"Bash(systemctl restart:*)",
"Bash(getent:*)",
"Bash(unzip:*)",
"Bash(__NEW_LINE_86d4afe3b9fa8d1c__ echo \"\")",
"Bash(__NEW_LINE_9ed23c10c78c59e7__ echo \"\")",
"Bash(__NEW_LINE_eb3bd3ef6592bca8__ echo \"\")",
"Bash(__NEW_LINE_7eaa189e50a78a6c__ echo \"\")",
"WebFetch(domain:oracle.ganimed.fr)",
"Bash(')",
"WebFetch(domain:gk2.secubox.in)",
"WebFetch(domain:press.cybermood.eu)",
"Bash(command -v:*)",
"Bash(# Configure serial port stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parenb raw -echo # Send a newline and try to read response \\(echo \"\"\"\"; sleep 0.5; echo \"\"\"\"; sleep 0.5\\) & timeout 3 cat /dev/ttyUSB0)",
"Bash(do if sh -n \"$f\")",
"Bash(then echo \"OK: $f\")",
"Bash(else echo \"FAIL: $f\")",
"Bash(do echo \"Resolver $resolver:\" nslookup -type=NS secubox.in $resolver)",
"Bash(do echo \"Resolver $resolver:\" nslookup secubox.in $resolver)",
"Bash(do echo \"Resolver $resolver:\" nslookup gk2.secubox.in $resolver)",
"Bash(do echo \"Resolver $resolver:\" nslookup evolution.gk2.secubox.in $resolver)",
"Bash(stty:*)",
"Bash(sudo stty:*)",
"Bash(./secubox-clone-station.sh:*)",
"Bash(sudo apt install:*)",
"Bash(dmesg:*)",
"Bash(lsusb:*)",
"Bash(ss:*)",
"Bash(netstat:*)",
"Bash(fuser:*)",
"Bash(lsof:*)",
"Bash(arp:*)",
"Bash(ip link:*)",
"Bash(git describe:*)",
"Bash(SSH_AUTH_SOCK=\"$SSH_AUTH_SOCK\" ssh:*)",
"Bash(node --check:*)",
"Bash(do ssh root@192.168.255.1 'ubus call luci.cloner build_progress \"\"{}\"\"')",
"Bash(while read file)",
"Bash(if ! grep -q \"kiss-theme\" \"$file\")",
"Bash(pip3 show:*)",
"Bash(playwright install:*)",
"Bash(timeout 8 streamlit run:*)",
"Bash(cgroup at_mnt\" error on certain kernel configurations\\)\n- Disable cgroup memory limit since cgroup is not mounted\n- Fixes Gitea container failing to start with cgroup mount errors\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
"Bash(while [ -f /tmp/claude/-home-reepost-CyberMindStudio-secubox-openwrt/tasks/be0c3bc.running ])",
"Bash(do sleep 5)",
"Bash(while ps aux)",
"Bash(do sleep 10)",
"Bash(\")",
"WebFetch(domain:yling.gk2.secubox.in)",
"WebFetch(domain:bazi.gk2.secubox.in)",
"WebFetch(domain:webmail.gk2.secubox.in)",
"WebFetch(domain:documentation.wazuh.com)",
"WebFetch(domain:syswarden.io)",
"Bash({)",
"Bash(})",
"Bash(git init:*)",
"Bash(gh repo view:*)",
"Bash(gh repo edit:*)",
"Bash(gh auth:*)",
"WebFetch(domain:cloud.gk2.secubox.in)",
"WebFetch(domain:docs.conduit.rs)",
"Bash(' -f1\\)\n local nc_ok=$\\(echo \"\"$nc_stats\"\" | cut -d')",
"Bash(' -f2\\)\n local nc_fail=$\\(echo \"\"$nc_stats\"\" | cut -d')",
"Bash(' -f3\\)\n \n local pt_last=$\\(echo \"\"$pt_stats\"\" | cut -d')",
"Bash(' -f1\\)\n local pt_ok=$\\(echo \"\"$pt_stats\"\" | cut -d')",
"Bash(' -f2\\)\n local pt_fail=$\\(echo \"\"$pt_stats\"\" | cut -d')",
"Bash(' -f3\\)\n \n local jb_last=$\\(echo \"\"$jb_stats\"\" | cut -d')",
"Bash(' -f1\\)\n local jb_ok=$\\(echo \"\"$jb_stats\"\" | cut -d')",
"Bash(' -f2\\)\n local jb_fail=$\\(echo \"\"$jb_stats\"\" | cut -d')",
"Bash(' -f3\\)\n \n local mx_last=$\\(echo \"\"$mx_stats\"\" | cut -d')",
"Bash(' -f1\\)\n local mx_ok=$\\(echo \"\"$mx_stats\"\" | cut -d')",
"Bash(' -f2\\)\n local mx_fail=$\\(echo \"\"$mx_stats\"\" | cut -d')",
"Bash(' -f3\\)\n \n local em_last=$\\(echo \"\"$em_stats\"\" | cut -d')",
"Bash(' -f1\\)\n local em_ok=$\\(echo \"\"$em_stats\"\" | cut -d')",
"Bash(' -f2\\)\n local em_fail=$\\(echo \"\"$em_stats\"\" | cut -d')",
"Bash(' -f3\\)\n \n # Calculate totals\n local total_success=$\\(\\(${nc_ok:-0} + ${pt_ok:-0} + ${jb_ok:-0} + ${mx_ok:-0} + ${em_ok:-0}\\)\\)\n local total_failure=$\\(\\(${nc_fail:-0} + ${pt_fail:-0} + ${jb_fail:-0} + ${mx_fail:-0} + ${em_fail:-0}\\)\\)\n \n # Find most recent login\n local last_login=\"\"\"\"\n for ts in \"\"$nc_last\"\" \"\"$pt_last\"\" \"\"$jb_last\"\" \"\"$mx_last\"\" \"\"$em_last\"\"; do\n [ -n \"\"$ts\"\" ] && last_login=\"\"$ts\"\"\n done\n \n # Output JSON\n cat << EOFSTATS\n{\n \"\"last_login\"\": \"\"${last_login:-never}\"\",\n \"\"total_success\"\": $total_success,\n \"\"total_failure\"\": $total_failure,\n \"\"services\"\": {\n \"\"nextcloud\"\": {\"\"last\"\": \"\"${nc_last:-}\"\", \"\"success\"\": ${nc_ok:-0}, \"\"failure\"\": ${nc_fail:-0}},\n \"\"peertube\"\": {\"\"last\"\": \"\"${pt_last:-}\"\", \"\"success\"\": ${pt_ok:-0}, \"\"failure\"\": ${pt_fail:-0}},\n \"\"jabber\"\": {\"\"last\"\": \"\"${jb_last:-}\"\", \"\"success\"\": ${jb_ok:-0}, \"\"failure\"\": ${jb_fail:-0}},\n \"\"matrix\"\": {\"\"last\"\": \"\"${mx_last:-}\"\", \"\"success\"\": ${mx_ok:-0}, \"\"failure\"\": ${mx_fail:-0}},\n \"\"email\"\": {\"\"last\"\": \"\"${em_last:-}\"\", \"\"success\"\": ${em_ok:-0}, \"\"failure\"\": ${em_fail:-0}}\n }\n}\nEOFSTATS\n}\nEOF\nchmod +x /usr/lib/secubox/users-login-stats.sh\necho \"\"Login stats library created\"\"')",
"WebFetch(domain:cdnjs.com)",
"Bash(npm install:*)",
"Bash(npm run build:*)",
"Bash(npx gulp browserify:*)",
"Bash(npx terser:*)",
"Bash(read)",
"Bash(/home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/c3box-vm-builder.sh:*)",
"Bash(__NEW_LINE_ba6f66f0b013f58d__ echo \"\")",
"WebFetch(domain:cf.gk2.secubox.in)",
"WebFetch(domain:streamlit.gk2.secubox.in)",
"Bash(# Use SDK''s package tools cd /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/sdk # Copy the manually created IPK to SDK''s output cp /home/reepost/CyberMindStudio/secubox-openwrt/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-ipblocklist_1.0.0-r1_all.ipk bin/packages/aarch64_cortex-a72/secubox/ # Regenerate index for that feed cd bin/packages/aarch64_cortex-a72/secubox ../../../../scripts/ipkg-make-index.sh . gzip -k -f Packages # Now rebuild the bonus package which will include everything cd /home/reepost/CyberMindStudio/secubox-openwrt ./secubox-tools/local-build.sh build secubox-app-bonus 2>&1)",
"WebFetch(domain:portal.secubox.in)",
"Bash(# Test 1: Check that portal.secubox.in redirects to login when not authenticated curl -s -k -I https://portal.secubox.in/)",
"Bash(# Test the complete flow echo \"\"=== Test 1: Root URL redirects to login ===\"\" curl -s -k -I https://portal.secubox.in/)",
"Bash(__NEW_LINE_7fd1ab4a5ccb9b63__ echo \"\")",
"Bash(__NEW_LINE_755a36c329effceb__ echo \"\")",
"Bash(__NEW_LINE_02bd2dd51e90cbf8__ echo \"\")",
"Bash(__NEW_LINE_70eb6f3ae1c26753__ echo \"\")",
"WebFetch(domain:radio.gk2.secubox.in)",
"WebFetch(domain:nextcloud-talk.readthedocs.io)",
"Bash(__NEW_LINE_0334b7e65952251f__ rm -f \"$COOKIES\")",
"Bash(__NEW_LINE_d0f84baac9f3813d__ rm -f \"$COOKIES\")",
"Bash(__NEW_LINE_722c25da6bf58fe1__ rm -f \"$COOKIES\" /tmp/login.html)",
"WebFetch(domain:portal.nextcloud.com)",
"WebFetch(domain:arnowelzel.de)",
"Bash(__NEW_LINE_5c2a7272ff3658b1__ ssh root@192.168.255.1 '\n# Test different sizes to find the limit\nfor size in 1000 5000 10000 20000 40000 60000; do\n CONTENT=$\\(head -c $size /tmp/test-upload.html | base64 -w0\\)\n CSIZE=$\\(echo -n \"\"$CONTENT\"\" | wc -c\\)\n RESULT=$\\(ubus call luci.metablogizer upload_and_create_site \"\"{\\\\\"\"name\\\\\"\":\\\\\"\"sizetest\\\\\"\",\\\\\"\"domain\\\\\"\":\\\\\"\"sizetest.gk2.secubox.in\\\\\"\",\\\\\"\"content\\\\\"\":\\\\\"\"$CONTENT\\\\\"\",\\\\\"\"is_zip\\\\\"\":\\\\\"\"0\\\\\"\"}\"\" 2>&1\\)\n \n if echo \"\"$RESULT\"\" | grep -q \"\"success.*true\"\"; then\n echo \"\"Size $size \\($CSIZE base64\\): OK\"\"\n ubus call luci.metablogizer delete_site \"\"{\\\\\"\"id\\\\\"\":\\\\\"\"site_sizetest\\\\\"\"}\"\" >/dev/null 2>&1\n else\n ERROR=$\\(echo \"\"$RESULT\"\" | head -1\\)\n echo \"\"Size $size \\($CSIZE base64\\): FAILED - $ERROR\"\"\n break\n fi\ndone\n')",
"WebFetch(domain:admin.gk2.secubox.in)",
"WebFetch(domain:tdah.gk2.secubox.in)",
"Bash(sudo ./secubox-tools/c3box-vm-builder.sh:*)",
"Bash(./secubox-tools/c3box-vm-builder.sh:*)",
"Bash(sudo apt-get update:*)",
"Bash(vboxmanage --version:*)",
"Bash(vboxmanage import:*)",
"Bash(vboxmanage startvm:*)",
"Bash(# Find the built packages find /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools -name \"\"luci-theme-secubox*.ipk\"\" -newer /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/local-feed)",
"Bash(do if ssh -o ConnectTimeout=5 root@192.168.255.1 \"echo ''System up''\")",
"Bash(do if ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@192.168.255.1 \"echo ''System up''\")",
"Bash(ctest:*)",
"Bash(./test_crypto:*)",
"Bash(./test_graph:*)",
"Bash(./test_protocol:*)",
"Bash(./test_nizk:*)",
"Bash(./zkp_keygen:*)",
"Bash(./zkp_prover:*)",
"Bash(./zkp_verifier:*)",
"Bash(printf:*)",
"Bash(dd:*)",
"Bash(gh release create:*)",
"Bash(# Check if OpenWrt toolchain is available ls -la /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/openwrt/)",
"Bash(# Create symlink in SDK feeds cd /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/sdk ln -sf ../local-feed/zkp-hamiltonian/openwrt feeds/local/zkp-hamiltonian || true ls -la feeds/local/)",
"WebFetch(domain:www.linkedin.com)",
"WebFetch(domain:www.crowdsec.net)",
"Bash(apt-cache search:*)",
"Bash(musl-gcc:*)",
"Bash(docker run:*)",
"Bash(PATH=/tmp/sdk-x86/openwrt-sdk-24.10.5-x86-64_gcc-13.3.0_musl.Linux-x86_64/staging_dir/toolchain-x86_64_gcc-13.3.0_musl/bin:$PATH STAGING_DIR=/tmp/sdk-x86/openwrt-sdk-24.10.5-x86-64_gcc-13.3.0_musl.Linux-x86_64/staging_dir make:*)",
"Bash(/usr/bin/tail:*)",
"Bash(/usr/bin/make:*)",
"Bash(/tmp/build-zkp-x86.sh:*)",
"Bash(__NEW_LINE_a9089175728efc91__ echo \"\")",
"WebFetch(domain:pent.gk2.secubox.in)",
"Bash(__NEW_LINE_84a971cd6a876509__ echo \"Done deploying to clone\")",
"Bash(# Remove build artifacts from staging git reset HEAD -- package/secubox/zkp-hamiltonian/build-musl/ package/secubox/zkp-hamiltonian/build-static/ package/secubox/zkp-hamiltonian/build-x86/ # Add to gitignore echo \"\"package/secubox/zkp-hamiltonian/build-*/\"\" # Check status git status --short)",
"Bash(do if ping -c 1 -W 2 192.168.255.156)",
"Bash(break)",
"Bash(if ping -c 1 -W 3 192.168.255.156)",
"Bash(else)",
"Bash(timeout 5 nmap:*)",
"Bash(# Check if extension 103 is registered via WebRTC ssh root@192.168.255.1 ''lxc-attach -n voip -- asterisk -rx \"\"pjsip show endpoint 103\"\"'')",
"Bash(__NEW_LINE_fbba53781de06448__ echo \"\")",
"Bash(__NEW_LINE_7adb9e690b841028__ echo \"\")",
"Bash(# Check working handler for comparison ssh root@192.168.255.1 ''grep -B2 -A2 \"\"\\\\\"\"date\\\\\"\"\"\" /usr/libexec/rpcd/luci.*'')",
"Bash(__NEW_LINE_ee8b189db819820d__ echo \"=== With today ===\")",
"Bash(__NEW_LINE_e1793f41c1d27989__ echo \"\")",
"Bash(__NEW_LINE_7e8dc30c01cd1540__ echo \"\")",
"Bash(__NEW_LINE_0a0a0b37fa13066b__ echo \"\")",
"Bash(__NEW_LINE_d0cebf6ba4912400__ echo \"\")",
"Bash(__NEW_LINE_41137796261af220__ echo \"\")",
"Bash(__NEW_LINE_8122080078617a43__ echo \"\")",
"Bash(__NEW_LINE_8d3e1ffe310240e9__ cat /home/reepost/CyberMindStudio/secubox-openwrt/package/secubox/zkp-hamiltonian/build-x86/zkp_keygen)",
"Bash(__NEW_LINE_3381982c6fa3c38b__ cat /home/reepost/CyberMindStudio/secubox-openwrt/package/secubox/zkp-hamiltonian/build-x86/zkp_prover)",
"Bash(__NEW_LINE_ffe3f82cb7ee419e__ echo \"\")",
"Bash(__NEW_LINE_022e6caf7fe283a0__ echo \"=== Deploy zkp_keygen ===\")",
"Bash(__NEW_LINE_cd413f540bbce32c__ echo \"=== Deploy zkp_prover ===\")",
"Bash(__NEW_LINE_de05005644963f24__ echo \"\")",
"Bash(__NEW_LINE_bdbb5578159f1cea__ echo \"=== Transfer clone proof to master ===\")",
"Bash(__NEW_LINE_ccff6a83615ec364__ echo \"\")",
"Bash(__NEW_LINE_4ae32f0682f969f7__ echo \"\")",
"Bash(__NEW_LINE_9355573ea4eaaf97__ echo \"\")",
"Bash(__NEW_LINE_2d1b6ec757fae311__ echo \"\")",
"Bash(__NEW_LINE_f8bfff16bb831fd7__ echo \"\")",
"Bash(__NEW_LINE_c5c381a297636f7e__ echo \"\")",
"Bash(__NEW_LINE_f49c6da736d3f42b__ echo \"=== Check master DHT ===\")",
"Bash(__NEW_LINE_f49c6da736d3f42b__ echo \"\")",
"Bash(__NEW_LINE_ea3ae0dc3d3aaef0__ echo \"\")",
"Bash(__NEW_LINE_987d8798582642d8__ echo \"\")",
"Bash(__NEW_LINE_e9d215c8ae3f794b__ echo \"\")",
"Bash(__NEW_LINE_bf7149c19b0ef674__ echo \"\")",
"Bash(__NEW_LINE_a6f7aa1271a4ac1e__ echo \"\")",
"Bash(GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build:*)",
"Bash(GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build:*)",
"Bash(exec bash -c 'cd /home/reepost && pwd')",
"Bash(HOME=/home/reepost exec /bin/bash --login -c 'cd /home/reepost/CyberMindStudio/secubox-openwrt && pwd && df -h / | tail -1')",
"Bash(/bin/sh -c 'cd /home/reepost/CyberMindStudio/secubox-openwrt && pwd')",
"Bash(/bin/sh:*)",
"Bash(/usr/bin/whoami:*)",
"Bash(/bin/echo:*)",
"Bash(git clone:*)",
"Bash(/bin/ls:*)",
"Bash(pip show:*)",
"Bash(uvx:*)",
"Bash(claude mcp add:*)",
"WebFetch(domain:openclaw.ai)",
"Bash(SSH_AUTH_SOCK=/run/user/1000/keyring/ssh ssh:*)",
"Bash(unset:*)",
"Bash(SSH_ASKPASS=\"\" DISPLAY=\"\" SSH_AUTH_SOCK=/run/user/1000/keyring/ssh ssh:*)",
"Bash(./secubox-tools/pre-deploy-lint.sh:*)"
]
}
}