From aa741232286deec3cd8aaf7f81d5fe1999aa95e2 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sat, 11 Apr 2026 16:47:53 +0300 Subject: [PATCH 001/111] feature: docker: io: rizin, yara --- docker/Dockerfile.io | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 8beac74e..8c471192 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -22,7 +22,7 @@ ARG NVIM_VERSION=0.12.0 ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" ARG HASKELL_DEPS="build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev pkg-config" -ARG DEPS="upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG DEPS="gdb upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" RUN apt-get update && \ apt-get upgrade -y && \ @@ -42,7 +42,7 @@ RUN apt-get update && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm rust go deno fasm nvim haskell -d /usr/local/src && \ + bun ${BUN_INSTALL}/bin/palabra i nvm rust go deno fasm nvim haskell rizin yara -d /usr/local/src && \ echo "> install node" && \ . $NVM_DIR/nvm.sh && \ nvm i node && \ From 32a8f169d47bdd442c018abfa08dd64ca1e43076 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sat, 11 Apr 2026 16:48:39 +0300 Subject: [PATCH 002/111] feature: docker: io: get rid of haskell: to slow install --- docker/Dockerfile.io | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 8c471192..1c5139ad 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -17,17 +17,14 @@ ENV DEBIAN_FRONTEND=noninteractive \ BUN_INSTALL=/usr/local/src/bun \ NPM_CONFIG_CACHE=/tmp/.npm -ARG GO_VERSION=1.21.2 -ARG NVIM_VERSION=0.12.0 ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" -ARG HASKELL_DEPS="build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev pkg-config" ARG DEPS="gdb upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" RUN apt-get update && \ apt-get upgrade -y && \ apt-get autoremove && \ - apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${HASKELL_DEPS} ${DEPS} && \ + apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ apt-get autoremove && \ @@ -35,20 +32,24 @@ RUN apt-get update && \ echo "> create user" && \ useradd -m -s /bin/bash -u 1337 instalador && \ chown -R instalador /usr/local && \ - chown -R instalador /usr/local && \ - su instalador && \ - echo "> install bun" && \ + chown -R instalador /tmp + +USER instalador + +RUN echo "> install bun" && \ curl https://bun.sh/install | bash && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm rust go deno fasm nvim haskell rizin yara -d /usr/local/src && \ + bun ${BUN_INSTALL}/bin/palabra i nvm rust go deno fasm nvim rizin yara -d /usr/local/src && \ echo "> install node" && \ . $NVM_DIR/nvm.sh && \ nvm i node && \ - ln -fs /${NVM_DIR}/versions/node/$(node -v)/bin/node /usr/local/bin/node && \ - echo "> remove user" && \ - exit && \ + ln -fs /${NVM_DIR}/versions/node/$(node -v)/bin/node /usr/local/bin/node + +USER root + +RUN echo "> remove user" && \ userdel -r instalador && \ echo "> install gritty" && \ bun r gritty --omit dev && \ From f61cc46f41f3232a0c2f1ff15be136e73a6e8582 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sat, 11 Apr 2026 16:49:16 +0300 Subject: [PATCH 003/111] chore: cloudcmd: v19.12.2 --- ChangeLog | 6 ++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 11e59b62..25d464b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2026.04.11, v19.12.2 + +feature: +- 2ce11fa2 docker: io: get rid of haskell: to slow install +- aa741232 docker: io: rizin, yara + 2026.04.09, v19.12.1 feature: diff --git a/HELP.md b/HELP.md index b2fb288e..eb4a19e6 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.1 +# Cloud Commander v19.12.2 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1114,6 +1114,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.11*, **[v19.12.2](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.2)** - *2026.04.09*, **[v19.12.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.1)** - *2026.04.09*, **[v19.12.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.0)** - *2026.04.07*, **[v19.11.14](//github.com/coderaiser/cloudcmd/releases/tag/v19.11.14)** diff --git a/README.md b/README.md index 835a1e41..31f56d0d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.1 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.12.2 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index c87381f4..b7ac91b4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.12.1", + "version": "19.12.2", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From cb6cabd4c9ca17acadee68d5ff4f9574bb561b17 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 12:54:58 +0300 Subject: [PATCH 004/111] feature: docker: io: PALABRA_DIR --- docker/Dockerfile.io | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 1c5139ad..05128142 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -15,7 +15,8 @@ ENV DEBIAN_FRONTEND=noninteractive \ npm_config_cache=/tmp/npm-cache \ PATH=/usr/local/src/bun/bin:$PATH \ BUN_INSTALL=/usr/local/src/bun \ - NPM_CONFIG_CACHE=/tmp/.npm + NPM_CONFIG_CACHE=/tmp/.npm \ + PALABRA_DIR=/usr/local/src ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" @@ -41,7 +42,7 @@ RUN echo "> install bun" && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm rust go deno fasm nvim rizin yara -d /usr/local/src && \ + bun ${BUN_INSTALL}/bin/palabra i nvm rust go deno fasm nvim rizin yara && \ echo "> install node" && \ . $NVM_DIR/nvm.sh && \ nvm i node && \ From 5e509a4d7bec40205d02fa90181c1e6c7a4907f5 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 13:04:53 +0300 Subject: [PATCH 005/111] chore: cloudcmd: v19.12.3 --- ChangeLog | 5 +++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 25d464b0..5f3fe491 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2026.04.12, v19.12.3 + +feature: +- cb6cabd4 docker: io: PALABRA_DIR + 2026.04.11, v19.12.2 feature: diff --git a/HELP.md b/HELP.md index eb4a19e6..7c49c424 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.2 +# Cloud Commander v19.12.3 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1114,6 +1114,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.12*, **[v19.12.3](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.3)** - *2026.04.11*, **[v19.12.2](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.2)** - *2026.04.09*, **[v19.12.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.1)** - *2026.04.09*, **[v19.12.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.0)** diff --git a/README.md b/README.md index 31f56d0d..aa1be57e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.2 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.12.3 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index b7ac91b4..eb8a3240 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.12.2", + "version": "19.12.3", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From d37f8cd36ee21126897ebad8dda38de0104da5b2 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 13:56:16 +0300 Subject: [PATCH 006/111] feature: docker: io: palabra: node --- docker/Dockerfile.io | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 05128142..f5196ce9 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -42,11 +42,9 @@ RUN echo "> install bun" && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm rust go deno fasm nvim rizin yara && \ + bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara && \ echo "> install node" && \ - . $NVM_DIR/nvm.sh && \ - nvm i node && \ - ln -fs /${NVM_DIR}/versions/node/$(node -v)/bin/node /usr/local/bin/node + . $NVM_DIR/nvm.sh USER root From 673fba2e21358f4ba9ff26cb0fcd810bed7b8854 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 14:01:11 +0300 Subject: [PATCH 007/111] feature: docker: io: haskell --- docker/Dockerfile.io | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index f5196ce9..a012cb2e 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -21,11 +21,12 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" ARG DEPS="gdb upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG HASKELL_DEPS="build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev pkg-config" RUN apt-get update && \ apt-get upgrade -y && \ apt-get autoremove && \ - apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} && \ + apt-get install -y ${UBUNTU_DEPS} ${HASKELL_DEPS} ${RUST_DEPES} ${DEPS} && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ apt-get autoremove && \ @@ -42,7 +43,7 @@ RUN echo "> install bun" && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara && \ + bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara haskell && \ echo "> install node" && \ . $NVM_DIR/nvm.sh From 9915757dced46e27422d2e740c13cbde0c2f03e5 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 14:01:38 +0300 Subject: [PATCH 008/111] chore: cloudcmd: v19.12.4 --- ChangeLog | 6 ++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f3fe491..6e8f9179 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2026.04.12, v19.12.4 + +feature: +- 3c2b5658 docker: io: haskell +- d37f8cd3 docker: io: palabra: node + 2026.04.12, v19.12.3 feature: diff --git a/HELP.md b/HELP.md index 7c49c424..1429b81b 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.3 +# Cloud Commander v19.12.4 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1114,6 +1114,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.12*, **[v19.12.4](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.4)** - *2026.04.12*, **[v19.12.3](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.3)** - *2026.04.11*, **[v19.12.2](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.2)** - *2026.04.09*, **[v19.12.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.1)** diff --git a/README.md b/README.md index aa1be57e..5322383d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.3 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.12.4 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index eb8a3240..85086f61 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.12.3", + "version": "19.12.4", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From 1cfc1a6f5d8371505335175321ba88ea0ad67e45 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 18:03:46 +0300 Subject: [PATCH 009/111] feature: docker: io: only amd64 --- .github/workflows/docker.yml | 2 +- docker/Dockerfile.io | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f687d5ec..1b7ae373 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -89,7 +89,7 @@ jobs: with: context: . file: docker/Dockerfile.io - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 push: true tags: | coderaiser/cloudcmd:io diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index a012cb2e..fc26e10a 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -86,7 +86,6 @@ ENV cloudcmd_terminal=true \ cloudcmd_open=false \ PATH=node_modules/.bin:$PATH \ PATH=~/.local/bin:$PATH \ - PATH=/usr/local/src/bun/bin:$PATH \ BUN_INSTALL_CACHE_DIR=/tmp/bun-cache \ DENO_DIR=/tmp/deno-cache \ LANG=en_US.UTF-8 \ From a6b01dce494663f8271365c773be37d558abd078 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 18:29:21 +0300 Subject: [PATCH 010/111] chore: actions: cache --- .github/workflows/docker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1b7ae373..2260ffc5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -91,6 +91,8 @@ jobs: file: docker/Dockerfile.io platforms: linux/amd64 push: true + cache-from: type=gha + cache-to: type=gha,mode=max tags: | coderaiser/cloudcmd:io coderaiser/cloudcmd:${{ steps.build.outputs.version }}-io From e7242900a4c9feac132d1ddccfb100a7e4abdb8a Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 18:37:13 +0300 Subject: [PATCH 011/111] chore: docker: io: get rid of haskell --- docker/Dockerfile.io | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index fc26e10a..dbbe3894 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -21,12 +21,11 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" ARG DEPS="gdb upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" -ARG HASKELL_DEPS="build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev pkg-config" RUN apt-get update && \ apt-get upgrade -y && \ apt-get autoremove && \ - apt-get install -y ${UBUNTU_DEPS} ${HASKELL_DEPS} ${RUST_DEPES} ${DEPS} && \ + apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ apt-get autoremove && \ @@ -43,7 +42,7 @@ RUN echo "> install bun" && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara haskell && \ + bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara && \ echo "> install node" && \ . $NVM_DIR/nvm.sh From ef06a0c3106ea55d2ad0c03b50c5497601e86974 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 18:04:18 +0300 Subject: [PATCH 012/111] chore: cloudcmd: v19.12.5 --- ChangeLog | 5 +++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6e8f9179..f5950df7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2026.04.12, v19.12.5 + +feature: +- 1cfc1a6f docker: io: only amd64 + 2026.04.12, v19.12.4 feature: diff --git a/HELP.md b/HELP.md index 1429b81b..80b48d36 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.4 +# Cloud Commander v19.12.5 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1114,6 +1114,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.12*, **[v19.12.5](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.5)** - *2026.04.12*, **[v19.12.4](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.4)** - *2026.04.12*, **[v19.12.3](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.3)** - *2026.04.11*, **[v19.12.2](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.2)** diff --git a/README.md b/README.md index 5322383d..a3b63af4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.4 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.12.5 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index 85086f61..40908b65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.12.4", + "version": "19.12.5", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From a89e901b2b27b13c37550005ceb581cfc742c68d Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 18:59:03 +0300 Subject: [PATCH 013/111] feature: actions: docker: io: add --- .github/workflows/docker-io.yml | 60 +++++++++++++++++++++++++++++++++ .github/workflows/docker.yml | 14 -------- 2 files changed, 60 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/docker-io.yml diff --git a/.github/workflows/docker-io.yml b/.github/workflows/docker-io.yml new file mode 100644 index 00000000..3f178c7f --- /dev/null +++ b/.github/workflows/docker-io.yml @@ -0,0 +1,60 @@ +name: Docker CI IO +on: + - push +jobs: + buildx: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v5 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + - name: Use Node.js 24.x + uses: actions/setup-node@v6 + with: + node-version: 24.x + - name: Install Redrun + run: bun i redrun -g --no-save + - name: NPM Install + run: bun i --no-save + - name: Lint + run: redrun lint + - name: Build + id: build + run: | + redrun build + VERSION=$(grep '"version":' package.json -m1 | cut -d\" -f4) + echo "version=$VERSION" >> $GITHUB_OUTPUT + - name: Set up QEMU + uses: docker/setup-qemu-action@v4 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + - name: Login to DockerHub + uses: docker/login-action@v4 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v4 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push io-image + uses: docker/build-push-action@v7 + with: + context: . + file: docker/Dockerfile.io + platforms: linux/amd64 + push: true + cache-from: type=gha + cache-to: type=gha,mode=max + tags: | + coderaiser/cloudcmd:io + coderaiser/cloudcmd:${{ steps.build.outputs.version }}-io + ghcr.io/${{ github.repository }}-io + ghcr.io/${{ github.repository }}:${{ steps.build.outputs.version }}-io diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2260ffc5..1a85b29e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -84,17 +84,3 @@ jobs: coderaiser/cloudcmd:${{ steps.build.outputs.version }}-slim ghcr.io/${{ github.repository }}-slim ghcr.io/${{ github.repository }}:${{ steps.build.outputs.version }}-slim - - name: Build and push io-image - uses: docker/build-push-action@v7 - with: - context: . - file: docker/Dockerfile.io - platforms: linux/amd64 - push: true - cache-from: type=gha - cache-to: type=gha,mode=max - tags: | - coderaiser/cloudcmd:io - coderaiser/cloudcmd:${{ steps.build.outputs.version }}-io - ghcr.io/${{ github.repository }}-io - ghcr.io/${{ github.repository }}:${{ steps.build.outputs.version }}-io From b0687b54c777fc52fead3277ed9022a28c428eb9 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 22:16:30 +0300 Subject: [PATCH 014/111] chore: docker: io: get back haskell --- docker/Dockerfile.io | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index dbbe3894..299b1091 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -20,12 +20,13 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" +ARG HASKELL_DEPS="build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev pkg-config" ARG DEPS="gdb upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" RUN apt-get update && \ apt-get upgrade -y && \ apt-get autoremove && \ - apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} && \ + apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} ${HASKELL_DEPS} && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ apt-get autoremove && \ @@ -42,7 +43,7 @@ RUN echo "> install bun" && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara && \ + bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara haskell && \ echo "> install node" && \ . $NVM_DIR/nvm.sh @@ -60,6 +61,7 @@ RUN echo "> remove user" && \ echo "> configure bash" && \ echo "alias ls='ls --color=auto'" >> /etc/bash.bashrc && \ echo "alias buni='bun i --no-save'" >> /etc/bash.bashrc && \ + echo "alias ghci='ghc --interactive'" >> /etc/bash.bashrc && \ echo "alias bat='batcat'" >> /etc/bash.bashrc && \ echo ". /usr/local/src/nvm/nvm.sh" >> /etc/bash.bashrc && \ echo 'PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "' >> /etc/bash.bashrc && \ From da0c4c47049d39e442d949dbdb5be69f17cd15a2 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 12 Apr 2026 22:48:28 +0300 Subject: [PATCH 015/111] chore: actions: docker: io: rm cache --- .github/workflows/docker-io.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/docker-io.yml b/.github/workflows/docker-io.yml index 3f178c7f..c6ba149a 100644 --- a/.github/workflows/docker-io.yml +++ b/.github/workflows/docker-io.yml @@ -1,4 +1,4 @@ -name: Docker CI IO +name: Docker IO on: - push jobs: @@ -51,8 +51,6 @@ jobs: file: docker/Dockerfile.io platforms: linux/amd64 push: true - cache-from: type=gha - cache-to: type=gha,mode=max tags: | coderaiser/cloudcmd:io coderaiser/cloudcmd:${{ steps.build.outputs.version }}-io From 7d0098fd5cdec4dba87b8af29ea3f10e04502e8d Mon Sep 17 00:00:00 2001 From: coderiaser Date: Mon, 13 Apr 2026 01:25:38 +0300 Subject: [PATCH 016/111] feature: docker: io: XDG_CACHE_HOME=/tmp/cache --- docker/Dockerfile.io | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 299b1091..33e80c53 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -92,7 +92,8 @@ ENV cloudcmd_terminal=true \ LANG=en_US.UTF-8 \ LANGUAGE=en_US:en \ LC_ALL=en_US.UTF-8 \ - TERM=xterm-256color + TERM=xterm-256color \ + XDG_CACHE_HOME=/tmp/cache EXPOSE 8000 From 15537ec5180f44d0e9369c9bd46911a6f3ed4e22 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Mon, 13 Apr 2026 22:36:54 +0300 Subject: [PATCH 017/111] chore: docker: io: remove haskell This reverts commit b0687b54c777fc52fead3277ed9022a28c428eb9. --- docker/Dockerfile.io | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 33e80c53..9715505a 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -20,13 +20,12 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" -ARG HASKELL_DEPS="build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev pkg-config" ARG DEPS="gdb upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" RUN apt-get update && \ apt-get upgrade -y && \ apt-get autoremove && \ - apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} ${HASKELL_DEPS} && \ + apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ apt-get autoremove && \ @@ -43,7 +42,7 @@ RUN echo "> install bun" && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara haskell && \ + bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara && \ echo "> install node" && \ . $NVM_DIR/nvm.sh @@ -61,7 +60,6 @@ RUN echo "> remove user" && \ echo "> configure bash" && \ echo "alias ls='ls --color=auto'" >> /etc/bash.bashrc && \ echo "alias buni='bun i --no-save'" >> /etc/bash.bashrc && \ - echo "alias ghci='ghc --interactive'" >> /etc/bash.bashrc && \ echo "alias bat='batcat'" >> /etc/bash.bashrc && \ echo ". /usr/local/src/nvm/nvm.sh" >> /etc/bash.bashrc && \ echo 'PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "' >> /etc/bash.bashrc && \ From 977a8aaaf4ed6494c35ce3bfe8e057ee06c106f7 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Mon, 13 Apr 2026 22:40:14 +0300 Subject: [PATCH 018/111] feature: docker: io: strace: add --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 9715505a..095ec85d 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -20,7 +20,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" -ARG DEPS="gdb upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG DEPS="gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" RUN apt-get update && \ apt-get upgrade -y && \ From 48693d9e24b14f9456c9bdc47187fdc86bfe3a81 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 14 Apr 2026 00:09:31 +0300 Subject: [PATCH 019/111] fix: docker: io: XDG_CACHE_HOME --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 095ec85d..cd340a69 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -91,7 +91,7 @@ ENV cloudcmd_terminal=true \ LANGUAGE=en_US:en \ LC_ALL=en_US.UTF-8 \ TERM=xterm-256color \ - XDG_CACHE_HOME=/tmp/cache + XDG_CACHE_HOME=/tmp EXPOSE 8000 From 2b3dc1573d7366e802d2a43d86aa23e0e7e2f1b7 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Wed, 15 Apr 2026 01:35:01 +0300 Subject: [PATCH 020/111] feature: cloudcmd: Ctrl + L: logout --- .github/workflows/docker-io.yml | 2 +- HELP.md | 1 + client/key/index.js | 8 ++++++++ client/key/key.js | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-io.yml b/.github/workflows/docker-io.yml index c6ba149a..beff4589 100644 --- a/.github/workflows/docker-io.yml +++ b/.github/workflows/docker-io.yml @@ -1,6 +1,6 @@ name: Docker IO on: - - push + - push jobs: buildx: runs-on: ubuntu-latest diff --git a/HELP.md b/HELP.md index 80b48d36..dbd28e67 100644 --- a/HELP.md +++ b/HELP.md @@ -186,6 +186,7 @@ Then, start the server again with `cloudcmd` and reload the page. | `Ctrl + R` | refresh | `Ctrl + D` | clear local storage | `Ctrl + A` | select all files in a panel +| `Ctrl + L` | logout | `Ctrl + M` | [rename selected files](https://github.com/coderaiser/cloudcmd/releases/tag/v12.1.0) in editor | `Ctrl + U` | swap panels | `Ctrl + F3` | sort by name diff --git a/client/key/index.js b/client/key/index.js index 31f659bc..6f55746c 100644 --- a/client/key/index.js +++ b/client/key/index.js @@ -442,6 +442,14 @@ async function _switchKey(event) { break; + case KEY.L: + if (ctrlMeta) { + CloudCmd.logOut(); + event.preventDefault(); + } + + break; + case KEY.M: if (ctrlMeta) { if (config('vim')) diff --git a/client/key/key.js b/client/key/key.js index 66120e74..6772e34c 100644 --- a/client/key/key.js +++ b/client/key/key.js @@ -22,6 +22,7 @@ export const D = 68; export const G = 71; export const J = 74; export const K = 75; +export const L = 76; export const M = 77; export const O = 79; export const P = 80; From 24fd0a8aa75de378cf34adcebb258169633737eb Mon Sep 17 00:00:00 2001 From: coderiaser Date: Wed, 15 Apr 2026 02:16:54 +0300 Subject: [PATCH 021/111] chore: cloudcmd: v19.13.0 --- ChangeLog | 11 +++++++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index f5950df7..fd3d5b27 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2026.04.15, v19.13.0 + +fix: +- 48693d9e docker: io: XDG_CACHE_HOME + +feature: +- 4b2395c5 cloudcmd: Ctrl + L: logout +- 977a8aaa docker: io: strace: add +- 7d0098fd docker: io: XDG_CACHE_HOME=/tmp/cache +- a89e901b actions: docker: io: add + 2026.04.12, v19.12.5 feature: diff --git a/HELP.md b/HELP.md index dbd28e67..f8009f55 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.5 +# Cloud Commander v19.13.0 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1115,6 +1115,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.15*, **[v19.13.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.0)** - *2026.04.12*, **[v19.12.5](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.5)** - *2026.04.12*, **[v19.12.4](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.4)** - *2026.04.12*, **[v19.12.3](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.3)** diff --git a/README.md b/README.md index a3b63af4..cd4a6c4a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.12.5 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.13.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index 40908b65..91822ccd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.12.5", + "version": "19.13.0", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From 7c0dca6038887521187506f12e0389bfaece6e23 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Wed, 15 Apr 2026 16:22:31 +0300 Subject: [PATCH 022/111] feature: docker: io: git: master --- docker/Dockerfile.io | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index cd340a69..40fff361 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -57,6 +57,7 @@ RUN echo "> remove user" && \ echo "> setup git" && \ git config --global core.whitespace -trailing-space && \ git config --global pull.rebase true && \ + git config --global init.defaultBranch master && \ echo "> configure bash" && \ echo "alias ls='ls --color=auto'" >> /etc/bash.bashrc && \ echo "alias buni='bun i --no-save'" >> /etc/bash.bashrc && \ From b1bc4e731f3aab14f9f5dda2f2177146bdd50e1b Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 19 Apr 2026 19:34:22 +0300 Subject: [PATCH 023/111] feature: Docker: io: pv --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 40fff361..825df4b9 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -20,7 +20,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" -ARG DEPS="gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG DEPS="pv gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" RUN apt-get update && \ apt-get upgrade -y && \ From 0541b7e3519f9cda7acc383196a3009ca6b5322c Mon Sep 17 00:00:00 2001 From: coderaiser Date: Sun, 19 Apr 2026 16:35:25 +0000 Subject: [PATCH 024/111] =?UTF-8?q?chore:=20cloudcmd:=20actions:=20lint=20?= =?UTF-8?q?=E2=98=98=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .npmignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.npmignore b/.npmignore index a895f142..04da926f 100644 --- a/.npmignore +++ b/.npmignore @@ -5,13 +5,12 @@ *.cdr *.eps *.log -*.loc +*.lock .* manifest.yml docker-compose.yml -yarn.lock now.json app.json bower.json From 1637beee78bd27cd57204d787a59e7339bfa9646 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Mon, 20 Apr 2026 23:46:17 +0300 Subject: [PATCH 025/111] feature: docker: io: /usr/local/src -> /usr/local/share --- docker/Dockerfile.io | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 825df4b9..1b9931ee 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -10,13 +10,13 @@ WORKDIR /usr/src/cloudcmd COPY package.json /usr/src/cloudcmd/ ENV DEBIAN_FRONTEND=noninteractive \ - NVM_DIR=/usr/local/src/nvm \ + NVM_DIR=/usr/local/share/nvm \ PREFIX=/usr/local \ npm_config_cache=/tmp/npm-cache \ - PATH=/usr/local/src/bun/bin:$PATH \ - BUN_INSTALL=/usr/local/src/bun \ + PATH=/usr/local/share/bun/bin:$PATH \ + BUN_INSTALL=/usr/local/share/bun \ NPM_CONFIG_CACHE=/tmp/.npm \ - PALABRA_DIR=/usr/local/src + PALABRA_DIR=/usr/local/share ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" ARG RUST_DEPS="build-essential" @@ -62,7 +62,7 @@ RUN echo "> remove user" && \ echo "alias ls='ls --color=auto'" >> /etc/bash.bashrc && \ echo "alias buni='bun i --no-save'" >> /etc/bash.bashrc && \ echo "alias bat='batcat'" >> /etc/bash.bashrc && \ - echo ". /usr/local/src/nvm/nvm.sh" >> /etc/bash.bashrc && \ + echo ". /usr/local/share/nvm/nvm.sh" >> /etc/bash.bashrc && \ echo 'PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "' >> /etc/bash.bashrc && \ echo "> setup inputrc" && \ echo "set editing-mode vi" >> /etc/inputrc && \ @@ -92,7 +92,8 @@ ENV cloudcmd_terminal=true \ LANGUAGE=en_US:en \ LC_ALL=en_US.UTF-8 \ TERM=xterm-256color \ - XDG_CACHE_HOME=/tmp + XDG_CACHE_HOME=/tmp \ + XDG_DATA_HOME=/usr/local/share EXPOSE 8000 From dc94d2db7a2cf8822655aa34c356df85b8b7555e Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 21 Apr 2026 15:43:54 +0300 Subject: [PATCH 026/111] feature: docker: io: add latest git version --- docker/Dockerfile.io | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 1b9931ee..302cd996 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -18,7 +18,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ NPM_CONFIG_CACHE=/tmp/.npm \ PALABRA_DIR=/usr/local/share -ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2" +ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties-common" ARG RUST_DEPS="build-essential" ARG DEPS="pv gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" @@ -26,8 +26,11 @@ RUN apt-get update && \ apt-get upgrade -y && \ apt-get autoremove && \ apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} && \ + echo "> Install git" && \ + add-apt-repository ppa:git-core/ppa -y && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ + apt-get upgrade -y && \ apt-get autoremove && \ apt-get clean && \ echo "> create user" && \ From d5cd11e812f4223095703b9a9516cad5864ac558 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 21 Apr 2026 23:29:44 +0300 Subject: [PATCH 027/111] feature: cloudcmd: montag v2.0.1 --- client/modules/edit.js | 2 +- common/cloudfunc.spec.js | 2 +- package.json | 2 +- server/user-menu.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/modules/edit.js b/client/modules/edit.js index 1b726284..593a11cb 100644 --- a/client/modules/edit.js +++ b/client/modules/edit.js @@ -1,5 +1,5 @@ /* global CloudCmd */ -import montag from 'montag'; +import {montag} from 'montag'; import {promisify} from 'es6-promisify'; import {tryToCatch} from 'try-to-catch'; import createElement from '@cloudcmd/create-element'; diff --git a/common/cloudfunc.spec.js b/common/cloudfunc.spec.js index 51408a87..dca24b5a 100644 --- a/common/cloudfunc.spec.js +++ b/common/cloudfunc.spec.js @@ -1,6 +1,6 @@ import {readFileSync} from 'node:fs'; import test from 'supertape'; -import montag from 'montag'; +import {montag} from 'montag'; import * as cheerio from 'cheerio'; import { _getSize, diff --git a/package.json b/package.json index 91822ccd..32a2fdab 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "markdown-it": "^14.0.0", "mellow": "^3.0.0", "mime-types": "^3.0.1", - "montag": "^1.2.1", + "montag": "^2.0.1", "nano-memoize": "^3.0.16", "nomine": "^4.0.0", "once": "^1.4.0", diff --git a/server/user-menu.js b/server/user-menu.js index 9e01b992..53599553 100644 --- a/server/user-menu.js +++ b/server/user-menu.js @@ -2,7 +2,7 @@ import {homedir} from 'node:os'; import {readFile as _readFile} from 'node:fs/promises'; import {join} from 'node:path'; // warm up worker cache -import montag from 'montag'; +import {montag} from 'montag'; import {tryToCatch} from 'try-to-catch'; import currify from 'currify'; import {putout, codeframe} from 'putout'; From 87c13e7cce686d767a8a384e82fc567b029d5d2e Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 21 Apr 2026 23:31:22 +0300 Subject: [PATCH 028/111] chore: cloudcmd: v19.13.1 --- ChangeLog | 9 +++++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index fd3d5b27..569a87bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2026.04.21, v19.13.1 + +feature: +- d5cd11e8 cloudcmd: montag v2.0.1 +- dc94d2db docker: io: add latest git version +- 1637beee docker: io: /usr/local/src -> /usr/local/share +- b1bc4e73 Docker: io: pv +- 7c0dca60 docker: io: git: master + 2026.04.15, v19.13.0 fix: diff --git a/HELP.md b/HELP.md index f8009f55..5deebdd0 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.13.0 +# Cloud Commander v19.13.1 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1115,6 +1115,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.21*, **[v19.13.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.1)** - *2026.04.15*, **[v19.13.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.0)** - *2026.04.12*, **[v19.12.5](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.5)** - *2026.04.12*, **[v19.12.4](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.4)** diff --git a/README.md b/README.md index cd4a6c4a..770d6c35 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.13.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.13.1 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index 32a2fdab..1df08391 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.13.0", + "version": "19.13.1", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From c4beeec63b1d7fbb4e6cd3d10ade36b9bc60a6c5 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 26 Apr 2026 12:06:57 +0300 Subject: [PATCH 029/111] feature: docker: io: gdu: add --- docker/Dockerfile.io | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 302cd996..dc66d741 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -21,6 +21,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties-common" ARG RUST_DEPS="build-essential" ARG DEPS="pv gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG PALABRA_DEPS="nvm node rust go deno fasm nvim rizin yara gdu" RUN apt-get update && \ apt-get upgrade -y && \ @@ -45,7 +46,7 @@ RUN echo "> install bun" && \ echo "> install npm globals" && \ bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install rust go deno bun fasm nvim" && \ - bun ${BUN_INSTALL}/bin/palabra i nvm node rust go deno fasm nvim rizin yara && \ + bun ${BUN_INSTALL}/bin/palabra i ${PALABRA_DEPS} && \ echo "> install node" && \ . $NVM_DIR/nvm.sh From cd6c11ace29630c48c744bc4be786039d4b0d57e Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 26 Apr 2026 18:29:45 +0300 Subject: [PATCH 030/111] feature: docker: io: far2l --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index dc66d741..35a5c542 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -20,7 +20,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties-common" ARG RUST_DEPS="build-essential" -ARG DEPS="pv gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG DEPS="pv gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc far2l iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" ARG PALABRA_DEPS="nvm node rust go deno fasm nvim rizin yara gdu" RUN apt-get update && \ From ea7b828cbb7641a70be18cda55514f6f59c8932f Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 26 Apr 2026 18:38:39 +0300 Subject: [PATCH 031/111] feature: docker: io: ubuntu: resolute --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 35a5c542..ffb27654 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -1,4 +1,4 @@ -FROM ubuntu +FROM ubuntu:resolute LABEL maintainer="Coderaiser" LABEL org.opencontainers.image.source="https://github.com/coderaiser/cloudcmd" From 1e1b073c8c23a7421d814c02ebf663aec686fa27 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 26 Apr 2026 20:35:01 +0300 Subject: [PATCH 032/111] feature: docker: io: /usr/src/cloudcmd -> /usr/local/share/cloudcmd --- docker/Dockerfile.io | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index ffb27654..ffa99293 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -3,11 +3,11 @@ FROM ubuntu:resolute LABEL maintainer="Coderaiser" LABEL org.opencontainers.image.source="https://github.com/coderaiser/cloudcmd" -RUN mkdir -p /usr/src/cloudcmd +RUN mkdir -p /usr/local/share/cloudcmd -WORKDIR /usr/src/cloudcmd +WORKDIR /usr/local/share/cloudcmd -COPY package.json /usr/src/cloudcmd/ +COPY package.json /usr/local/share/cloudcmd/ ENV DEBIAN_FRONTEND=noninteractive \ NVM_DIR=/usr/local/share/nvm \ @@ -58,6 +58,8 @@ RUN echo "> remove user" && \ bun r gritty --omit dev && \ bun i gritty --omit dev && \ bun pm cache rm && \ + echo "> setup cloudcmd" && \ + ln -s /usr/local/share/cloudcmd/bin/cloudcmd.js /usr/local/bin/cloudcmd && \ echo "> setup git" && \ git config --global core.whitespace -trailing-space && \ git config --global pull.rebase true && \ @@ -81,12 +83,13 @@ RUN echo "> remove user" && \ echo "el_GR.UTF-8 UTF-8" >> /etc/locale.gen && \ locale-gen -COPY . /usr/src/cloudcmd +COPY . /usr/local/share/cloudcmd WORKDIR / ENV cloudcmd_terminal=true \ cloudcmd_terminal_path=gritty \ + cloudcmd_vim=true \ cloudcmd_open=false \ PATH=node_modules/.bin:$PATH \ PATH=~/.local/bin:$PATH \ @@ -101,4 +104,4 @@ ENV cloudcmd_terminal=true \ EXPOSE 8000 -ENTRYPOINT ["/usr/src/cloudcmd/bin/cloudcmd.js"] +ENTRYPOINT ["/usr/local/share/cloudcmd/bin/cloudcmd.js"] From 591da25cfe4767110c2b33091cf2b5ab6a1855dc Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 28 Apr 2026 20:49:01 +0300 Subject: [PATCH 033/111] feature: cloudcmd: ponse v8.0.0 --- package.json | 2 +- server/cloudcmd.js | 4 ++-- server/config.js | 2 +- server/markdown/index.js | 4 ++-- server/rest/index.js | 2 +- server/route.js | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 1df08391..501a892b 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "open": "^11.0.0", "package-json": "^10.0.0", "pipe-io": "^4.0.1", - "ponse": "^7.0.0", + "ponse": "^8.0.0", "pullout": "^5.0.0", "putout": "^42.0.5", "redzip": "^4.6.1", diff --git a/server/cloudcmd.js b/server/cloudcmd.js index 773b6499..cc91559b 100644 --- a/server/cloudcmd.js +++ b/server/cloudcmd.js @@ -5,7 +5,7 @@ import fs from 'node:fs'; import {fullstore} from 'fullstore'; import currify from 'currify'; import apart from 'apart'; -import ponse from 'ponse'; +import * as ponse from 'ponse'; import {restafary} from 'restafary'; import restbox from 'restbox'; import {konsole} from 'console-io'; @@ -186,7 +186,7 @@ function cloudcmdMiddle({modules, config}) { const zip = apart(config, 'zip'); const root = apart(config, 'root'); - const ponseStatic = ponse.static({ + const ponseStatic = ponse.createStatic({ cache, root: DIR_ROOT, }); diff --git a/server/config.js b/server/config.js index db6f680d..77c4a6af 100644 --- a/server/config.js +++ b/server/config.js @@ -6,7 +6,7 @@ import currify from 'currify'; import wraptile from 'wraptile'; import {tryToCatch} from 'try-to-catch'; import pullout from 'pullout'; -import ponse from 'ponse'; +import * as ponse from 'ponse'; import jonny from 'jonny'; import jju from 'jju'; import writejson from 'writejson'; diff --git a/server/markdown/index.js b/server/markdown/index.js index d95cb62c..3f80ff03 100644 --- a/server/markdown/index.js +++ b/server/markdown/index.js @@ -2,7 +2,7 @@ import {callbackify} from 'node:util'; import {fileURLToPath} from 'node:url'; import {dirname} from 'node:path'; import pullout from 'pullout'; -import ponse from 'ponse'; +import {getQuery} from 'ponse'; import {read} from 'redzip'; import root from '../root.js'; import parse from './worker.js'; @@ -40,7 +40,7 @@ function parseName(query, name, rootDir) { } async function onGET(request, name, root) { - const query = ponse.getQuery(request); + const query = getQuery(request); const fileName = parseName(query, name, root); const stream = await read(fileName); const data = await pullout(stream); diff --git a/server/rest/index.js b/server/rest/index.js index bd9a0d2f..6a599ca4 100644 --- a/server/rest/index.js +++ b/server/rest/index.js @@ -8,7 +8,7 @@ import wraptile from 'wraptile'; import currify from 'currify'; import pullout from 'pullout'; import json from 'jonny'; -import ponse from 'ponse'; +import * as ponse from 'ponse'; import {copymitter} from 'copymitter'; import _moveFiles from '@cloudcmd/move-files'; import * as CloudFunc from '#common/cloudfunc'; diff --git a/server/route.js b/server/route.js index 1d887874..7844ce09 100644 --- a/server/route.js +++ b/server/route.js @@ -1,7 +1,7 @@ import {createRequire} from 'node:module'; import {extname} from 'node:path'; import * as _win32 from 'win32'; -import ponse from 'ponse'; +import * as ponse from 'ponse'; import {rendy} from 'rendy'; import format from 'format-io'; import currify from 'currify'; From bcbef1a3b05548642c83dac3a2adfb5342a017f3 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 28 Apr 2026 20:52:26 +0300 Subject: [PATCH 034/111] chore: cloudcmd: v19.14.0 --- ChangeLog | 9 +++++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 569a87bb..512d68f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2026.04.28, v19.14.0 + +feature: +- 36a8b641 cloudcmd: ponse v8.0.0 +- 1c263c18 docker: io: /usr/src/cloudcmd -> /usr/local/share/cloudcmd +- ea7b828c docker: io: ubuntu: resolute +- cd6c11ac docker: io: far2l +- c4beeec6 docker: io: gdu: add + 2026.04.21, v19.13.1 feature: diff --git a/HELP.md b/HELP.md index 5deebdd0..4bc51871 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.13.1 +# Cloud Commander v19.14.0 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1115,6 +1115,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.28*, **[v19.14.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.14.0)** - *2026.04.21*, **[v19.13.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.1)** - *2026.04.15*, **[v19.13.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.0)** - *2026.04.12*, **[v19.12.5](//github.com/coderaiser/cloudcmd/releases/tag/v19.12.5)** diff --git a/README.md b/README.md index 770d6c35..96ccdc64 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.13.1 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.14.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index 501a892b..b0d983f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.13.1", + "version": "19.14.0", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From 36bacfe9152345868b263a517a7952ee230b98b5 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 28 Apr 2026 23:23:52 +0300 Subject: [PATCH 035/111] feature: cloudcmd: client: key: vim: cc, mm --- HELP.md | 2 ++ client/key/vim/index.js | 8 ++++++++ client/key/vim/vim.js | 12 ++++++++++++ client/key/vim/vim.spec.js | 22 ++++++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/HELP.md b/HELP.md index 4bc51871..4d001176 100644 --- a/HELP.md +++ b/HELP.md @@ -232,6 +232,8 @@ When the `--vim` option is provided, or the configuration parameter `vim` is set | `mf` | make file | `tt` | show terminal | `e` | edit file +| `cc` | copy +| `mm` | move Commands can be joined, for example: diff --git a/client/key/vim/index.js b/client/key/vim/index.js index 5f67f4e4..a39bd894 100644 --- a/client/key/vim/index.js +++ b/client/key/vim/index.js @@ -60,6 +60,14 @@ const getOperations = (event, deps) => { remove: () => { Operation.show('delete'); }, + operationCopy: () => { + event.preventDefault(); + Operation.show('copy'); + }, + operationMove: () => { + event.preventDefault(); + Operation.show('move'); + }, makeDirectory: () => { event.stopImmediatePropagation(); diff --git a/client/key/vim/vim.js b/client/key/vim/vim.js index 0d0404c3..63452faa 100644 --- a/client/key/vim/vim.js +++ b/client/key/vim/vim.js @@ -40,6 +40,8 @@ export default (key, operations = {}) => { makeDirectory = noop, terminal = noop, edit = noop, + operationCopy = noop, + operationMove = noop, } = operations; if (key === 'Enter') @@ -111,6 +113,16 @@ export default (key, operations = {}) => { return end(); } + if (value === 'cc') { + operationCopy(); + return end(); + } + + if (value === 'mm') { + operationMove(); + return end(); + } + if (value === 'mf') { makeFile(); return end(); diff --git a/client/key/vim/vim.spec.js b/client/key/vim/vim.spec.js index 88cdd89e..02fd52d4 100644 --- a/client/key/vim/vim.spec.js +++ b/client/key/vim/vim.spec.js @@ -43,6 +43,28 @@ test('vim: ^', (t) => { t.end(); }); +test('vim: cc', (t) => { + const operationCopy = stub(); + + vim('cc', { + operationCopy, + }); + + t.calledWithNoArgs(operationCopy); + t.end(); +}); + +test('vim: mm', (t) => { + const operationMove = stub(); + + vim('mm', { + operationMove, + }); + + t.calledWithNoArgs(operationMove); + t.end(); +}); + test('vim: w', (t) => { const moveNext = stub(); From a9bc22ce2991ef0927f492bcb681e34e37147371 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 28 Apr 2026 23:43:48 +0300 Subject: [PATCH 036/111] feature: cloudcmd: operation: rm useless checks --- client/modules/operation/set-listeners.js | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/client/modules/operation/set-listeners.js b/client/modules/operation/set-listeners.js index 431c7791..e54e7d14 100644 --- a/client/modules/operation/set-listeners.js +++ b/client/modules/operation/set-listeners.js @@ -15,15 +15,12 @@ export const setListeners = (options) => (emitter) => { } = options; let done; - let lastError; const onAbort = wraptile(({emitter, operation}) => { emitter.abort(); const msg = `${operation} aborted`; - lastError = true; - Dialog.alert(msg, { cancel: false, }); @@ -40,13 +37,10 @@ export const setListeners = (options) => (emitter) => { operation, })); - let noProgress = true; - const listeners = { progress: (value) => { done = value === 100; progress.setProgress(value); - noProgress = false; }, end: () => { @@ -54,13 +48,10 @@ export const setListeners = (options) => (emitter) => { forEachKey(removeListener, listeners); progress.remove(); - if (lastError || done || noProgress) - callback(); + callback(); }, error: async (error) => { - lastError = error; - if (noContinue) { listeners.end(error); Dialog.alert(error); From 882fe8362383c5b239ca852b9077571db0b5f7c7 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 28 Apr 2026 23:44:25 +0300 Subject: [PATCH 037/111] chore: cloudcmd: v19.15.0 --- ChangeLog | 6 ++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 512d68f0..720cede8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2026.04.28, v19.15.0 + +feature: +- 9d97343b cloudcmd: operation: rm useless checks +- 46a88cfa cloudcmd: client: key: vim: cc, mm + 2026.04.28, v19.14.0 feature: diff --git a/HELP.md b/HELP.md index 4d001176..a7ab6ea7 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.14.0 +# Cloud Commander v19.15.0 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1117,6 +1117,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.04.28*, **[v19.15.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.15.0)** - *2026.04.28*, **[v19.14.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.14.0)** - *2026.04.21*, **[v19.13.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.1)** - *2026.04.15*, **[v19.13.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.0)** diff --git a/README.md b/README.md index 96ccdc64..633084f5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.14.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.15.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index b0d983f7..64d0befb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.14.0", + "version": "19.15.0", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From 9a6b89356e65743fa6136cc57cc922edc8e424e0 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Fri, 1 May 2026 19:05:41 +0300 Subject: [PATCH 038/111] feature: docker: io: GOPATH --- docker/Dockerfile.io | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index ffa99293..97d63ada 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -13,6 +13,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ NVM_DIR=/usr/local/share/nvm \ PREFIX=/usr/local \ npm_config_cache=/tmp/npm-cache \ + GOPATH=/usr/local/share/go \ PATH=/usr/local/share/bun/bin:$PATH \ BUN_INSTALL=/usr/local/share/bun \ NPM_CONFIG_CACHE=/tmp/.npm \ From c6c6014691912c4a548a8b9e550dea99530ec3b0 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Fri, 1 May 2026 20:21:49 +0300 Subject: [PATCH 039/111] feature: docker: io: f4 --- docker/Dockerfile.io | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 97d63ada..c2ab54ab 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -22,7 +22,8 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties-common" ARG RUST_DEPS="build-essential" ARG DEPS="pv gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc far2l iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" -ARG PALABRA_DEPS="nvm node rust go deno fasm nvim rizin yara gdu" +ARG PALABRA_DEPS="nvm node rust go deno fasm nvim rizin yara gdu f4" +ARG BUN_DEPS="palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork" RUN apt-get update && \ apt-get upgrade -y && \ @@ -45,7 +46,7 @@ USER instalador RUN echo "> install bun" && \ curl https://bun.sh/install | bash && \ echo "> install npm globals" && \ - bun i palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ + bun i ${BUN_DEPS} -g && \ echo "> install rust go deno bun fasm nvim" && \ bun ${BUN_INSTALL}/bin/palabra i ${PALABRA_DEPS} && \ echo "> install node" && \ From d1f64766049259cfa438a5977b2be497aa76165f Mon Sep 17 00:00:00 2001 From: coderiaser Date: Fri, 1 May 2026 21:01:24 +0300 Subject: [PATCH 040/111] chore: docker: io: no git --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index c2ab54ab..18547660 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -30,7 +30,7 @@ RUN apt-get update && \ apt-get autoremove && \ apt-get install -y ${UBUNTU_DEPS} ${RUST_DEPES} ${DEPS} && \ echo "> Install git" && \ - add-apt-repository ppa:git-core/ppa -y && \ + #add-apt-repository ppa:git-core/ppa -y && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ apt-get upgrade -y && \ From 14f009f832c169f539a024143c5b878d3ec9cd2a Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 3 May 2026 00:16:16 +0300 Subject: [PATCH 041/111] feature: docker: io: bash-completion: add --- docker/Dockerfile.io | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 18547660..ecc9766a 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -71,6 +71,7 @@ RUN echo "> remove user" && \ echo "alias buni='bun i --no-save'" >> /etc/bash.bashrc && \ echo "alias bat='batcat'" >> /etc/bash.bashrc && \ echo ". /usr/local/share/nvm/nvm.sh" >> /etc/bash.bashrc && \ + echo ". /usr/share/bash-completion/completions/git" >> /etc/bash.bashrc && \ echo 'PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "' >> /etc/bash.bashrc && \ echo "> setup inputrc" && \ echo "set editing-mode vi" >> /etc/inputrc && \ From acfa27cf74febf04eab999693865e7ada3a26232 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 3 May 2026 00:42:54 +0300 Subject: [PATCH 042/111] feature: docker: io: nvchad: add --- docker/Dockerfile.io | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index ecc9766a..a7280381 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -17,12 +17,13 @@ ENV DEBIAN_FRONTEND=noninteractive \ PATH=/usr/local/share/bun/bin:$PATH \ BUN_INSTALL=/usr/local/share/bun \ NPM_CONFIG_CACHE=/tmp/.npm \ - PALABRA_DIR=/usr/local/share + PALABRA_DIR=/usr/local/share \ + XDG_CONFIG_HOME=/etc ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties-common" ARG RUST_DEPS="build-essential" -ARG DEPS="pv gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc far2l iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" -ARG PALABRA_DEPS="nvm node rust go deno fasm nvim rizin yara gdu f4" +ARG DEPS="pv gcc gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc far2l iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG PALABRA_DEPS="nvm node rust go deno fasm nvchad rizin yara gdu f4" ARG BUN_DEPS="palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork" RUN apt-get update && \ From d82d0335b286bf138c6212a1aa41a641be922b01 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 3 May 2026 16:01:46 +0300 Subject: [PATCH 043/111] feature: client: vim: rr for rename file --- HELP.md | 41 ++++++++++++++++++------------------ client/key/vim/index.js | 12 ++++++----- client/key/vim/index.spec.js | 18 ++++++++++++++++ client/key/vim/vim.js | 6 ++++++ 4 files changed, 52 insertions(+), 25 deletions(-) diff --git a/HELP.md b/HELP.md index a7ab6ea7..739f1e83 100644 --- a/HELP.md +++ b/HELP.md @@ -214,26 +214,27 @@ Then, start the server again with `cloudcmd` and reload the page. When the `--vim` option is provided, or the configuration parameter `vim` is set, the following hotkeys become available: -|Key |Operation -|:----------------------|:-------------------------------------------- -| `j` | navigate to next file -| `k` | navigate to previous file -| `dd` | remove current file -| `G` or `$` | navigate to bottom file -| `gg` or `^` | navigate to top file -| `v` | visual mode -| `y` | copy (selected in visual mode files) -| `p` | paste files -| `Esc` | unselect all -| `/` | find file in current directory -| `n` | navigate to next found file -| `N` | navigate to previous found file -| `md` | make directory -| `mf` | make file -| `tt` | show terminal -| `e` | edit file -| `cc` | copy -| `mm` | move +| Key |Operation +|:------------|:-------------------------------------------- +| `j` | navigate to next file +| `k` | navigate to previous file +| `dd` | remove current file +| `G` or `$` | navigate to bottom file +| `gg` or `^` | navigate to top file +| `v` | visual mode +| `y` | copy (selected in visual mode files) +| `p` | paste files +| `Esc` | unselect all +| `/` | find file in current directory +| `n` | navigate to next found file +| `N` | navigate to previous found file +| `md` | make directory +| `mf` | make file +| `tt` | show terminal +| `e` | edit file +| `cc` | copy +| `mm` | move +| `rr` | rename file Commands can be joined, for example: diff --git a/client/key/vim/index.js b/client/key/vim/index.js index a39bd894..981f6f19 100644 --- a/client/key/vim/index.js +++ b/client/key/vim/index.js @@ -1,5 +1,3 @@ -/* global CloudCmd */ -/* global DOM */ import vim from './vim.js'; import * as finder from './find.js'; import { @@ -35,12 +33,13 @@ const getOperations = (event, deps) => { prompt = globalThis.DOM.Dialog.prompt, preventDefault = event?.preventDefault?.bind(event), stopImmediatePropagation = event?.preventDefault?.bind(event), - promptNewFile = DOM.promptNewFile, + promptNewFile = globalThis.DOM.promptNewFile, toggleSelectedFile, Buffer = {}, createFindNext = _createFindNext, createFindPrevious = _createFindPrevious, createMakeFile = _createMakeFile, + renameCurrent, } = deps; return { @@ -56,7 +55,10 @@ const getOperations = (event, deps) => { setCurrentByName, }), escape: unselectFiles, - + rename: () => { + event.preventDefault(); + renameCurrent(); + }, remove: () => { Operation.show('delete'); }, @@ -72,7 +74,7 @@ const getOperations = (event, deps) => { makeDirectory: () => { event.stopImmediatePropagation(); event.preventDefault(); - DOM.promptNewDir(); + globalThis.DOM.promptNewDir(); }, terminal: () => { diff --git a/client/key/vim/index.spec.js b/client/key/vim/index.spec.js index b31e3d60..e1ca4eee 100644 --- a/client/key/vim/index.spec.js +++ b/client/key/vim/index.spec.js @@ -657,3 +657,21 @@ test('cloudcmd: client: vim: edit', async (t) => { t.calledWithNoArgs(CloudCmd.EditFileVim.show); t.end(); }); + +test('cloudcmd: client: vim: rename', async (t) => { + const DOM = getDOM(); + const renameCurrent = stub(); + + assign(DOM, { + renameCurrent, + }); + + const event = { + preventDefault: stub(), + }; + + await vim('rr', event, DOM); + + t.calledWithNoArgs(renameCurrent); + t.end(); +}); diff --git a/client/key/vim/vim.js b/client/key/vim/vim.js index 63452faa..95a27caf 100644 --- a/client/key/vim/vim.js +++ b/client/key/vim/vim.js @@ -42,6 +42,7 @@ export default (key, operations = {}) => { edit = noop, operationCopy = noop, operationMove = noop, + rename = noop, } = operations; if (key === 'Enter') @@ -128,6 +129,11 @@ export default (key, operations = {}) => { return end(); } + if (value === 'rr') { + rename(); + return end(); + } + if (key === 'd' && (visual() || prevStore === 'd')) { stopVisual(); remove(); From 628d12fa2feab0d3b5b6c5a9b2cc00a796577a6d Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 3 May 2026 16:02:16 +0300 Subject: [PATCH 044/111] chore: cloudcmd: v19.16.0 --- ChangeLog | 13 +++++++++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 720cede8..b21df95a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2026.05.03, v19.16.0 + +feature: +- d82d0335 client: vim: rr for rename file +- acfa27cf docker: io: nvchad: add +- 14f009f8 docker: io: bash-completion: add +- c6c60146 docker: io: f4 +- 9a6b8935 docker: io: GOPATH +- a9bc22ce cloudcmd: operation: rm useless checks +- 36bacfe9 cloudcmd: client: key: vim: cc, mm +- 591da25c cloudcmd: ponse v8.0.0 +- 1e1b073c docker: io: /usr/src/cloudcmd -> /usr/local/share/cloudcmd + 2026.04.28, v19.15.0 feature: diff --git a/HELP.md b/HELP.md index 739f1e83..ceba0205 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.15.0 +# Cloud Commander v19.16.0 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1118,6 +1118,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.05.03*, **[v19.16.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.16.0)** - *2026.04.28*, **[v19.15.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.15.0)** - *2026.04.28*, **[v19.14.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.14.0)** - *2026.04.21*, **[v19.13.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.13.1)** diff --git a/README.md b/README.md index 633084f5..cf91d19a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.15.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.16.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index 64d0befb..0ec239c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.15.0", + "version": "19.16.0", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From 4315ec61795e229abd204400e00fa51fa2480051 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 3 May 2026 16:08:15 +0300 Subject: [PATCH 045/111] feature: docker: io XDG_CONFIG_HOME: /etc -> /usr/local/etc --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index a7280381..9250b8de 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -18,7 +18,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ BUN_INSTALL=/usr/local/share/bun \ NPM_CONFIG_CACHE=/tmp/.npm \ PALABRA_DIR=/usr/local/share \ - XDG_CONFIG_HOME=/etc + XDG_CONFIG_HOME=/usr/local/etc ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties-common" ARG RUST_DEPS="build-essential" From e7c55e05b86759d0106a5d2aeabdf5e955c3a21b Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 3 May 2026 23:57:16 +0300 Subject: [PATCH 046/111] fix: docker: io: XDG_CONFIG_HOME --- docker/Dockerfile.io | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 9250b8de..4e4ae8a7 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -104,7 +104,8 @@ ENV cloudcmd_terminal=true \ LC_ALL=en_US.UTF-8 \ TERM=xterm-256color \ XDG_CACHE_HOME=/tmp \ - XDG_DATA_HOME=/usr/local/share + XDG_DATA_HOME=/usr/local/share \ + XDG_CONFIG_HOME=~/.config EXPOSE 8000 From a985bb36cac0973ffebcd3274ad2d204c1f11c54 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 5 May 2026 23:50:02 +0300 Subject: [PATCH 047/111] feature: cloudcmd: supertape v13.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0ec239c9..f9e04b0e 100644 --- a/package.json +++ b/package.json @@ -208,7 +208,7 @@ "smalltalk": "^5.0.0", "style-loader": "^4.0.0", "supermenu": "^5.0.0", - "supertape": "^12.0.0", + "supertape": "^13.0.0", "tar-stream": "^3.0.0", "unionfs": "^4.0.0", "url-loader": "^4.0.0", From 800a6545a1c1e96d5d0ed9ccc5ab698e26bc0e81 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 5 May 2026 23:51:23 +0300 Subject: [PATCH 048/111] feature: cloudcmd: eslint-plugin-n v18.0.1 --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index f9e04b0e..53b56424 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,6 @@ "domtokenlist-shim": "^1.2.0", "emitify": "^4.0.1", "eslint": "^10.0.0", - "eslint-plugin-n": "^17.0.0-4", "eslint-plugin-putout": "^31.0.0", "globals": "^17.0.0", "gritty": "^10.2.0", From 6ff1db2710aa1d1745d403271c3d3ca9611a94bf Mon Sep 17 00:00:00 2001 From: coderiaser Date: Tue, 5 May 2026 23:51:29 +0300 Subject: [PATCH 049/111] chore: lint --- .github/workflows/nodejs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 0080488a..50222dd9 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -11,7 +11,7 @@ jobs: node-version: - 22.x - 24.x - - 25.x + - 26.x steps: - uses: actions/checkout@v5 - uses: oven-sh/setup-bun@v2 From 05c800431dfd1e66e2c9b878cc9d2a6b91e2f844 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Wed, 6 May 2026 22:21:16 +0300 Subject: [PATCH 050/111] feature: cloudcmd: @supertape/loader-css v1.0.0 --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 53b56424..cc12fc52 100644 --- a/package.json +++ b/package.json @@ -159,6 +159,7 @@ "@cloudcmd/stub": "^5.0.0", "@iocmd/wait": "^2.1.0", "@putout/eslint-flat": "^4.0.0", + "@supertape/loader-css": "^1.0.0", "@types/node-fetch": "^2.6.11", "auto-globals": "^4.0.0", "babel-loader": "^10.0.0", From 4acd294bf61902f6c727d4e6b9b53dcb6c7acd45 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 10 May 2026 22:44:33 +0300 Subject: [PATCH 051/111] feature: docker: io: tmux --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 4e4ae8a7..e18423ec 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -22,7 +22,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties-common" ARG RUST_DEPS="build-essential" -ARG DEPS="pv gcc gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc far2l iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl" +ARG DEPS="pv gcc gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc far2l iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl tmux" ARG PALABRA_DEPS="nvm node rust go deno fasm nvchad rizin yara gdu f4" ARG BUN_DEPS="palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork" From ccf608a52ee9710c6585de5e6fc6fae930b497bf Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 10 May 2026 22:51:18 +0300 Subject: [PATCH 052/111] chore: lint --- .github/workflows/nodejs.yml | 2 +- .nycrc.json | 2 +- eslint.config.js | 12 ------------ 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 50222dd9..b9ed9cb5 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -41,7 +41,7 @@ jobs: - name: Typos run: typos --write-changes - name: Commit fixes - uses: EndBug/add-and-commit@v9 + uses: EndBug/add-and-commit@v10 continue-on-error: true with: message: "chore: ${{ env.NAME }}: actions: lint ☘️" diff --git a/.nycrc.json b/.nycrc.json index 36d6b4cb..1fe174f3 100644 --- a/.nycrc.json +++ b/.nycrc.json @@ -1,5 +1,5 @@ { - "check-coverage": false, + "checkCoverage": false, "all": false, "exclude": [ "**/*.spec.js", diff --git a/eslint.config.js b/eslint.config.js index b38d3e2e..cf9a67d8 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,6 +1,5 @@ import {safeAlign} from 'eslint-plugin-putout'; import {defineConfig} from 'eslint/config'; -import n from 'eslint-plugin-n'; import globals from 'globals'; import {matchToFlat} from '@putout/eslint-flat'; @@ -12,23 +11,12 @@ export const match = { 'client/dom/index.*': { 'no-multi-spaces': 'off', }, - '{client,static}/**/*.{js,mjs}': { - 'n/no-extraneous-require': 'off', - 'n/no-unsupported-features/node-builtins': 'off', - }, - 'bin/cloudcmd.js': { - 'no-console': 'off', - }, }; export default defineConfig([ safeAlign, { ignores: ['**/fixture'], rules: { 'key-spacing': 'off', - 'n/prefer-node-protocol': 'error', - }, - plugins: { - n, }, }, { files: ['{client,common,static}/**/*.js'], From 68eacb916a601dac6705b9363cc5633f31261612 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Wed, 13 May 2026 00:22:57 +0300 Subject: [PATCH 053/111] feature: qword: add --- HELP.md | 3 ++- man/cloudcmd.1 | 2 +- package.json | 1 + server/cloudcmd.js | 15 +++++++++++++++ server/validate.js | 4 ++-- server/validate.spec.js | 2 +- tmpl/config.hbs | 3 ++- 7 files changed, 24 insertions(+), 6 deletions(-) diff --git a/HELP.md b/HELP.md index ceba0205..07bd72d4 100644 --- a/HELP.md +++ b/HELP.md @@ -9,6 +9,7 @@ [DWORD]: https://github.com/cloudcmd/dword "Editor based on CodeMirror" [EDWARD]: https://github.com/cloudcmd/edward "Editor based on Ace" [DEEPWORD]: https://github.com/cloudcmd/deepword "Editor based on Monaco" +[QWORD]: https://github.com/cloudcmd/qword "Editor based on CodeMirror 6" [EDWARD_KEYS]: https://github.com/cloudcmd/edward/#hot-keys "Edward Hot keys" [TERMUX]: https://termux.com "Termux" [INLY]: https://github.com/coderaiser/node-inly "Extract archive" @@ -26,7 +27,7 @@ - Server works on **Windows**, **Linux**, **Mac OS** and **Android** (with help of [Termux][TERMUX]). - Can be used local or remotely. - Adapts to screen size. -- **3 built-in editors** with support of **syntax highlighting**: [Dword][DWORD], [Edward][EDWARD] and [Deepword][DEEPWORD]. +- **3 built-in editors** with support of **syntax highlighting**: [Dword][DWORD], [Edward][EDWARD] [Deepword][DEEPWORD] and [Qword][QWORD]. - [Console](https://github.com/cloudcmd/console "Console") with support of the default OS command line. - Written in **JavaScript/Node.js**. - Built-in archives pack: **zip** and **tar.gz**. diff --git a/man/cloudcmd.1 b/man/cloudcmd.1 index 2bff72db..dab36a2c 100644 --- a/man/cloudcmd.1 +++ b/man/cloudcmd.1 @@ -33,7 +33,7 @@ programs in browser from any computer, mobile or tablet device. --show-config show config values --show-dot-files show dot files --show-file-name show file name in view and edit modes - --editor set editor: "dword", "edward" or "deepword" + --editor set editor: "dword", "edward", "deepword" or "qword" --menu set menu: "supermenu" or "aleman" --packer set packer: "tar" or "zip" --root set root directory diff --git a/package.json b/package.json index cc12fc52..42484fed 100644 --- a/package.json +++ b/package.json @@ -130,6 +130,7 @@ "ponse": "^8.0.0", "pullout": "^5.0.0", "putout": "^42.0.5", + "qword": "^1.0.0", "redzip": "^4.6.1", "rendy": "^5.0.0", "restafary": "^13.0.1", diff --git a/server/cloudcmd.js b/server/cloudcmd.js index cc91559b..2e751520 100644 --- a/server/cloudcmd.js +++ b/server/cloudcmd.js @@ -12,6 +12,7 @@ import {konsole} from 'console-io'; import {edward} from 'edward'; import {dword} from 'dword'; import {deepword} from 'deepword'; +import {qword} from 'qword'; import nomine from 'nomine'; import {fileop} from '@cloudcmd/fileop'; import * as cloudfunc from '#common/cloudfunc'; @@ -152,6 +153,12 @@ function listen({prefixSocket, socket, config}) { prefixSocket: `${prefixSocket}/dword`, }); + qword.listen(socket, { + root, + auth, + prefixSocket: `${prefixSocket}/qword`, + }); + deepword.listen(socket, { root, auth, @@ -215,6 +222,14 @@ function cloudcmdMiddle({modules, config}) { dropbox, dropboxToken, }), + qword({ + root, + online, + diff, + zip, + dropbox, + dropboxToken, + }), deepword({ root, online, diff --git a/server/validate.js b/server/validate.js index 233aebcd..38491774 100644 --- a/server/validate.js +++ b/server/validate.js @@ -28,10 +28,10 @@ export const root = (dir, config, overrides = {}) => { }; export const editor = (name, {exit = _exit} = {}) => { - const reg = /^(dword|edward|deepword)$/; + const reg = /^(dword|edward|deepword|qword)$/; if (!reg.test(name)) - exit('cloudcmd --editor: could be "dword", "edward" or "deepword" only'); + exit(`cloudcmd --editor: could be "dword", "edward", "deepword" or "qword" only, recieved: "${name}"`); }; export const menu = (name, {exit = _exit} = {}) => { diff --git a/server/validate.spec.js b/server/validate.spec.js index bb16fae1..1c4ca25b 100644 --- a/server/validate.spec.js +++ b/server/validate.spec.js @@ -64,7 +64,7 @@ test('validate: packer: not valid', (t) => { test('validate: editor: not valid', (t) => { const exit = stub(); - const msg = 'cloudcmd --editor: could be "dword", "edward" or "deepword" only'; + const msg = 'cloudcmd --editor: could be "dword", "edward", "deepword" or "qword" only, recieved: "hello"'; validate.editor('hello', { exit, diff --git a/tmpl/config.hbs b/tmpl/config.hbs index 4a82286a..6002cd8b 100644 --- a/tmpl/config.hbs +++ b/tmpl/config.hbs @@ -57,11 +57,12 @@ -
  • +
  • From 79da2319f8410ae7c7e9cedd8bbfed669aef2de1 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sat, 16 May 2026 14:38:09 +0300 Subject: [PATCH 054/111] feature: docker: io: cline: add --- docker/Dockerfile.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index e18423ec..7b3a9304 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -24,7 +24,7 @@ ARG UBUNTU_DEPS="libatomic1 curl wget git net-tools iproute2 software-properties ARG RUST_DEPS="build-essential" ARG DEPS="pv gcc gdb strace upx-ucl less ffmpeg net-tools netcat-openbsd mc far2l iputils-ping vim bat fzf locales sudo command-not-found ncdu aptitude htop btop hexyl tmux" ARG PALABRA_DEPS="nvm node rust go deno fasm nvchad rizin yara gdu f4" -ARG BUN_DEPS="palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork" +ARG BUN_DEPS="palabra wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork cline" RUN apt-get update && \ apt-get upgrade -y && \ From 83c0b8d3f114a31d8ff49c795df47f6d402840fb Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sat, 16 May 2026 17:57:49 +0300 Subject: [PATCH 055/111] feature: cloudcmd: superc8 v12.6.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 42484fed..ec6e20a9 100644 --- a/package.json +++ b/package.json @@ -165,7 +165,6 @@ "auto-globals": "^4.0.0", "babel-loader": "^10.0.0", "babel-plugin-macros": "^3.0.0", - "c8": "^11.0.0", "cheerio": "^1.0.0-rc.5", "clean-css-loader": "^4.2.1", "codegen.macro": "^4.0.0", @@ -208,6 +207,7 @@ "serve-once": "^3.0.1", "smalltalk": "^5.0.0", "style-loader": "^4.0.0", + "superc8": "^12.6.0", "supermenu": "^5.0.0", "supertape": "^13.0.0", "tar-stream": "^3.0.0", From 6071b661187e10dd0696b01523d28f2ccb2fecc9 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 17 May 2026 01:30:22 +0300 Subject: [PATCH 056/111] fix: css: query: hide time on mobile --- css/query.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/css/query.css b/css/query.css index b5843b85..509f1b45 100644 --- a/css/query.css +++ b/css/query.css @@ -161,8 +161,9 @@ .size, .date, .owner, + .time, .mode { - display: none; + display: none !important; } .name { From eb32fff688bca37cd81ae186215921fd2b53f6f2 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 17 May 2026 01:33:15 +0300 Subject: [PATCH 057/111] feature: style: owner, mode: improve --- css/style.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/css/style.css b/css/style.css index 333075ed..10820444 100644 --- a/css/style.css +++ b/css/style.css @@ -235,7 +235,8 @@ a:active { .owner { display: inline-block; - width: 13%; + width: 12%; + /* when inline-block * vertical align should be * set top to prevent additional @@ -247,7 +248,7 @@ a:active { .mode { float: right; - width: 18%; + width: 22%; color: var(--column-color); } From 70ff6fb29fea869d3da122d51cc410b234333378 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 17 May 2026 01:33:33 +0300 Subject: [PATCH 058/111] feature: cloudcmd: cssnano-preset-default v8.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ec6e20a9..b6b17434 100644 --- a/package.json +++ b/package.json @@ -171,7 +171,7 @@ "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^8.0.0", "css-modules-require-hook": "^4.2.3", - "cssnano-preset-default": "^7.0.10", + "cssnano-preset-default": "^8.0.1", "domtokenlist-shim": "^1.2.0", "emitify": "^4.0.1", "eslint": "^10.0.0", From a6adf39db2ee2907f8bdeaccae0fa436b5687a9b Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 17 May 2026 01:47:33 +0300 Subject: [PATCH 059/111] chore: lint --- eslint.config.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eslint.config.js b/eslint.config.js index cf9a67d8..22add654 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -11,6 +11,9 @@ export const match = { 'client/dom/index.*': { 'no-multi-spaces': 'off', }, + 'client/**': { + 'n/no-unsupported-features/node-builtins': 'off', + }, }; export default defineConfig([ safeAlign, { From eff03299b6d75b9f408062e2fe864b51441e3817 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 17 May 2026 01:48:30 +0300 Subject: [PATCH 060/111] chore: cloudcmd: v19.17.0 --- ChangeLog | 18 ++++++++++++++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b21df95a..1132ea96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2026.05.17, v19.17.0 + +fix: +- d96f6c46 css: query: hide time on mobile +- e7c55e05 docker: io: XDG_CONFIG_HOME + +feature: +- ae1ca0f8 cloudcmd: cssnano-preset-default v8.0.1 +- 94d5096a style: owner, mode: improve +- 807f8346 cloudcmd: superc8 v12.6.0 +- 67a95722 docker: io: cline: add +- 68eacb91 qword: add +- 4acd294b docker: io: tmux +- 05c80043 cloudcmd: @supertape/loader-css v1.0.0 +- 800a6545 cloudcmd: eslint-plugin-n v18.0.1 +- a985bb36 cloudcmd: supertape v13.0.0 +- 4315ec61 docker: io XDG_CONFIG_HOME: /etc -> /usr/local/etc + 2026.05.03, v19.16.0 feature: diff --git a/HELP.md b/HELP.md index 07bd72d4..783eb088 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.16.0 +# Cloud Commander v19.17.0 ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] @@ -1119,6 +1119,7 @@ There are a lot of ways to be involved in `Cloud Commander` development: ## Version history +- *2026.05.17*, **[v19.17.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.17.0)** - *2026.05.03*, **[v19.16.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.16.0)** - *2026.04.28*, **[v19.15.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.15.0)** - *2026.04.28*, **[v19.14.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.14.0)** diff --git a/README.md b/README.md index cf91d19a..806e734d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.16.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.17.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL] diff --git a/package.json b/package.json index b6b17434..a1838284 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.16.0", + "version": "19.17.0", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From 4f4725ac3c34244ce2f3f54bd2662d5bc82c1fe5 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Sun, 17 May 2026 11:25:50 +0000 Subject: [PATCH 061/111] =?UTF-8?q?chore:=20cloudcmd:=20actions:=20lint=20?= =?UTF-8?q?=E2=98=98=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/validate.js | 2 +- server/validate.spec.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/validate.js b/server/validate.js index 38491774..e01d0505 100644 --- a/server/validate.js +++ b/server/validate.js @@ -31,7 +31,7 @@ export const editor = (name, {exit = _exit} = {}) => { const reg = /^(dword|edward|deepword|qword)$/; if (!reg.test(name)) - exit(`cloudcmd --editor: could be "dword", "edward", "deepword" or "qword" only, recieved: "${name}"`); + exit(`cloudcmd --editor: could be "dword", "edward", "deepword" or "qword" only, received: "${name}"`); }; export const menu = (name, {exit = _exit} = {}) => { diff --git a/server/validate.spec.js b/server/validate.spec.js index 1c4ca25b..76243e30 100644 --- a/server/validate.spec.js +++ b/server/validate.spec.js @@ -64,7 +64,7 @@ test('validate: packer: not valid', (t) => { test('validate: editor: not valid', (t) => { const exit = stub(); - const msg = 'cloudcmd --editor: could be "dword", "edward", "deepword" or "qword" only, recieved: "hello"'; + const msg = 'cloudcmd --editor: could be "dword", "edward", "deepword" or "qword" only, received: "hello"'; validate.editor('hello', { exit, From 447d990f43f69faf7c4acc5b7eb796da43a205eb Mon Sep 17 00:00:00 2001 From: coderiaser Date: Thu, 21 May 2026 00:05:25 +0300 Subject: [PATCH 062/111] fix: cloudcmd: server: rest: sendError --- server/rest/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/rest/index.js b/server/rest/index.js index 6a599ca4..68bec54e 100644 --- a/server/rest/index.js +++ b/server/rest/index.js @@ -72,7 +72,7 @@ function rest({fs, config, moveFiles}, request, response) { return ponse.sendError(error, params); if (error) - return ponse.sendError(error.stack, params); + return ponse.sendError(error, params); ponse.send(data, params); }); From 2be395e640cba79f394ba5edce9df46996cde319 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 24 May 2026 21:40:26 +0300 Subject: [PATCH 063/111] feature: cloudcmd: get rid of manifest: 401 basic auth --- html/index.html | 1 - public/manifest.json | 11 ----------- 2 files changed, 12 deletions(-) delete mode 100644 public/manifest.json diff --git a/html/index.html b/html/index.html index 76043d9c..0b7ea9ad 100644 --- a/html/index.html +++ b/html/index.html @@ -9,7 +9,6 @@ - diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index abd55ade..00000000 --- a/public/manifest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "short_name": "CloudCMD", - "name": "Cloud Commander", - "display": "standalone", - "start_url": "..", - "icons": [{ - "src": "../img/favicon/favicon-256.png", - "type": "image/png", - "sizes": "256x256" - }] -} From 161bede8db4719908ce218e1ac4f7f4e87ccb628 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sun, 24 May 2026 22:24:54 +0300 Subject: [PATCH 064/111] fix: client: menu: @putout/bundle@5.5. --- client/cloudcmd.js | 2 +- html/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/cloudcmd.js b/client/cloudcmd.js index 688d97b7..f2416fd4 100644 --- a/client/cloudcmd.js +++ b/client/cloudcmd.js @@ -36,7 +36,7 @@ async function init(config) { if (globalThis.CloudCmd.config('menu') === 'aleman') setTimeout(() => { import('https://esm.sh/@putout/processor-html'); - import('https://esm.sh/@putout/bundle'); + import('https://esm.sh/@putout/bundle@5.5'); }, 100); } diff --git a/html/index.html b/html/index.html index 0b7ea9ad..d366ed1c 100644 --- a/html/index.html +++ b/html/index.html @@ -44,7 +44,7 @@