Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FastDL #1242

Open
DragonZX opened this issue Mar 12, 2023 · 6 comments
Open

FastDL #1242

DragonZX opened this issue Mar 12, 2023 · 6 comments

Comments

@DragonZX
Copy link

Is there any option to make fast file download of extra server files using panel's web (it could be some other port directed to /var/lib/pufferpanel/servers)? For now I'm additionally using nginx to make it accessible, however I need to know serer ID (BTW it could be displayed anywhere as it's difficult to find the server directory).

@DragonZX
Copy link
Author

I have
fastdl.txt

@nepcore
Copy link
Member

nepcore commented Mar 12, 2023

The reason the file path isn't shown on the panel is that you should be interacting with the files either via the panel or via the integrated SFTP, however even without the location shown on the panel we see more than enough people blindly messing with files via logging into the systems SFTP or SSH as root and not understanding the absolute basics of file permissions, then proceeding to demand support for them preventing the panel from keeping file permissions straight for them, showing on the panel where to break stuff is just going to make those cases skyrocket and prevent us from putting any of the little time we have into development

PufferPanel considers all server files private and doesn't expose them and I can't think of any reasonable way of changing that seeing as the software itself knows nothing about the games, game specific things are entirely kept in templates and even if we were to expose server files in some sane way you'd still need to know the server ID (which you can find in the url of the server page by the way) as otherwise different servers exposing different files that are named the same would result in conflicts

By using a separate web server you have to actively expose files yourself while also getting much much more fine grained control over what files are exposed and which files aren't and I'd argue that that really is the most reasonable of handling exposing files

@gOOvER
Copy link

gOOvER commented Mar 13, 2023

hahaha, little world :D hi @DragonZX :P

@DragonZX
Copy link
Author

DragonZX commented Mar 14, 2023

The reason the file path isn't shown on the panel is that you should be interacting with the files either via the panel or via the integrated SFTP.

Yeah, I got it. However, as a root administrator staff, sometimes I'm copying something locally, during standalone to panel migration (In my case the whole servers, I created custom game templates, but initially I have no repo to pull it correctly). Anyway, Let's imagine that I'm a hoster, thus I need to cure customer's server from the global access (I don't have customer's passwords), I can't see ID anywhere. Also some games need a full server path. Is there a way to detect it or is there any local variable?

By using a separate web server you have to actively expose files yourself while also getting much much more fine grained control over what files are exposed and which files aren't and I'd argue that that really is the most reasonable of handling exposing files

I understand that, but I'm wish to see it from-the-box as also, Let's imagine I'm a hoster, thus I need to add new alias and restart nginx every time I have a new client? It's unacceptable for other customers. Also It's my own service, I don't want to touch it. BTW I also need ID as you can see from my file.

P.S. Hi @gOOvER ;)

@nepcore
Copy link
Member

nepcore commented Mar 14, 2023

I don't have customer's passwords

You don't need a users password for anything if you're an admin, admins get access to everything off of their own account, including SFTP for file access, meaning absolutely no need to break any file perms, thereby also no need to fix any file perms

I can't see ID anywhere

Like I said before, the server page URL contains it, if you can't read a parameter from a URL you shouldn't be taking peoples money

Also some games need a full server path

The vast majority of software is perfectly happy with relative paths, for the few cases that don't manage to keep with the times use the rootDir variable

I understand that, but I'm wish to see it from-the-box

Like I said PufferPanel itself has no clue about games, all game specifics are in templates, therefore it has no understanding of what would be fine to make public and what isn't and on top of that different users consider different things fine to share or private, there is no sane way that I'm aware of for us to make a correct decision on what to keep private and what not

I need to add new alias and restart nginx every time

There are many ways to expose files over HTTP, a clever nginx config may be able to get by without any edits needed, some ways might not even involve nginx in the first place, for example you could write your own software that exposes files based on some criteria for untangling what server to look at and if that file should be considered public

I also need ID as you can see from my file

That wouldn't change even if it was built into PufferPanel, we can't magically discern if a user wants to access server abc or server 123 if they ask for file some/file.zip which happens to exist in both servers, so the server id would always have to be in such a URL

@DragonZX
Copy link
Author

Ok, thank you @nepcore for the explaination, I'll ry to take a look in that philsophy and turn back if needed. However, I have some notes:

The vast majority of software is perfectly happy with relative paths, for the few cases that don't manage to keep with the times use the rootDir variable

That's exactly the thing I was asking for, sorry for some misunderstanding, I'm just trying to get the logic, so initially I hoped to take ID from the server list itself. I need just click on it, thus that's ok for me.

There are many ways to expose files over HTTP, a clever nginx config may be able to get by without any edits needed, some ways might not even involve nginx in the first place, for example you could write your own software that exposes files based on some criteria for untangling what server to look at and if that file should be considered public

That is one of the reasons of this topic. Usually we need to hide *.cfg *.db -s thats not so matter (nginx config could't be modified from the template, not enough rights, or it needs to be in pufferpanel dir, which is the mess) ... I can run webserver under pufferpanel, template during installer script could restrict chmod to read files properly. The main idea is why I should customise template to my "hardware" if I could use built-in web+config+template to give web access to the server or not, then customize rights if needed (initially we have default server based on template).

Thank you for the great support, I'll test that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants