Introducing npm Teams! Private packages + team management tools.Learn more »

scullog

0.2.0 • Public • Published

Scullog

Scullog, having capability of sharing the local drive to the browser. Stream the log file via Socket.IO over browser. It runs on any platform such as windows/linux/mac. It runs as a service or in standalone mode. It also provides various other features:

Features

  • Listing & Sorting Files and Folders
  • Support Multiple Base Directories
  • Download/Upload file
  • Move/Delete/Rename file
  • Role based permission (time based revoking)
  • Push remote configuration & update scullog, with just one click
  • Create/Upload/Edit a File/Folder
  • Stream a particular file content.
  • Advanced highlighting and filtering text, while streaming file content
  • Detailed logging.
  • Adding path to favorite, to quickly jump on it
  • Support right hand context menu for file/folder
  • Run as service or in standalone mode
  • Full support of scullog as docker image

Screenshots

Basic Mode Screenshot Privilege Mode Screenshot

Installation

Install the scullog npm package

  npm install -g scullog

Run the scullog in either standalone

  scullog -p 8080 -d /path/to/

or in service mode

  scullog -s install -p 8080 -d /path/to/

Then, we can view http://localhost:8080/ in our browser.

Complete Usage

scullog [-s ] [-p ] [-d ] [-c ]

Options:

-s, --service install/uninstall as service [choices: "install", "uninstall"]

-p, --port Server Port [number]

-d, --directory Root Files Directory [array]

-c, --config Local/Remote Config file [string]

-h, --help Show help

-v, --version Show version number

Scullog as Docker Image

Scullog Docker Image having alpine linux as a base Image, can be used for running anything, with extra capability of serving & streaming the docker files & logs, over the local system, using 8080 port.

Dependency

Dependends on Unix style tail command

  • Windows -- Install Git for Windows. It will install unix command in the path.
  • Linux/Mac -- Support automatically

Setting up Reverse Proxy via Nginx

Path based reverse proxy

Suppose, you are running scullog at localhost:9000, and wanted to run at localhost:8888/scullog, then below configuration

http{
  map $http_upgrade $connection_upgrade {
      default upgrade;
      '' close;
  }
  server {
        listen	8888;
      server_name  localhost;
        location /scullog {
            rewrite ^/scullog/?(.*) /$1 break;
            proxy_pass http://127.0.0.1:9000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }
}

Port based reverse proxy

Suppose, you are running scullog at localhost:9000, and wanted to run at localhost:8888, then below configuration

http{
  map $http_upgrade $connection_upgrade {
      default upgrade;
      '' close;
  }
  server {
        listen	8888;
      server_name  localhost;
        location / {
            proxy_pass http://127.0.0.1:9000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }
}

SSL Support

To start scullog with ssl support, pass the ssl certificate and ssl key in configuration file in below format

{
  "ssl": {
    "key": "",
    "certificate": ""
  }
}

Sample configuration file, can be found here

RoadMap

  • Docker Image
  • Reverse Proxy support
  • SSL Support
  • Change file permissions and attributes.
  • Better layout design for better accessibility (utilize full screen)
  • Execute custom cmd for better control.
  • View Images and videos
  • PDF viewer
  • Drag n drop functionality for file upload

Install

npm i scullog

DownloadsWeekly Downloads

7

Version

0.2.0

License

MIT

Unpacked Size

292 kB

Total Files

76

Last publish

Collaborators

  • avatar