pldubouilh / gossa Goto Github PK
View Code? Open in Web Editor NEW🎶 a fast and simple multimedia fileserver
License: MIT License
🎶 a fast and simple multimedia fileserver
License: MIT License
Touch devices like smartphones and tablets do not support drag & drag. A button or clickable area to initiate an upload would be nice.
Hello,
my directory served by gossa looks like this:
- some
- files
- test/
- tmp/ -> /tmp/
So test/tmp
is a symlink to /tmp
. Then I run gossa via:
gossa -h localhost .
I can change into the test
directory and then into tmp
and I'll
see all the files. But when I click a file, it is not found. The
reason is that it is looked up using the wrong path. Here is the log
output:
./gossa -h localhost .
Gossa startig on directory /home/eike/workspace/projects/gossa
Listening on http://localhost:8001
2019/04/07 16:41:12 Get list /home/eike/workspace/projects/gossa
2019/04/07 16:41:15 Get list /home/eike/workspace/projects/gossa/test
2019/04/07 16:41:16 Get list /home/eike/workspace/projects/gossa/test/tmp
2019/04/07 16:41:18 Error stat /home/eike/workspace/projects/gossa/test/IMG_2620.JPG: no such file or directory <nil>
The last line shows that it misses the tmp
part of the path. It
looks the file up in test
instead. It works if tmp
is a normal
directory, but if tmp
is a symlink it doesn't work. Also, if the
symlink is a direct child of the root dir, it works, too.
Great work!
I noticed that when click on a video mp4 file, it fails to play and I don't find a way to download the video file. But I see it works in your demo. How do I debug?
Also, quick question: how to delete a file?
Thank you!
Hi, i uploaded several files to my server, and i can't delete them in webpage. So how to delete them after i upload.
Will only listen on 127.0.0.1.
How to switch the monitored IP address。
An api would be nice to be able to
Hello, as an nonnative English speaker, a function to add subtitles for the streaming videos would be very useful for me. Do you have any plan to implement such a functionality?
A means to create a new file providing filename and content using a very basic fullscreen editor (see https://rwtxt.com/public).
Currently, this can't be run behind a path based reverse proxy.
Are there any plans to implement this feature?
Otherwise I'll implement it by myself if it does not require too many modifications and do a PR.
download button in video mode, so that it's clear how to download content
我发现软链是无法打开的和显示的
Could you make it so that when you start gossa, it tells you if read-only mode is enabled or disabled? I've learned that read-only is not enabled if you add -ro
after the root file directory path, and this could cause somebody to accidentally allow write access.
Either making it so that it doesn't matter where you give the -ro
flag, or giving a warning message about whether or not read-only is enabled or disabled would fix the issue.
when i upload a big size movie about 4G , just progress 4% then no response anythings.
so i used mount some folder to /shared way.
A means to edit the content of text type file using a basic fullscreen editor.
First of all this tool is really good! One requirement: It is recommended to add user authentication function, thank you! stay tuned!
Is there a way to upload a file without dragging with a mouse? How would I upload a file if I were on a phone? Thanks.
Any thoughts on supporting browsing inside of archives so that files could be extracted and downloaded (perhaps added, renamed as well) via the web UI without downloading the entire (ZIP) archive?
This isn't something I desperately need but it would be something I could see myself using (I had a use case this evening where it would have been useful, it was a really large ZIP file that I did not want to pull down to my phone, I only wanted to look inside).
It would be really neat to be able to have URL shortcuts directly to a file or directory so its' selected already, as if the user either used the cursor keys to scroll there or use the filename search. There are already href tags in the page for each file/directory so those would not need to be added.
Consider the following filenames:
cover.png
Some Track.mp3
The order shown above is what you'd expect, but this is how gossa would order it:
Some Track.mp3
cover.png
Looks to me like it's not being case-sensitive when sorting.
Just to be awkward, these are also valid filenames:
Í'm being awkward.txt
ỳay.c
€5.md
©®eam on the cake.js
I'm also writing a review / tutorial blog post about Gossa, as I'm really impressed with it's ease of use - thanks for awesome software!
Great project. I was thinking it might be a good idea to put one of the dockerfiles, perhaps the caddy one, up on Docker Hub?
Truth is I was looking for an easy way to add it to UnRAID and thought this might be best.
I use this primarily as a media server, I was wondering if it's possible to add check boxes to different files?
The idea is that a media file, has a check box associated which makes it easier to track which file you have viewed or seen.
Originally
1.mp4
2.mp4
With the above feature:
1. [X] 1.mp4
2. [ ] 2.mp4
I understand that this might not be in everyone's interest, but I'll be happy to get some pointers and get started on this.
Ran into an issue when trying out gossa in IE11. Yeah, I know, big surprise when using IE11, but it might be indicative of some underlying problem.
I have a xlsx file on a gossa share. Using Edge (chromium version) I can download it just fine:
But if I use IE11 it changes the file extension and tries to download it as a zip file.
At first I thought it was a HTTP Content-Type header issue, but since the extension actually changes there must be some JavaScript voodoo going on.
Virtual hardware running on Hyper-V on 2012R2
OS is Ubuntu 20.04.1
Container runtime is docker (using docker-compose)
read-only volume mounted on /share
docker-compose ps
REPOSITORY | TAG | IMAGE ID | CREATED | SIZE |
---|---|---|---|---|
pldubouilh/gossa | latest | 49ef9983246c | 7 weeks ago | 12.1MB |
Issue verified on:
Hi,
I've been using gossa for over a month now and this is a feature I'm missing the most. The option to download the contents of a whole directory at once.
Following the recommendations on https://www.redhat.com/en/blog/secure-your-containers-one-weird-trick, I was seeing if I could secure my docker set-up a little by dropping all capabilities. This works fine on many containers without any changes, except those that bind to a port number below 1024 by default (since that requires net_bind_service).
For some reason, gossa is unable to make any changes to the volume mounted on /shared without dac_override (uploads and deletions just fail silently). From man 7 capabilities
:
CAP_DAC_OVERRIDE
Bypass file read, write, and execute permission checks. (DAC is an abbreviation of "discretionary access control".)
Now, I don't know much about capabilities or how Go writes files, but 2 things have got me confused:
(I recognize this is probably not an issue with gossa but with my lack of understanding, so if anyone could indulge me with an explanation I would be extremely thankful)
After uploading the file, the file name cannot be automatically refreshed. I need to refresh it manually. I don't know what caused it. And this does not happen every time.
investigate different kind of file sorting (modified date, etc...)
Running by root works out fine if the files being shared by gossa are exclusively being used by gossa. However, for example, I am using syncthing to sync my files between my vps, my desktop and my phone, but also want to make my files available through a web ui, and so am using gossa for this purpose. It is not ideal to have gossa running as root in this case, as new files and folders will be owned by root:root.
The ability to set the uid and gid of the processes within the container through an environment variable is common in several widely used images of popular server apps (e.g. wonderfall/nextcloud, linuxserver/syncthing). I could make a PR for this if this is of interest to anyone?
See log:
2020/02/20 12:32:01 error [rpc {mv [/油管_韩雪&鞠婧祎&原版三版《红昭愿》放在一起自见分晓.mp4 /韩雪&鞠婧祎&原版三版《红昭愿》放在一起自见分晓.mp4]}] rename /root/share/油管_韩雪&鞠婧祎&原版三版《红昭愿》放在一起自见分晓.mp4 /root/share/韩雪&鞠婧祎&原版三版《红昭愿》放在一起自见分晓.mp4: no such file or directory
Original file name:
油管_韩雪&鞠婧祎&原版三版《红昭愿》放在一起自见分晓.mp4
What do you think about it?
I followed the steps exactly as they were on the support page using the dockerfile. The LocalDirToShare directory that was created did not have write permissions available to all users or the Docker instance was not seen as having elevated privileges to create or modify existing files.
Amending the created directory's permissions fixed the issue but there is probably a more user friendly solution.
Hi,
I've been trying to upload zip or rar files. This does not seem to work.
Is this intended behavior?
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested.
Will it add arm64 support?
Works great already for PDF, can you add the support of cbr, cbz , basically a zip or rar containing images. This would make this a perfect all in one media viewer.
Thanks for this nice tool!
I saw the issue #8, but unfortunately I'm not able to find the control on the ui to click for uploading files. What am I missing?
I found that the software has some problems in setting the shared folder path. It can only be relative paths and not absolute paths
for example:
When I use the command line below, it works normally :
gossa.exe -h 0.0.0.0 -p 8001 .\gossa
When I use the command line below, it does not work properly:
gossa.exe -h 0.0.0.0 -p 8001 f:\download
it can’t display the files in the folder correctly on the webpage,but displays "error [get content /] invalid path"
Thanks a lot for the program. I would like to know how to run it as service, so it runs with system boot. Currently I am using in in raspberry os. Thanks!
Hello! I love this project and I have been using it for a long time, but after looking at the code, I noticed multiple problems. I ended up rewriting the whole backend and I think it works much better now. My rewrite is fully backwards-compatible with your project.
You can find my rewrite here: https://github.com/ViRb3/gosses
If you are interested, I would be happy to merge all my changes into this project.
Here are the major changes:
-json
flag has been added for pure JSON logs.Thanks!
I wanted to use a folder "c:/!uploads" with gossa, but there was no way it worked without an error. I had to move the folder so I can use the relative dir commands like "./!uploads" but it didn't work otherwise. I tried everything, both kind of slashes, using unix paths like /c/!up[loads. Please advise, thank you.
I run gossa in docker, and the run cmd is :
sudo docker run -v ~/LocalDirToShare:/shared -p 8001:8001 pldubouilh/gossa
but when i upload a file,for example css file, the docker log show me:
error [upload %2Fstyle.css] open /shared/style.css: permission denied.
i tried other kind file , same err, why?
Hi there,
sorry I'm new to all this, I was wondering how do you install this on a raspberry pi 3? I have used caddy before so i understand that part, I'm just not sure how to build it.
Thanks!
The url should encode
example:
http://localhost:8001/Test#/ -> http://localhost:8001/Test%23/
Can I browse Previous picture without keyboard,such as on phone,now there's only the Next?
I have a folder consisting of e-books, about 4GB of them in 20000 files.
When uploading the folder it's done in about 10seconds, which is odd.
I think it's indexing too slow, so when all files up to that point that have been indexed are uploaded it just stops the upload process.
I have included a Google Chrome trace/profile.
Can you add that in the video player load the next files and file navigation as in the pics navigation ?
It would be great to have tagged deploys to have some idea of stability :)
In addition, having tagged docker images would be 👍
Can you make a flag like --index
that if non is given, uses index.html
, but otherwise, uses specified index file? I want to use this as an alternative to python -m http.server
.
for some reason when I try to pull gossa from dockerhub, the /start.sh script doesn't have the -ro=${READONLY}
option and I have to manually edit and restart the container. when I built a container from scratch and I didn't have this issue.
---
version: '3.7'
services:
gossa:
image: pldubouilh/gossa
container_name: gossa
environment:
- READONLY=true
volumes:
- /mnt/media:/shared
ports:
- 8001:8001
restart: unless-stopped
Going back in history traverses an extra level.
Let's say I'm at path /pictures/2018/christmas/0001.jpg
. When I go back i'm redirected to /pictures/2018
instead of the intended /pictures/2018/christmas
.
I intended to host gossa to serve all my HTMLs I downloaded by SingleFile, but just found for html its default action is to download.
Can make an option or config so that it can render the html as web browser?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.