GithubHelp home page GithubHelp logo

browsefile / backend Goto Github PK

View Code? Open in Web Editor NEW
24.0 4.0 3.0 47.18 MB

Browse files through web interface, or webdav from explorer, advanced analog of SMB for SBC or routers

License: Apache License 2.0

Shell 3.84% Go 96.16%
webdav server nas router sbc

backend's Introduction

Browse files on your router or raspberry or any other embedded device through web. Lightweight analog of nextcloud/owncloud.

  • no database
  • no cli configs
  • only 1 json configuration file
  • videos/images preview
  • share files between users.
  • planned mobile/desktop clients
  • web dav server with shares feature

Default login/password : admin/admin

For configuration details see wiki demo

ℹ INFO: Sep 2019 -added possibility to download content as .m3u playlist

ℹ INFO: June 2019

-added tls support -added authentication in URL, gives possibility to generate links for download without entering login and password

ℹ INFO: Jan 2019

-modified share, now it is possible to view share like user's file(not only download), added separate menu. Possible to restrict share to the specific users, all registered users, or by external link behind DMZ.

-db and cli replaced with one single config file. When you create a new user for the first time, set "firstRun":true, this will read "open/not hashed" password, and replace it with hash.

-added possibility to auth by list of ip addresses. Change "auth.method":"ip" in order to enable. Available values:ip, proxy, none, default(login and password)

-updated build command, in order to reduce final binary size. Please rebuild with debug info before submit bug report.

-removed file type detection based on content.

-removed user commands after/before file upload ...

-removed thirdparty archive, now there is system dependency on zip tool. It will call bash and redirect zip output stream directly to the browser, bypass any buffers.

-successfully run on home router with MediaTek MT7621AT CPU

-currently preview generation limited by only images, and videos, you can disable it at all by changing "defaultUser.allowGeneratePreview".

-dependencies update: filebrowser.conf(path next to the binary, required), convert.sh(path next to the binary, only if you use previews), zip linux tool(only for downloads), and ffmpeg(only if you use previews)

ℹ INFO: Nov 25 2018, after tries to use nextcloud as a home cloud, it was not possible to use it due to performance issues. So I've decided to adopt filebrowser project to my needs. Here it is list of things I've done:

-added thumbnail generation, it requires ffmpeg as system dependencies, limited generation only for images and videos

-added thumbnails user path at settings, and by default it must be set with "-v" short command. This path, should be out of the user's file scope path, otherwise it will recursively generate previews for self!

-added better file type detection at the backend

-integrated photoswipe as image slider and aplayer as audio player, and left default slider for other file types.

-added possibility to play music folder recursively by selecting required folders, and press music icon at the top. Mentioned button will play current folder without recursion. APlayer hidden by default

-deleted staticgen

fork from : https://github.com/filebrowser

backend's People

Contributors

bitti09 avatar chinglinwen avatar eduardort avatar equim-chan avatar ericvolp12 avatar fabiofcferreira avatar genofire avatar hacdias avatar hugomassing avatar igargi avatar llitfkitfk avatar matm avatar maweck avatar maxux avatar mdlawson avatar mozzbozz avatar oopsmonk avatar pandarong avatar princemaple avatar ptman avatar rigon avatar robteix avatar saveshodhan avatar sinni800 avatar thgh avatar thomasyxy avatar timmmm avatar tokvv avatar vitaliy-kuzmich avatar vleff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

backend's Issues

nextcloud API/client support

nextcloud has very good clients for Win/Mac/Android that support automated backup and sync via WebDAV, but their server is a bit too heavy.

Do you think it is possible for browsefile to mimic some of their API so that we can use their clients?

New project maintainers

Because last commit was pushed in 2019 Nov, maybe it's time for call for project maintainers? Also installation instructions would greatly benefit.

Not all folders are being displayed

Description
In a folder, only about the first 10% of subfolders are listed

Expected behaviour
All subfolders should be listed

What is happening instead?
Only about the first 10% of subolders are listed.
There are no errors (neither web, nor console)

How to reproduce?
Without further knowledge you would probably need my complete filesystem to reproduce.

Is it possible to get verbose output on the command line? I assume that bf gets stuck on some foldername but without any output or logging it is hard to debug and provide further details.

Simplify browsefile.json included in /releases

Description
A clear and concise description of what the issue is about. What are you trying to do?
Attemping to run ./bf after a clean "installation"

Expected behaviour
What did you expect to happen?
Either break for not having a correct configuration or run with a minimal/default config.

What is happening instead?
`using config at path : browsefile.json
2019/10/08 11:20:12 config : Cant create share path for user mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create files path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user1/files /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user1/wd/files: no such file or directory
2019/10/08 11:20:12 config : Cant create shares path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user1/shares /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user1/wd/shares: no such file or directory
2019/10/08 11:20:12 config : Cant create share path for user mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create files path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user2/files /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user2/wd/files: no such file or directory
2019/10/08 11:20:12 config : Cant create shares path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user2/shares /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user2/wd/shares: no such file or directory
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for user mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create files path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user3/files /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user3/wd/files: no such file or directory
2019/10/08 11:20:12 config : Cant create shares path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user3/shares /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/user3/wd/shares: no such file or directory
2019/10/08 11:20:12 config : Cant create share path for user mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create files path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/admin/files /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/admin/wd/files: no such file or directory
2019/10/08 11:20:12 config : Cant create shares path, at dav mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create user files path, at dav symlink /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/admin/shares /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp2/admin/wd/shares: no such file or directory
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 config : Cant create share path for userF mkdir /run/media: permission denied
2019/10/08 11:20:12 Listening http://127.0.0.1:8081
2019/10/08 11:20:12 dav://127.0.0.1:8081/wd
2019/10/08 11:20:12
2019/10/08 11:20:12 Listening https://127.0.0.1:8082
2019/10/08 11:20:12 davs://127.0.0.1:8082/wd
2019/10/08 11:20:12 open /run/media/v/1390ab77-3888-441a-ac20-cb46d9511e27/tmp/server.crt: no such file or directory

When more then 2 tabs open, sort stop working

Description
A clear and concise description of what the issue is about. What are you trying to do?

Expected behaviour
What did you expect to happen?

What is happening instead?
Please, give full error messages and/or log.

Additional context
Add any other context about the problem here. If applicable, add screenshots to help explain your problem.

How to reproduce?
Tell us how to reproduce this issue. How can someone who is starting from scratch reproduce this behaviour as minimally as possible?

Files
A list of relevant files for this issue. Large files can be uploaded one-by-one or in a tarball/zipfile.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.