zella / vertx-file-server

Simple permission-to-folder based file server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@Deprecated

vertx-file-server

Simple "user-has-permission-to-folder" based file server

Feautures:

  • File uploads
  • File listing
  • Users and corresponding permissions
  • Permissions ("r" or "w" or "rw") for specific folder or file.
  • Time based permissions ("User Bob can read "/specific/folder/*" until 2017 12 30 14:30)
  • Public permission, without authentification
  • Editing permission config from web. Require admin user

Example config:

users = [
  {"login": "admin", "pass": "111"},
  {"login": "Bob", "pass": "222"}
  {"login": "Andrey", "pass": "333"}
]

permissions = [
  {"id": "p1", "file": "someDir", "perm": "rw"},
  {"id": "p2", "file": "someDir/sub/dir", "perm": "r","until": "2018-04-08 12:30"},
  {"id": "pPub", "file": "someDir/somePubDir/someFile.jpg", "perm": "r", "until": "2019-04-08 12:30"},
]

usersHasPermissions = [
  {"login": "admin", "permissions": ["p1","p2"]},
  {"login": "Bob", "permissions": ["p2"]},
  {"login": "*", "permissions": ["pPub"]}, #public, no login required
]

How to run:

java -Dadmin="adminUser" -DconfigFile="/path/to/my.conf" -Dport=9999 -DrootDir="/web/etc" -DtmpDir="/upload/here" -DreloadInterval=10 -jar vertx-file-server.jar

-DreloadInterval - optional, default - disabled(-1)

Params:

  • -Dadmin - who can edit config
  • -DconfigFile - path to conf
  • -Dport - http server port
  • -DrootDir - dir where all permitted dirs exist
  • -DreloadInterval - reload config interval(secs) if changed externally

Urls:

  • /login - login
  • / - shows first permitted dir(if you have more than one) or login
  • /update - update config
  • /logout - logout

About

Simple permission-to-folder based file server

License:MIT License


Languages

Language:Scala 47.3%Language:Java 42.3%Language:HTML 10.4%