📂 Web File Browser
Go to file
Henrique Dias abd194ac61 Build assets
Former-commit-id: 6f653ec825b8a29843fdf214dc45eb78f78e59b2 [formerly a6ce3ac905666ffdd44c4ae19803e173aea5e4aa] [formerly 88adeb4c57cc41f2dbbb8287f83b7df532acbcf1 [formerly 272e2b3c24]]
Former-commit-id: 758217d2559f819846b2ec498cd390bfdb60cc84 [formerly 89302fc8cd4c8f2c12bd173370459510f3fd7b07]
Former-commit-id: b46fcc48ac6fb32eccc79e9852644be766f89187
2017-07-20 09:04:23 +01:00
.github add caddy plugin 2017-06-26 15:39:35 +01:00
assets Fix typo Costum:Custom 2017-07-19 14:34:52 -05:00
caddy Build assets 2017-07-20 09:04:23 +01:00
cmd/filemanager Standalone 2017-07-20 09:03:14 +01:00
variables gofmt 2017-06-25 10:02:16 +01:00
.babelrc update 2017-07-06 08:12:19 +01:00
.editorconfig Move fonts and add go to editorconfig 2017-06-30 15:09:00 +01:00
.eslintignore update 2017-07-06 08:12:19 +01:00
.eslintrc.js update 2017-07-06 08:12:19 +01:00
.gitignore Standalone 2017-07-20 09:03:14 +01:00
.travis.yml updates on editor 2017-07-01 08:36:28 +01:00
auth.go Trying to fix 403 on many requests #143 2017-07-19 08:28:01 +01:00
build.sh Fix bugs and such 2017-07-18 09:06:19 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-06-25 21:01:54 +01:00
command.go Start integrating Hugo in the new plugin 2017-07-11 16:58:18 +01:00
download.go Start integrating Hugo in the new plugin 2017-07-11 16:58:18 +01:00
file.go Start integrating Hugo in the new plugin 2017-07-11 16:58:18 +01:00
filemanager.go Standalone 2017-07-20 09:03:14 +01:00
http.go simplify 2017-07-19 07:43:04 +01:00
LICENSE.md License 2017-06-24 12:13:07 +01:00
package.json Fix some stuff 2017-07-06 08:52:39 +01:00
README.md Standalone 2017-07-20 09:03:14 +01:00
resource.go Add User Permission check 2017-07-14 07:51:32 +01:00
rice-box.go.REMOVED.git-id Build assets 2017-07-20 09:04:23 +01:00
search.go Start integrating Hugo in the new plugin 2017-07-11 16:58:18 +01:00
settings.go Plugins settings working 2017-07-18 14:43:16 +01:00
users.go Fix for #142 2017-07-19 07:55:58 +01:00

filemanager

Build Go Report Card Documentation

filemanager provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. It can be used as a standalone app or as a middleware.

Table of contents

Getting started

This is a library so it can be used on your own applications as a middleware or as a standalone app (examples are going to be added in the future).

Once you have everything deployed, the default credentials to login to the filemanager are:

Username: admin Password: admin

Caddy

The easiest way to get started is using this with Caddy web server. You just need to download Caddy from its official website with http.filemanager plugin enabled. For more information about the plugin itself, please refer to its documentation.

Standalone

{
  "port": 80,
  "database": "/path/to/database.db",
  "scope": "/path/to/my/files",
  "allowCommands": true,
  "allowEdit": true,
  "allowNew": true,
  "commands": [
    "git",
    "svn"
  ]
}

Features

Easy login system.

Login Page

Listings of your files, available in two styles: mosaic and list. You can delete, move, rename, upload and create new files, as well as directories. Single files can be downloaded directly, and multiple files as .zip, .tar, .tar.gz, .tar.bz2 or .tar.xz.

Mosaic Listing

File Manager editor is powered by Codemirror and if you're working with markdown files with metadata, both parts will be separated from each other so you can focus on the content.

Markdown Editor

On the settings page, a regular user can set its own custom CSS to personalize the experience and change its password. For admins, they can manage the permissions of each user, set commands which can be executed when certain events are triggered (such as before saving and after saving) and change plugin's settings.

Settings

We also allow the users to search in the directories and execute commands if allowed.

Users

We support multiple users and each user can have its own scope and custom stylesheet. The administrator is able to choose which permissions should be given to the users, as well as the commands they can execute. Each user also have a set of rules, in which he can be prevented or allowed to access some directories (regular expressions included!).

Users

FileManager allows you to search through your files and it has some options. By default, your search will be something like this:

this are keywords

If you search for that it will look at every file that contains "this", "are" or "keywords" on their name. If you want to search for an exact term, you should surround your search by double quotes:

"this is the name"

That will search for any file that contains "this is the name" on its name. It won't search for each separated term this time.

By default, every search will be case sensitive. Although, you can make a case insensitive search by adding case:insensitive to the search terms, like this:

this are keywords case:insensitive

Contributing

If you want to contribute or want to build the code from source, you will need to have NodeJS and Go installed on your computer. You should start by doing the following:

go get github.com/hacdias/filemanager

Then, you should navigate to $GOPATH/src/github.com/hacdias/filemanager and execute npm install. You can start the live build of static assets with the command npm start dev.

If you are using this as a Caddy plugin, you should use its official instructions for plugins and import github.com/hacdias/filemanager/caddy/filemanager.

Before pulling, and if you made any change on assets folder, you must run the build.sh script on the root of this repository.