pufferpanel / pufferpanel

PufferPanel is an open source game server management panel, designed for both small networks and personal use

Home Page:https://pufferpanel.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FastDL

DragonZX opened this issue · comments

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).

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

hahaha, little world :D hi @DragonZX :P

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 ;)

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

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.