Top Related Projects
📂 Web File Browser
A VIM-inspired filemanager for the console
Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
File browser for Cinnamon
Quick Overview
CloudCmd is a web-based file manager with a dual-panel layout, offering a user-friendly interface for managing files and directories on a server. It provides a range of features including file operations, built-in text editor and viewer, and support for various cloud storage services.
Pros
- Cross-platform compatibility, accessible through any modern web browser
- Dual-panel interface for efficient file management and comparison
- Built-in text editor and viewer with syntax highlighting
- Integration with cloud storage services like Dropbox and Google Drive
Cons
- Requires server-side installation and configuration
- May have a steeper learning curve for users accustomed to traditional file managers
- Performance might be slower compared to native file managers, especially for large file operations
- Limited customization options for the user interface
Getting Started
To install and run CloudCmd:
npm i cloudcmd -g
cloudcmd
Access the file manager by opening a web browser and navigating to http://localhost:8000
.
For more advanced configuration, create a ~/.cloudcmd.json
file:
{
"port": 8000,
"prefix": "/",
"root": "/"
}
You can then start CloudCmd with custom options:
cloudcmd --port 1337 --prefix /files --root /home/user
Competitor Comparisons
📂 Web File Browser
Pros of filebrowser
- Lightweight and fast, with a clean and modern user interface
- Built-in user management system with granular permissions
- Supports multiple storage backends, including local, S3, and Google Drive
Cons of filebrowser
- Limited built-in file editing capabilities compared to cloudcmd
- Fewer advanced features like remote management and terminal access
- Less extensive plugin ecosystem and customization options
Code comparison
filebrowser
func (f *FileInfo) IsDir() bool {
return f.Mode().IsDir()
}
cloudcmd
const isDir = (mode) => {
return (mode & constants.S_IFMT) === constants.S_IFDIR;
};
Both projects implement directory checking, but filebrowser uses Go's built-in file mode methods, while cloudcmd uses a custom JavaScript function with bitwise operations.
filebrowser focuses on simplicity and core file management features, making it ideal for users who need a straightforward, lightweight solution. cloudcmd offers a more comprehensive set of features, including advanced file operations, remote management, and terminal access, making it suitable for power users and developers who require extensive functionality.
While filebrowser has a cleaner, more modern interface, cloudcmd provides greater flexibility and customization options. The choice between the two depends on the specific needs of the user and the desired balance between simplicity and advanced features.
A VIM-inspired filemanager for the console
Pros of ranger
- Terminal-based file manager, ideal for users who prefer command-line interfaces
- Highly customizable with extensive keybindings and configuration options
- Lightweight and fast, suitable for low-resource environments
Cons of ranger
- Steeper learning curve for users unfamiliar with terminal-based applications
- Limited graphical features compared to web-based file managers
- Requires local installation and may not be suitable for remote file management
Code comparison
ranger:
def get_selection(self):
return [f for f in self.thistab.get_selection() if f.is_file]
def execute_file(self, files, **kw):
mode = kw.get('mode', 0)
if mode == 0:
self.execute_command(files)
cloudcmd:
const getPanel = (side) => {
const panel = DOM.getByDataName('js-panel', side);
return panel;
};
const getActivePanel = () => {
const panel = DOM.getByClass('panel .current');
return panel;
};
While both projects deal with file management, ranger focuses on terminal-based operations using Python, whereas cloudcmd is a web-based file manager implemented in JavaScript. The code snippets demonstrate their different approaches to handling file selection and panel management.
Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Pros of vifm
- Lightweight and efficient, designed for terminal use
- Highly customizable with extensive configuration options
- Vim-like keybindings for familiar and efficient navigation
Cons of vifm
- Limited to terminal interface, lacking graphical features
- Steeper learning curve for users unfamiliar with Vim-style commands
- Less focus on cloud integration and remote file management
Code Comparison
vifm configuration example:
" Custom key mapping
nnoremap <C-h> :cd ~<CR>
" Color scheme
colorscheme solarized
" File preview
fileviewer *.pdf pdftotext -nopgbrk %c -
CloudCmd configuration example:
CloudCmd.config({
prefix: '/cloudcmd',
auth: true,
username: 'user',
password: 'pass'
});
While vifm focuses on terminal-based file management with Vim-like syntax, CloudCmd offers a web-based interface with broader cloud integration capabilities. vifm excels in local file management and customization, whereas CloudCmd provides a more accessible interface for remote and cloud-based file operations.
File browser for Cinnamon
Pros of Nemo
- Native file manager for Linux Mint, providing deep system integration
- Extensive plugin system for customization and feature expansion
- Familiar interface for traditional desktop users
Cons of Nemo
- Limited to Linux environments, not cross-platform
- Requires more system resources compared to web-based alternatives
- Less suitable for remote file management scenarios
Code Comparison
Nemo (C):
static void
nemo_file_operations_copy_move (GtkWidget *parent_view,
GFile *target_dir,
GList *files,
GdkDragAction action,
int x, int y)
{
NemoFile *target_file;
GtkWindow *parent_window;
CloudCmd (JavaScript):
const copyFiles = async (from, to) => {
const names = DOM.getSelectedNames();
const files = names.map((name) => join(from, name));
await prompt.confirm({
type: 'copy',
name: 'files',
from,
to,
});
Nemo is a traditional file manager written in C, deeply integrated with the Linux system. CloudCmd, on the other hand, is a web-based file manager written in JavaScript, offering cross-platform compatibility and easier remote file management. While Nemo provides a more native experience for desktop users, CloudCmd offers flexibility and accessibility from any device with a web browser.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Cloud Commander v18.5.1

Main Blog Support Demo
Cloud Commander a file manager for the web with console and editor.
Install
npm i cloudcmd -g
Start
For starting just type in console:
cloudcmd
How to use?
Open url http://localhost:8000
in browser.
View
You will see something similar to this.
Deploy
Cloud Commander
could be easily deployed to Heroku.
Using as Middleware
Cloud Commander could be used as middleware for node.js
applications based on socket.io and express:
Init package.json
:
npm init -y
Install dependencies:
npm i cloudcmd express socket.io -S
And create index.js
:
import http from 'node:http';
import cloudcmd from 'cloudcmd';
import {Server} from 'socket.io';
import express from 'express';
const app = express();
const port = 1337;
const prefix = '/';
const server = http.createServer(app);
const socket = new Server(server, {
path: `${prefix}socket.io`,
});
const config = {
name: 'cloudcmd :)',
};
const filePicker = {
data: {
FilePicker: {
key: 'key',
},
},
};
// override option from json/modules.json
const modules = {
filePicker,
};
const {
createConfigManager,
configPath,
} = cloudcmd;
const configManager = createConfigManager({
configPath,
});
app.use(prefix, cloudcmd({
socket, // used by Config, Edit (optional) and Console (required)
config, // config data (optional)
modules, // optional
configManager, // optional
}));
server.listen(port);
Docker
The docker images are provided for multiple architectures and types. The following list shows all existing images:
Architecture | Type |
---|---|
amd64 | linux |
arm64 (arm/v8) | linux |
amd64 | linux-alpine |
arm64 (arm/v8) | linux-alpine |
Cloud Commander
could be used as a docker container this way:
docker run -it --rm -v ~:/root -v /:/mnt/fs -w=/root -p 8000:8000 coderaiser/cloudcmd
Config would be read from home directory, hosts root file system would be mount to /mnt/fs
,
8000
port would be exposed to hosts port.
Also you could use docker compose with docker-compose.yml
:
version: '2'
services:
web:
ports:
- 8000:8000
volumes:
- ~:/root
- /:/mnt/fs
image: coderaiser/cloudcmd
When you create this file run:
docker-compose up
Documentation
More documentation you can find on https://cloudcmd.io/.
Get involved
There is a lot ways to be involved in Cloud Commander
development:
- support project on patreon: https://patreon.com/coderaiser;
- if you find a bug or got idea to share create an issue;
- if you fixed a bug, typo or implemented new feature create pull request;
- if you know languages you can help with site translations;
License
MIT
Top Related Projects
📂 Web File Browser
A VIM-inspired filemanager for the console
Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
File browser for Cinnamon
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot