Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

http-up

western495MIT3.1.3

Simple share folder via http with upload

cli, command, static, static-server, http, https, tls, http-server, https-server, web-server, webserver, server, upload, file-upload, share, file-server, file-share, download

readme

http-up

Simple zero-configuration command line http server with lightweight interface to work with files

Share folder via http with upload

Multiple files upload to current showed folder

In extended mode you can doing more

Mobile window

Fast run without install

npx http-up .

or

npx http-up --port 3999 /path/to/fold
npx http-up --help

If you switch --extend-mode

npx http-up --extend-mode /tmp

App will change main list view to table. And you can operate with files - delete, move, copy

Below you see display width more than 992 pix (1), less than (2) and mobile window (3):

[!IMPORTANT]
During group operations COPY or MOVE all target files/folders will be rewrite

Preview doc button

For Thumbnails support read below

Basic auth

[!IMPORTANT]
It is recommend for work on public network interfaces

every time when you start, you get a list of random accounts

npx http-up --basic .

or only one basic auth specific user

npx http-up --login login1 --password EAJteG5 .

The safest run

npx http-up --tls --basic /path/to/you

read for TLS Support below

Only share

npx http-up --share-only /tmp/fold

it is disable "upload" and disable "make new folder" buttons

Online editor

You can online edit files html, rtf, doc, docx, odt as office files.

Or html, txt, js, css, md, sh, json formats as source code.

Or md as markdown.

You need libreoffice package for office files.

Office files follow this flow: file.doc => file.html, edit => file.doc

New filename ext

If you set extension for file as rtf, doc, docx, odt, after create you can edit it with online WYSIWYG.

(For formats rtf, doc, docx, odt you need libreoffice package)

If you set extension html, txt, js, css, md, sh, json, you will edit it with code editor.

Automatic TLS keys generate

  • For start HTTPS server you need openssl linux package
  • When you start server with --tls option, all keys generate automatically
npx http-up --tls .
  • Server use self signed certs, generated at first time. Thus you need approve this connection on your clients.

Export log data and how read it

After export log data to file

npx http-up --log-export file.json

You can ask show all data for client "192.168.0.102" inside with jq:

jq '.[] | select(.ip=="192.168.0.102")' file.json

Or show all events, contain "spring" substring:

jq '.[] | select(.msg | contains("spring"))' file.json

Or you can work with SQL directly inside .httpup/db folder

Magic file index.html inside any folder

If you put inside folder index.html, it will be return as content

Thumbnails support

For preview images jpg, png, gif you not need anything.

For document preview you need libreoffice package. Formats pdf, rtf, doc, docx, xls, xlsx, odt, ods

Linux packages needs for full functional

  • libreoffice - for doc thumbnails, for doc files online edit
  • openssl - encrypt file support, package for certs build
  • zip - cmd util for zip_and_download

Notes

[!CAUTION] Be careful, if you start this App on public network interface, anybody can work with it

[!CAUTION]
Always run this app only under unprivileged common user

  • If you run application under some User, this user should be have privileges to write target folder

History

backlog

  • <input disabled="" type="checkbox"> save whitespaces for filenames?
  • <input disabled="" type="checkbox"> what is the lib can resize images enough fast
  • <input disabled="" type="checkbox"> project needs middleware (or module arch) or not
  • <input disabled="" type="checkbox"> TS ?
  • <input disabled="" type="checkbox"> rich frontend (react, vue) ?
  • <input disabled="" type="checkbox"> tabs

3.1.0

  • <input checked="" disabled="" type="checkbox"> thumbnails: rewrite to async
  • <input checked="" disabled="" type="checkbox"> thumbnails: removed dependence ImageMagick and md5
  • <input checked="" disabled="" type="checkbox"> api/post_file: rewrite to async
  • <input checked="" disabled="" type="checkbox"> api/get_all: rewrite to async
  • <input checked="" disabled="" type="checkbox"> File implementation
  • <input checked="" disabled="" type="checkbox"> new index4.js
  • <input checked="" disabled="" type="checkbox"> codemirror bundle update cm6.bundle-20250710.min.js

codemirror:

  • <input checked="" disabled="" type="checkbox"> disable autocomplete
  • <input checked="" disabled="" type="checkbox"> disable black theme
  • <input checked="" disabled="" type="checkbox"> add highlight JSON

editors:

  • <input checked="" disabled="" type="checkbox"> open SH as CODE
  • <input checked="" disabled="" type="checkbox"> for new SH file - open CODE online editor
  • <input checked="" disabled="" type="checkbox"> for new JSON file - open CODE online editor
  • <input checked="" disabled="" type="checkbox"> for new MD file - open in MARKDOWN editor
  • <input checked="" disabled="" type="checkbox"> fix: ability to save EMPTY source code file

