Giter Site home page Giter Site logo

la9527 / mdir.js Goto Github PK

View Code? Open in Web Editor NEW
73.0 6.0 12.0 16.54 MB

Mdir.js is text base file manager. Mdir.js is clone of LinM.

License: BSD 3-Clause "New" or "Revised" License

TypeScript 98.02% JavaScript 1.86% Shell 0.09% Dockerfile 0.03%
console filemanager blessed cui linm mc xterm sftp ssh mdir

mdir.js's Introduction

Mdir.js

Instruction

Mdir.js is a visual file manager.

It's a feature rich full-screen text mode application that allows you to copy, move and delete files and whole directory trees, search for files and run commands in the sub-shell.

It's a clone of Mdir, the famous file manager from the MS-DOS age. Mdir.js inherits the keyboard shortcuts and the screen layout from Mdir to maximize user-friendliness.

The best feature of Mdir.js are its ability to connect SFTP, SSH and view tar and zip files and it's convenient to operate the terminal shell inside the sub-window.

Also, you can connect directly to the same client through SSH after SFTP remote access and it's convenient to go directly from the SFTP directory to the SSH directory.

For bug reports, comments and questions, please send to GitHub Issues Site or email to [email protected].

Tested OS

  • Windows 10
  • MAC OSX Catalina (10.15.x)
  • Ubuntu Linux

License

Mdir.js is distributed under the BSD 3-Clause License. See ['LICENSE'] for the detail.

Binary Download

  • Windows 10

  • Mac OSX

Build & Installation

1) Dependencies

  • Common

  • Windows

    npm install requires some tools to be present in the system like Python and C++ compiler. Windows users can easily install them by running the following command in PowerShell as administrator. For more information see https://github.com/felixrieseberg/windows-build-tools:

    $ npm install -g --production windows-build-tools
  • Mac OS

    Xcode is needed to compile the sources, this can be installed from the App Store.

  • Linux/Ubuntu

    sudo apt install -y make python build-essential

2) Install

$ mkdir mdir
$ cd mdir
$ npm install mdir.js

3) Run

$ mdir
  • If it does not run, close the terminal and try again.

Version History

  • v1.3.0
    • [improve] Change ECMAScript modules from CommonJS modules.
    • [improve] library version update and dependency change by node.js >= 16.0.
  • v1.2.8
    • [security] ssh2 version upgrade (v1.5.0)
  • v1.2.7
    • [improve] implement new file function.
    • [improve] mount menu for linux (thank you for rsyh93)
    • [bugfix] bugfix for typing a backslash while searching. (thank you for rsyh93)
  • v1.2.6
    • [improve] implement new file function.
  • v1.2.5
    • [improve] Fixed mouse selection function in terminal to work in editor and terminal without split screen.
  • v1.2.4
    • [bugfix] bugfix for the zsh prompt in the subshell.
  • v1.2.0
    • [improve] Supports search and directory caching on the MCD.
  • v1.1.0
    • [ADD] Support the xz compress file.
  • v1.0.0
    • [ADD] Supports the SFTP and the SSH Connection. (F6)
    • [ADD] The terminal(sub-shell) supports the full screen. (Ctrl+U)
    • [ADD] When directory change on the terminal(sub-shell) then it is auto detect, and when quit the terminal, move to a last stayed directory.
  • v0.8.4
    • [bugfix] bugfix for execute a file name with blank characters.(win32)
    • [improve] js, ts files apply a ESLint.
  • v0.8.3
    • Add option to select a program when running the program. (Ctrl+R)
    • Add configuration file.
  • v0.8.2
    • [bugfix] package dependency for windows 10
    • [add] show logo at startup
  • v0.8.1
    • compressed files support (zip, tar.gz, gz, bz2) (Supports copy, remove, rename, create directories of the selected files in the compressed file viewer.)
  • v0.7.x
    • simple editor support in the window box. (auto detect text file encoding)
  • v0.6.x
    • korean text translation support
  • v0.5.x
    • simple image viewer support (png, jpeg, gif)
    • true color image support in the iTerm (MacOS only).
  • v0.4.x
    • terminal support(sub-shell) in the window box.
  • v0.2.x
    • Add the hint on the bottom side.
    • Add the command line at the bottom side (press slash('/') key)
  • v0.1.x
    • Support the MCD(directory changer of tree design) in the window box.

