2.3.11 • Published 3 months ago

http-up v2.3.11

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

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 running without install

npx http-up .

or

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

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

Buttons share/rename/edit

Edit button work with formats html, rtf, doc, docx, odt.

For document online edit you need libreoffice package.

Motivation for share button

Imagine, that you run app with basic auth npx http-up --user XXX --password YYY --extend-mode .

And you not want to share with your login/password

And you need to show only one file

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 --user login1 --password EAJteG5 .

The safest run

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

read for TLS Support below

Only share

npx http-up --upload-disable --folder-make-disable /tmp/fold

Online editor

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

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

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.

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

File encrypt

!IMPORTANT
Be careful. If you download .crypt file with WRONG password, it file will be contain MESS of bytes

Your server need package openssl. It will be use openssl aes-256-cbc

npx http-up --extend-mode --crypt /tmp

Then, set your passcode to the form. The passcode store on the form between requests and you not need input it every time (if you clear it server will not use openssl).

During the process of uploading, your files will be encrypt and their EXT change to .crypt

When files lying on your server, their data is crypted.

If you need decrypt any .crypt flles, set your passcode, and click on file. During download this file, it will be decrypt on the fly.

Server will be encrypt upload file:

npx http-up --extend-mode --crypt /tmp
  • if you set --crypt arg on cmd
  • if you set passcode (pass code set by form)

Server will be decrypt download file:

npx http-up --extend-mode --crypt /tmp
  • if you set --crypt arg on cmd
  • if filename contain .crypt extension
  • if you set right passcode (pass code set by form)

Server will be decrypt download file (case 2):

npx http-up /tmp
  • if filename contain .crypt extension
  • if you get file with code param: /fold3/file.jpg.crypt?code=YOUR_PASS_HERE

Automatic TLS keys generate

  • For start HTTPS server you need easyrsa (easy-rsa package) 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

You need convert (ImageMagick package) for preview images jpg, png, gif

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

Linux packages needs for full functional

  • md5sum (coreutils package) - make md5 sum of file
  • convert (ImageMagick package) - for make thumbnails
  • libreoffice - for doc thumbnails, for doc files online edit
  • easyrsa (easy-rsa package) - package for certs build
  • openssl - encrypt file support
  • 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

  • save whitespaces for filenames?
  • what is the lib can resize images enough fast
  • database migration
  • project needs middleware (or module arch) or not
  • TS ?
  • rich frontend (react, vue) ?
  • search
  • should i support no_database version?
  • tabs

2.3.6

  • fix download info for share

2.3.5

  • run model.file().check_exists() after operations
  • hide tls generator output (new tls-debug arg)
  • (2.3.4) files_count_max to 100

2.3.0

  • new head interface
  • search
  • create new file

2.1.0

  • add source code editor for html|txt|js|css|md

2.0.5

  • show monitor page for /admin/

2.0.4

  • send 404 html page for share problems

2.0.3

  • remove ansi colors from export string

2.0.2

  • allow /assets/ prefix without password

2.0.0

  • database support
  • rename button
  • share button
  • edit button for html, rtf, doc, docx, odt
  • speed up hash search for thumbnails
  • event log
  • export event log as JSON
  • refactoring

1.6.5

  • add compression

1.6.4

  • fix upload with code undefined

1.6.1

  • API: remove target file or folder while COPY or MOVE

1.6.0

  • file encrypt

1.5.0

  • move group operation buttons to top panel
  • add sort operation
  • add move group API (with side panel folder)
  • add copy group API (with side panel folder)
  • add zip_and_download group API

1.4.0

  • make root config folder as /home/USERNAME/.httpup/
  • temp and easyrsa folder moved to root config folder
  • add /__thumb/ preview generator for img and documents

other history here

Any questions

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

1.2.0

7 months ago

1.6.4

6 months ago

1.6.3

6 months ago

1.2.7

7 months ago

1.2.6

7 months ago

1.6.1

6 months ago

1.2.5

7 months ago

1.6.0

6 months ago

1.2.4

7 months ago

1.2.2

7 months ago

1.2.1

7 months ago

2.0.3

6 months ago

2.0.2

6 months ago

2.0.5

6 months ago

2.0.4

6 months ago

2.0.1

6 months ago

2.0.0

6 months ago

1.5.3

6 months ago

1.5.2

6 months ago

1.5.1

6 months ago

1.5.0

6 months ago

2.3.0

5 months ago

2.3.2

5 months ago

2.3.1

5 months ago

2.3.4

4 months ago

2.3.3

5 months ago

2.3.6

4 months ago

2.3.5

4 months ago

1.6.8

6 months ago

1.6.7

6 months ago

1.6.5

6 months ago

1.4.0

6 months ago

2.3.8

4 months ago

2.3.7

4 months ago

2.3.9

4 months ago

1.3.2

6 months ago

1.3.0

7 months ago

2.1.1

6 months ago

2.1.0

6 months ago

2.3.11

3 months ago

2.3.10

4 months ago

1.0.61

8 months ago

1.0.60

8 months ago

1.0.48

8 months ago

1.0.49

8 months ago

1.0.51

8 months ago

1.0.50

8 months ago

1.0.55

8 months ago

1.0.54

8 months ago

1.0.53

8 months ago

1.0.52

8 months ago

1.0.59

8 months ago

1.0.58

8 months ago

1.0.57

8 months ago

1.0.56

8 months ago

1.0.44

8 months ago

1.0.47

8 months ago

1.0.46

8 months ago

1.0.45

8 months ago

1.0.39

8 months ago

1.0.40

8 months ago

1.0.43

8 months ago

1.0.42

8 months ago

1.0.41

8 months ago

1.0.19

8 months ago

1.0.18

8 months ago

1.0.17

8 months ago

1.0.38

8 months ago

1.0.16

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.22

8 months ago

1.0.21

8 months ago

1.0.20

8 months ago

1.0.26

8 months ago

1.0.25

8 months ago

1.0.24

8 months ago

1.0.23

8 months ago

1.0.29

8 months ago

1.0.28

8 months ago

1.0.27

8 months ago

1.0.33

8 months ago

1.0.11

8 months ago

1.0.32

8 months ago

1.0.10

8 months ago

1.0.31

8 months ago

1.0.30

8 months ago

1.0.37

8 months ago

1.0.15

8 months ago

1.0.36

8 months ago

1.0.14

8 months ago

1.0.35

8 months ago

1.0.13

8 months ago

1.0.34

8 months ago

1.0.12

8 months ago

1.0.7

1 year ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago