From 1fc1e3734c05a0975cd0cbb2f06ac2129c0a5770 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Wed, 1 Apr 2026 23:43:20 +0300 Subject: [PATCH 001/157] feature: docker: io: apt-get upgrade --- docker/Dockerfile | 2 ++ docker/Dockerfile.alpine | 4 ++- docker/Dockerfile.io | 54 ++++++++++++++++------------------------ docker/Dockerfile.slim | 1 + 4 files changed, 27 insertions(+), 34 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index cf1505a7..7c5d7b64 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,8 +1,10 @@ FROM node + LABEL maintainer="Coderaiser" LABEL org.opencontainers.image.source="https://github.com/coderaiser/cloudcmd" RUN mkdir -p /usr/src/cloudcmd + WORKDIR /usr/src/cloudcmd COPY package.json /usr/src/cloudcmd/ diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index 75549fae..5e38ab8a 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -1,8 +1,10 @@ FROM node:alpine + LABEL maintainer="Coderaiser" LABEL org.opencontainers.image.source="https://github.com/coderaiser/cloudcmd" RUN mkdir -p /usr/src/cloudcmd + WORKDIR /usr/src/cloudcmd COPY package.json /usr/src/cloudcmd/ @@ -21,6 +23,7 @@ RUN apk update && \ COPY . /usr/src/cloudcmd WORKDIR / + ENV cloudcmd_terminal=true ENV cloudcmd_terminal_path=gritty ENV cloudcmd_open=false @@ -29,4 +32,3 @@ ENV cloudcmd_vim=true EXPOSE 8000 ENTRYPOINT ["/usr/src/cloudcmd/bin/cloudcmd.js"] - diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index c5905f79..588d7d32 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -1,39 +1,33 @@ FROM node + LABEL maintainer="Coderaiser" LABEL org.opencontainers.image.source="https://github.com/coderaiser/cloudcmd" RUN mkdir -p /usr/src/cloudcmd + WORKDIR /usr/src/cloudcmd COPY package.json /usr/src/cloudcmd/ -ENV DEBIAN_FRONTEND=noninteractive -ENV PATH=/usr/local/src/cargo/bin:$PATH +ENV DEBIAN_FRONTEND=noninteractive \ + PATH=/usr/local/src/cargo/bin:$PATH ARG GO_VERSION=1.21.2 -RUN apt-get update && apt-get upgrade -y && apt-get autoremove && \ - apt-get install -y less ffmpeg net-tools netcat-openbsd mc iputils-ping vim neovim bat fzf \ - locales sudo command-not-found && \ +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get autoremove && \ + apt-get install -y less ffmpeg net-tools netcat-openbsd mc iputils-ping vim neovim bat fzf locales sudo command-not-found && \ echo "> Update command-not-found database. Run 'sudo apt update' to populate it." && \ apt-get update && \ - apt-get autoremove && apt-get clean && \ + apt-get autoremove && \ + apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ - echo "> install nix" && \ - useradd -m -s /bin/bash nixuser && \ - echo "nixuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/nixuser && \ - chmod 0440 /etc/sudoers.d/nixuser && \ - su - nixuser -c "curl -L https://nixos.org/nix/install | sh -s -- --no-daemon --no-sendbox" && \ - mv /home/nixuser/.nix-profile /usr/local/src/nix-profile && \ - mv /home/nixuser/.nix-defexpr /usr/local/src/nix-defexpr && \ - rm -rf /etc/sudoers.d/nixuser && \ - userdel -r nixuser && \ echo "> install nvm" && \ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash && \ mv ~/.nvm /usr/local/src/nvm && \ echo "> install npm globals" && \ - npm i wisdom nupdate version-io redrun superc8 \ - supertape madrun redlint putout renamify-cli runny redfork -g && \ + npm i wisdom nupdate version-io redrun superc8 supertape madrun redlint putout renamify-cli runny redfork -g && \ echo "> install bun" && \ curl -fsSL https://bun.sh/install | bash && \ mv ~/.bun /usr/local/src/bun && \ @@ -83,22 +77,16 @@ COPY . /usr/src/cloudcmd WORKDIR / -ENV cloudcmd_terminal=true -ENV cloudcmd_terminal_path=gritty -ENV cloudcmd_open=false - -ENV PATH=node_modules/.bin:$PATH -ENV PATH=/usr/local/src/nix/profile/bin:$PATH -ENV NIX_PATH=/usr/local/src/nix/defexpr/channels - -ENV BUN_INSTALL_CACHE_DIR=/tmp/bun-cache -ENV DENO_DIR=/tmp/deno-cache - -ENV LANG=en_US.UTF-8 -ENV LANGUAGE=en_US:en -ENV LC_ALL=en_US.UTF-8 - -ENV TERM=xterm-256color +ENV cloudcmd_terminal=true \ + cloudcmd_terminal_path=gritty \ + cloudcmd_open=false \ + PATH=node_modules/.bin:$PATH \ + BUN_INSTALL_CACHE_DIR=/tmp/bun-cache \ + DENO_DIR=/tmp/deno-cache \ + LANG=en_US.UTF-8 \ + LANGUAGE=en_US:en \ + LC_ALL=en_US.UTF-8 \ + TERM=xterm-256color EXPOSE 8000 diff --git a/docker/Dockerfile.slim b/docker/Dockerfile.slim index 6974b41c..c6f273b8 100644 --- a/docker/Dockerfile.slim +++ b/docker/Dockerfile.slim @@ -1,6 +1,7 @@ FROM node:slim AS build RUN mkdir -p /usr/src/cloudcmd/ + WORKDIR /usr/src/cloudcmd COPY package.json /usr/src/cloudcmd/ From b8a621ca1b1fd2061e5540ea68114586422910de Mon Sep 17 00:00:00 2001 From: coderiaser Date: Thu, 2 Apr 2026 00:24:48 +0300 Subject: [PATCH 002/157] chore: cloudcmd: v19.9.24 --- ChangeLog | 7 +++++++ HELP.md | 3 ++- README.md | 2 +- package.json | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 69e7fe4e..5643732b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2026.04.02, v19.9.24 + +feature: +- c4d26c6a docker: io: apt-get upgrade +- 9ddb8c29 docker: io: get rid of nix +- e4d7d441 docker: io: nix + 2026.04.01, v19.9.23 feature: diff --git a/HELP.md b/HELP.md index f7e199f1..2c237301 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.9.23 +# Cloud Commander v19.9.24 ### [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.02*, **[v19.9.24](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.24)** - *2026.04.01*, **[v19.9.23](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.23)** - *2026.03.31*, **[v19.9.22](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.22)** - *2026.03.31*, **[v19.9.21](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.21)** diff --git a/README.md b/README.md index 0ff1d63c..e9b51f9c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.9.23 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.9.24 [![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 2e2518b7..6a3b2c6b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.9.23", + "version": "19.9.24", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From d12e7bd0c5e090ffbad70f289dbfd5e8cdf9f4aa Mon Sep 17 00:00:00 2001 From: chaoliang yan Date: Fri, 3 Apr 2026 02:16:49 +1100 Subject: [PATCH 003/157] fix: distribute: fix event listener leak on socket disconnect (#462) --- server/distribute/import.js | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/server/distribute/import.js b/server/distribute/import.js index 131dabde..f6cbe614 100644 --- a/server/distribute/import.js +++ b/server/distribute/import.js @@ -38,9 +38,14 @@ const addUrl = currify((url, a) => `${url}: ${a}`); const rmListeners = wraptile((socket, listeners) => { socket.removeListener('connect', listeners.onConnect); + socket.removeListener('accept', listeners.onAccept); socket.removeListener('config', listeners.onConfig); socket.removeListener('error', listeners.onError); - socket.removeListener('connection_error', listeners.onError); + socket.removeListener('connect_error', listeners.onConnectError); + socket.removeListener('reject', listeners.onReject); + + if (listeners.onChange) + socket.removeListener('change', listeners.onChange); }); const canceled = (f) => f(null, { @@ -106,17 +111,6 @@ export const distributeImport = (config, options, fn) => { const onConnect = emitAuth(importUrl, config, socket); const onAccept = logWrapped(isLog, importStr, `${connectedStr} to ${colorUrl}`); - - const onDisconnect = squad(...[ - done(fn, statusStore), - logWrapped(isLog, importStr, `${disconnectedStr} from ${colorUrl}`), - rmListeners(socket, { - onError, - onConnect, - onConfig, - }), - ]); - const onChange = squad(logWrapped(isLog, importStr), config); const onReject = squad(superFn('reject'), logWrapped( @@ -125,6 +119,20 @@ export const distributeImport = (config, options, fn) => { tokenRejectedStr, )); + const onDisconnect = squad(...[ + done(fn, statusStore), + logWrapped(isLog, importStr, `${disconnectedStr} from ${colorUrl}`), + rmListeners(socket, { + onConnect, + onAccept, + onConfig, + onError, + onConnectError, + onReject, + onChange, + }), + ]); + socket.on('connect', onConnect); socket.on('accept', onAccept); socket.on('disconnect', onDisconnect); From 34fad6ea73cf99063cde8a8ee027d85f3a6aa2de Mon Sep 17 00:00:00 2001 From: coderiaser Date: Thu, 2 Apr 2026 18:19:15 +0300 Subject: [PATCH 004/157] chore: cloudcmd: v19.10.0 --- 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 5643732b..ad86fec8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2026.04.02, v19.10.0 + +fix: +- d12e7bd0 distribute: fix event listener leak on socket disconnect (#462) + 2026.04.02, v19.9.24 feature: diff --git a/HELP.md b/HELP.md index 2c237301..d048ddba 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.9.24 +# Cloud Commander v19.10.0 ### [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.02*, **[v19.10.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.10.0)** - *2026.04.02*, **[v19.9.24](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.24)** - *2026.04.01*, **[v19.9.23](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.23)** - *2026.03.31*, **[v19.9.22](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.22)** diff --git a/README.md b/README.md index e9b51f9c..57010667 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.9.24 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.10.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 6a3b2c6b..46c64410 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.9.24", + "version": "19.10.0", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From ceb7ef4ff75d00b2ef495254f9015a8041402661 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Fri, 3 Apr 2026 23:12:00 +0300 Subject: [PATCH 005/157] feature: docker: io: keep /var/lib/apt/lists --- docker/Dockerfile.io | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io index 588d7d32..d4a9f70d 100644 --- a/docker/Dockerfile.io +++ b/docker/Dockerfile.io @@ -22,7 +22,6 @@ RUN apt-get update && \ apt-get update && \ apt-get autoremove && \ apt-get clean && \ - rm -rf /var/lib/apt/lists/* && \ echo "> install nvm" && \ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash && \ mv ~/.nvm /usr/local/src/nvm && \ From 314cceb4627527ebbfcce777e9922d019e753e44 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Fri, 3 Apr 2026 23:12:27 +0300 Subject: [PATCH 006/157] chore: cloudcmd: v19.10.1 --- 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 ad86fec8..0fc46c2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2026.04.03, v19.10.1 + +feature: +- ceb7ef4f docker: io: keep /var/lib/apt/lists + 2026.04.02, v19.10.0 fix: diff --git a/HELP.md b/HELP.md index d048ddba..07def5c0 100644 --- a/HELP.md +++ b/HELP.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.10.0 +# Cloud Commander v19.10.1 ### [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.03*, **[v19.10.1](//github.com/coderaiser/cloudcmd/releases/tag/v19.10.1)** - *2026.04.02*, **[v19.10.0](//github.com/coderaiser/cloudcmd/releases/tag/v19.10.0)** - *2026.04.02*, **[v19.9.24](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.24)** - *2026.04.01*, **[v19.9.23](//github.com/coderaiser/cloudcmd/releases/tag/v19.9.23)** diff --git a/README.md b/README.md index 57010667..48654c69 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cloud Commander v19.10.0 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] +# Cloud Commander v19.10.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 46c64410..2adfd1ab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudcmd", - "version": "19.10.0", + "version": "19.10.1", "type": "module", "author": "coderaiser (https://github.com/coderaiser)", "description": "File manager for the web with console and editor", From df4fb517160269baaf004aa55d033d65b5e3f079 Mon Sep 17 00:00:00 2001 From: coderiaser Date: Sat, 4 Apr 2026 00:05:55 +0300 Subject: [PATCH 007/157] feature: cloudcmd: aleman v2.0.1 --- html/index.html | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/html/index.html b/html/index.html index 0cfc73c5..76043d9c 100644 --- a/html/index.html +++ b/html/index.html @@ -45,7 +45,7 @@