3.0.0

  • <input checked="" disabled="" type="checkbox"> fresh packages
  • <input checked="" disabled="" type="checkbox"> code rewrite
  • <input disabled="" type="checkbox"> async everywhere
  • <input checked="" disabled="" type="checkbox"> new MARKDOWN editor
  • <input checked="" disabled="" type="checkbox"> database is disabled by default
  • <input checked="" disabled="" type="checkbox"> log output disable option
  • <input checked="" disabled="" type="checkbox"> remove jquery
  • <input checked="" disabled="" type="checkbox"> remove tree_walk, remove bstreeview (rewrite to "clipboard style")
  • <input disabled="" type="checkbox"> can i print without template engine? (remove handlebars?)
  • <input disabled="" type="checkbox"> facilitate css grid
  • <input disabled="" type="checkbox"> combine all css to html page
  • <input checked="" disabled="" type="checkbox"> remove SHARE option
  • <input checked="" disabled="" type="checkbox"> remove ADMIN console
  • <input checked="" disabled="" type="checkbox"> remove file ENCRYPT option

other history here

Any questions

https://github.com/western/http-up/issues

changelog

History

2.4.2

  • <input checked="" disabled="" type="checkbox"> generate tls keys via openssl directly: remove easyrsa dependence

2.4.0

  • <input checked="" disabled="" type="checkbox"> code restructure
  • <input checked="" disabled="" type="checkbox"> search highlight fix
  • <input checked="" disabled="" type="checkbox"> API changes
  • <input checked="" disabled="" type="checkbox"> add player for folder
  • <input checked="" disabled="" type="checkbox"> more stable for get file (res.sendFile err catch)
  • <input checked="" disabled="" type="checkbox"> add TAG show for log info
  • <input checked="" disabled="" type="checkbox"> check move/copy API source and target path

2.3.6

  • <input checked="" disabled="" type="checkbox"> fix download info for share

2.3.5

  • <input checked="" disabled="" type="checkbox"> run model.file().check_exists() after operations
  • <input checked="" disabled="" type="checkbox"> hide tls generator output (new tls-debug arg)
  • <input checked="" disabled="" type="checkbox"> (2.3.4) files_count_max to 100

2.3.0

  • <input checked="" disabled="" type="checkbox"> new head interface
  • <input checked="" disabled="" type="checkbox"> search
  • <input checked="" disabled="" type="checkbox"> create new file

2.1.0

  • <input checked="" disabled="" type="checkbox"> add source code editor for html|txt|js|css|md

2.0.5

  • <input checked="" disabled="" type="checkbox"> show monitor page for /admin/

2.0.4

  • <input checked="" disabled="" type="checkbox"> send 404 html page for share problems

2.0.3

  • <input checked="" disabled="" type="checkbox"> remove ansi colors from export string

2.0.2

  • <input checked="" disabled="" type="checkbox"> allow /assets/ prefix without password

2.0.0

  • <input checked="" disabled="" type="checkbox"> database support
  • <input checked="" disabled="" type="checkbox"> rename button
  • <input checked="" disabled="" type="checkbox"> share button
  • <input checked="" disabled="" type="checkbox"> edit button for html, rtf, doc, docx, odt
  • <input checked="" disabled="" type="checkbox"> speed up hash search for thumbnails
  • <input checked="" disabled="" type="checkbox"> event log
  • <input checked="" disabled="" type="checkbox"> export event log as JSON
  • <input checked="" disabled="" type="checkbox"> refactoring

1.6.5

  • <input checked="" disabled="" type="checkbox"> add compression

1.6.4

  • <input checked="" disabled="" type="checkbox"> fix upload with code undefined

1.6.1

  • <input checked="" disabled="" type="checkbox"> API: remove target file or folder while COPY or MOVE

1.6.0

  • <input checked="" disabled="" type="checkbox"> file encrypt

1.5.0

  • <input checked="" disabled="" type="checkbox"> move group operation buttons to top panel
  • <input checked="" disabled="" type="checkbox"> add sort operation
  • <input checked="" disabled="" type="checkbox"> add move group API (with side panel folder)
  • <input checked="" disabled="" type="checkbox"> add copy group API (with side panel folder)
  • <input checked="" disabled="" type="checkbox"> add zip_and_download group API

1.4.0

  • <input checked="" disabled="" type="checkbox"> make root config folder as /home/USERNAME/.httpup/
  • <input checked="" disabled="" type="checkbox"> temp and easyrsa folder moved to root config folder
  • <input checked="" disabled="" type="checkbox"> add /__thumb/ preview generator for img and documents

1.3.0

  • <input checked="" disabled="" type="checkbox">
    • check file index.html inside folder and show it

1.2.7

  • <input checked="" disabled="" type="checkbox">
    • success publish with right /view folder path

1.2.4

  • <input checked="" disabled="" type="checkbox">
    • core: rewrite for template express-handlebars (big rewrite)
  • <input checked="" disabled="" type="checkbox">
    • remove unused assets
  • <input checked="" disabled="" type="checkbox">
    • change http_path_clear util function

1.2.2

  • <input checked="" disabled="" type="checkbox">
    • change out and path.join everywhere
  • <input checked="" disabled="" type="checkbox">
    • set sendfile

1.2.0

twin brother rewrite to v1.2.0

  • <input checked="" disabled="" type="checkbox">
    • add --extend-mode (table view, thumbnails and delete)
  • <input checked="" disabled="" type="checkbox">
    • decomposition of code

1.0.57

  • <input checked="" disabled="" type="checkbox">
    • add folder tree

1.0.51

  • <input checked="" disabled="" type="checkbox">
    • add two experimental view modes

1.0.48

  • <input checked="" disabled="" type="checkbox">
    • show upload progress as simple as possible

1.0.47

  • <input checked="" disabled="" type="checkbox">
    • decomposition
  • <input checked="" disabled="" type="checkbox">
    • change default content type
  • <input checked="" disabled="" type="checkbox">
    • set utf charset for js files

1.0.44

  • <input checked="" disabled="" type="checkbox">
    • cors for api
  • <input checked="" disabled="" type="checkbox">
    • cmd args configure
  • <input checked="" disabled="" type="checkbox">
    • add folder with tests

1.0.43

  • <input checked="" disabled="" type="checkbox">
    • 401 error page show
  • <input checked="" disabled="" type="checkbox">
    • new util.http_path_clear function

1.0.42

  • <input checked="" disabled="" type="checkbox">
    • show basic login in log

1.0.41

  • <input checked="" disabled="" type="checkbox">
    • basic auth with --basic make list of credentials

1.0.37

  • <input checked="" disabled="" type="checkbox">
    • add tls

1.0.35

  • <input checked="" disabled="" type="checkbox">
    • security fix - double slashes

1.0.34

  • <input checked="" disabled="" type="checkbox">
    • filename and foldername letters extended

1.0.32 and 1.0.33

  • <input checked="" disabled="" type="checkbox">
    • security fix - double dot

1.0.31

  • <input checked="" disabled="" type="checkbox">
    • catch read errors and new error page

1.0.30

  • <input checked="" disabled="" type="checkbox">
    • grouping folders on top of list
  • <input checked="" disabled="" type="checkbox">
    • change stdout log info

1.0.29

  • <input checked="" disabled="" type="checkbox">
    • --upload-disable and --folder-make-disable keys

1.0.27

  • <input checked="" disabled="" type="checkbox">
    • set right mime type

1.0.26

  • <input checked="" disabled="" type="checkbox">
    • change stdout log info
  • <input checked="" disabled="" type="checkbox">
    • change file listing view to full row
  • <input checked="" disabled="" type="checkbox">
    • move uploader and folder create interfaces up
  • <input disabled="" type="checkbox">
    • arg --log to file

1.0.25

  • <input checked="" disabled="" type="checkbox">
    • show files_count_max warning

1.0.21

  • <input checked="" disabled="" type="checkbox">
    • add basic auth

1.0.19

  • <input checked="" disabled="" type="checkbox">
    • remove H1
  • <input checked="" disabled="" type="checkbox">
    • autoclean temp folder
  • <input checked="" disabled="" type="checkbox">
    • change breadcrumbs font
  • <input checked="" disabled="" type="checkbox">
    • change list font

1.0.17

  • <input checked="" disabled="" type="checkbox">
    • change temp folder to /tmp/httpup
  • <input checked="" disabled="" type="checkbox">
    • change copy function to rename
  • <input checked="" disabled="" type="checkbox">
    • fix multiple upload

1.0.16

  • <input checked="" disabled="" type="checkbox">
    • add config file

1.0.15

  • <input checked="" disabled="" type="checkbox">
    • make folder by enter

1.0.14

  • <input checked="" disabled="" type="checkbox">
    • swap bg color between folder and file

1.0.13

  • <input checked="" disabled="" type="checkbox">
    • decomposition for lib/http-up.js

1.0.12

  • <input checked="" disabled="" type="checkbox">
    • make new folder via web interface

1.0.11

  • <input checked="" disabled="" type="checkbox">
    • refresh npm modules with clear recreate lock file

1.0.10

  • <input checked="" disabled="" type="checkbox">
    • refresh bootstrap
  • <input checked="" disabled="" type="checkbox">
    • file size warning show
  • <input checked="" disabled="" type="checkbox">
    • add prettier for code
  • <input disabled="" type="checkbox">
    • refresh npm modules with clear recreate lock file
  • <input disabled="" type="checkbox">
    • public folder automake (if not exist)
  • <input disabled="" type="checkbox">
    • file size show in page