Gallery

1. Main Screen (Split Window)

Mdir.js MAIN

2. Mcd Screen (Tree viewer)

Mdir.js MCD

3. Terminal(Sub-shell) in the inside window

Mdir.js XTerm

4. Internal Editor

Mdir.js XTerm

5. Simple Terminal Image Viewer

Mdir.js XTerm

6. SSH, SFTP Support

Mdir.js SSH,SFTP

mdir.js's People

Contributors

la9527 avatar rsyh93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mdir.js's Issues

Typing a backslash while searching for a file shows an error

To Reproduce
Steps to reproduce the behavior:

While browsing the filesystem normally,

  1. Type any letter (e.g. 'k') to start the search
  2. Type the '\' character
  3. See error in dialog box

Expected behavior
No error; continue searching for a file with \ character.

Screenshots

SyntaxError: Invalid regular expression: /k\/: \ at end of pattern
   at new RegExp (<anonymous>)
   at Object.searchFile (/home/young/Projects/mdir.js/build/panel_blassed/BlessedPanel.js:362:27)
   at Object.keyInputSearchFile (/home/young/Projects/mdir.js/build/panel_blassed/BlessedPanel.js:238:18)
   at processTicksAndRejections (internal/process/task_queues.js:97:5)
   at async Screen.<anonymous> (/home/young/Projects/mdir.js/build/panel_blassed/BaseMainFrame.js:402:36)

Desktop (please complete the following information):

  • OS: Ubuntu Linux 21.04

Running "File" > "New" shows an error

Describe the bug
Running "New" from the "File" menu shows an error, and seems to be unimplemented in code.

To Reproduce
Steps to reproduce the behavior:

  1. Press F12 to access the pulldown menu
  2. Go to "File". Your cursor should be on "New"
  3. Press Enter.
  4. See error

Expected behavior
Similar to the "Mkdir" function, a dialog box should pop up, asking for a name for the new file.

Desktop (please complete the following information):

  • OS: Ubuntu Linux 20.10

Smarter Mount menu entries for Linux

Is your feature request related to a problem? Please describe.
Currently, the mount menu shows every mount point, which can get a bit unwieldy...

mount pane showing 56 mount points

Describe the solution you'd like
List only the mount points relevant to a non-administrative user: that is, (encrypted/unencrypted) partitions and removable media.

Additional context
See jamielinux/bashmount for a small bash utility that fetches necessary info in Linux.

Supporint CentOS 6

OS: CentOS 6.10 Final
Node: v10.24.1
NPM: 6.14.12
Python: 2.6.6

Not installed with the below error msg

~/mdir   
❯ npm install mdir.js
npm WARN deprecated [email protected]: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future

> [email protected] install /home/gcjjyy/mdir/node_modules/lzma-native
> node-pre-gyp install --fallback-to-build && rimraf build

node-pre-gyp WARN Using needle for node-pre-gyp https download 
[lzma-native] Success: "/home/gcjjyy/mdir/node_modules/lzma-native/binding-v6.0.1-n-api-linux-x64/lzma_native.node" is installed via remote

> [email protected] install /home/gcjjyy/mdir/node_modules/node-pty-prebuilt-multiarch
> prebuild-install || node scripts/install.js

prebuild-install WARN install /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/gcjjyy/mdir/node_modules/node-pty-prebuilt-multiarch/build/Release/pty.node)
Traceback (most recent call last):
  File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 47, in <module>
    import gyp
  File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 11, in <module>    import argparse
ImportError: No module named argparse
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Linux 2.6.32-754.35.1.el6.x86_64
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/gcjjyy/mdir/node_modules/node-pty-prebuilt-multiarch
gyp ERR! node -v v10.24.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm WARN enoent ENOENT: no such file or directory, open '/home/gcjjyy/mdir/package.json'
npm WARN [email protected] requires a peer of i18next@^21.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN mdir No description
npm WARN mdir No repository field.
npm WARN mdir No README data
npm WARN mdir No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `prebuild-install || node scripts/install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/gcjjyy/.npm/_logs/2021-11-25T15_28_51_910Z-debug.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.