File manager for Webmin

I’ll revise Java FM’s features and will try to implement usability as close as possible.
Rename feature already defaults to current file/folder name.
And with change permissions feature it is not obvious what user/group name must be default. Imagine if we select multiple files/folders with different owners, which one must be default? Any suggestions are welcomed.
Double panel FM in web browser will take a lot of space and requires complete interface redesign. I try to keep Filemin’s interface as compact as possible while keeping usability at max. If you have any ideas of better interface design, then suggestions are welcomed.

Yeah, quick edits are pretty good, for example quick CSS bugfixes, that’s why I’ve created this feature :slight_smile:
If you selecte Authentic theme you’ll have monospace font in edit window and even lot more: line numbering, slight syntax highlighting, etc. And with all other themes I’ll add css fix shortly :slight_smile:

An answer at last to all our prayers, thank you so much!

Only just installed it but it looks very promising so far - same comments/wishes as others mostly (rename default to current, same for chmod and chown if possible etc) but a great start - really impressive for a 0.9 version!

And a donate button would get used too! :slight_smile:

Many thanks again,

jonny B

I installed this 5 minutes ago, and am already in file manager heaven. It is incomparably faster than the existing Java app.

Beautiful!

WoW, lost hope for a new FM in Webmin, kinda missed all this buzz. Good to hear, I will try it soon; Webmin is really reborn again with Authentic theme and now with a file manager. Thank you very much!

Just one question:

Are the users (the webmin/master virtualmin users, if I activate the module) jailed in their homes, can we let them safely access the file manager? I am interested if the ACL is working, no one wants users to be able to edit (nor see, because everyone has the database username and the password for the websites in configuration files, right?) other user files, or even root.

RealGecko can you share a few words about this?

Later edit: Testing it now. Man I had an awful day but you put a smile back. Are you taking feature requests? If yes, here are a few for you to consider, if not, sorry:

-can you offer some tree view in a left smaller table somehow. For easy navigation and the resemblance to a standard file manager?

-also maybe the rows could use a smaller height, it would be more ergonomic when you got a lot of files and dirs;

-the default view can be switched to a “folders first” view?

Thank you once again! I am in the end now able to use webmin comfortably, not having firefox (for the Java applet) and chrome (because of its speed) both opened on the same server…

not sure what you mean about permission and ownership.
there are 2 buttons on the right that do ownership and permission.

I can attest that it works on CentOS 7 setup superbly as well.

Rename already defaults to current in version 0.9, check and report if it’s not so, I’ll try to reproduce if something is wrong.
I’ll look into making chmod and chown look same like in Java FM. Currently chmod lacks some features like stycky bits etc. I’ll fix that shortly.
And I have general issue with “Donate” button: I’m from Kazakhstan and currently PayPal does not provide “Donate” feature for my country, all those bureaucratic things, you know. So maybe there’s another way to provide donations if so many people want to contribute :smiley:
Maybe I shall try to register another PayPal account through proxy somewhere in America? :smiley:

Yes, all users except “root” are locked in their $HOMEs. That’s hardcoded. And that was the primary option while I was designing Filemin, there is a whole bunch of code that does not let ordinary user to go out of his/her $HOME :smiley: And that’s the primary cause why there’s still no symlinks support, so that malicious script kiddies would not even have a chance to go somewhere they’re not supposed to.
And that’s why I count security testing is PRIMARY goal for now, cause I may miss something during development. So I suggest not to give Filemin access to ordinary users for now, unless you’re pretty sure they won’t mess with the system :slight_smile:

I’ll look to implementing tree view later on. For now I’ve created two milestones here
https://github.com/Real-Gecko/filemin/milestones to organize all features I think important and other people request, most important are labeled for 1.0 release.

Yes, row height grew a little after I added Authentic support :)))) I’ll fix that too.

And YES! The question that bothers me for 1.5 year: FOLDERS GO FIRST???
I was afraid performance issues during sorting, that’s why it is as it is now (dam, what am I writing :D)
But I’ll think about adding this feature too as all other file managers do, as soon I’ll develop good sorting algorith that would not hit performance.

PS: I’ve currently encountered some issues with Archive::Zip library, so I’m redesigning “extract” functionality completely to get rid of dependencies and make things work through good old “system” calls. ACL functionality will be the next waypoint in my development. After that I’ll release new version: 0.9.1 I think it will be… yeah 0.9.1 :smiley:

Thanks for speedy reply RealGecko, but no, for me the prompt appears empty.

I installed the 0.9 tag as suggested on this page somewhere - and the js function renameSelected in there does prompt("New name ", “”) so an empty string for the contents. Actually it’s the same in master too.

I think what you need is prompt("New name ", file) maybe?

Thanks again though, not really complaining! :slight_smile:

jonny

Thanks for the detailed answer, and also for considering our requests. Good to have a file manager that is centered on security as in user isolation, else it will be limited only to us, the guys with the root account, thus defeating its purpose.

Btw I for myself will take it either way :slight_smile:

I am more of a “copy that thing” guy. Symlinks for me… Neah… Not on my servers.

Just keep us posted about the development.

I don’t think the double-paned design is strictly necessary (then again, I don’t use the old file manager, at all, so I don’t have old habits to break), though it can be nice to have a way to easily navigate the filesystem folders. Like on Gnome, where there’s a list of filesystems and user folders on the left in a small pane, and then breadcrumbs up top. Filemin already has breadcrumbs, so that’s covered. I dunno how one might cover the folders thing easily, though, in a way that doesn’t take up a lot of space.

It’s possible for modules to add items to the left hand menu, but the usual use case for that doesn’t fit this situation. Maybe we should look at Dropbox, Google Drive, Amazon Drive, and whatever MIcrosoft’s product in this space is called for design ideas. Surely one of them has solved the problem in a nice way that we could copy without going the old-fashion panes route of old File Manager.

But, I agree with you: Given that we already have a left pane for menus, it is clumsy to cram another left pane in there (it’s clumsy in the current File Manager, too). Maybe a right hand pane would make sense, or a dropdown selector with all of the filesystems available to the user, if they have any other than their $HOME.

Surely there’s an international alternative to PayPal we could use?

Do you use Bitcoin? I would also be happy to donate via Bitcoin.

If getting Bitcoin converted to your local currency is difficult, I’d also be able to wire money if that would work better (not regularly, as it is quite expensive to send international wires from the US, but could do it every few months).

I don’t want to distract you with monetary concerns, of course; I want to support your work in whatever way is most useful to you. But, I know it’s nice to be able to pay the bills and put food on the table, particularly doing something you were working on anyway!

I think the better long-term goal is to support the same idea as Webmin for this. When the user has sudo ALL privileges in the /etc/sudoers file, they can access Webmin as a root user (but will have a non-root user name). I’m not sure how Webmin distinguishes this, but I’ll ask Jamie if there’s a simple API call you can make or if it’s a global config variable that you could check to see if the user is one of those “root” users. That way you could automatically unlock full filesystem access for those users without making them set a root password and login as root.

On the folders first question, there’s some examples here: http://stackoverflow.com/questions/16793043/perl-readdir-in-order

I haven’t tried them, but the selected answer looks solid and doesn’t require any non-standard dependencies. Performance isn’t going to be a big problem except in pathological cases (maybe my Maildir/cur folder would be a problem with its 85,000 files, but that’s a problem on the command line, too!), as these are very tiny operations and would take very little memory or CPU to process.

I’m running CentOS Linux 6.6 and seems to be all working well.

Thanks for all the hard work - a vast improvement on the old java FM.

Yeah, that would be great :slight_smile:

Ah yes, man. I presume you’re using one of those good old themes like MSC.Linux Theme. And I forgot to add this “default” feature to JS responsible for 'em. It currently works only in Authentic Theme. My mistake, will fix that :slight_smile:

Authentic Theme? Hmm, i don’t see that - it seems i’m using “Virtualmin Framed Theme” which looks really ancient, but works. A few years ago during a virtualmin upgrade somehow the theme got hosed and borked the whole thing, so i’m wary about messing with it (don’t care if it’s ugly, just need it to work!)

The ones i seem to have (on webmin->config->theme) are Old Webmin theme, Caldera Theme, Gray Framed Theme, Gray Framed Theme (again?), MSC.Linux Theme, Virtualmin Framed Theme and Virtualmin Mobile Theme. No sign of Authentic :frowning:

Do i have to install it? (would prefer to stick to Webmin provided stuff generally, Filemin is an exception! :slight_smile:

Then I presume that your version of Webmin is earilier then 1.740. Authentic Theme developer did such a good work that Webmin team included his theme in Webmin bundle and they’re planning to add Filemin there too :))))

It is ok to stay with Framed Theme if you prefer. I’m currently integrating jQuery and jQueryUI so Filemin will look nice with old themes too. And there is some JS hell produced by Framed Theme and Virtualmin Framed Theme I need to fix. Just wait a few days for new Filemin version release and you’ll get some cool new stuff :slight_smile:

So, Jamie explained that the way that feature works is that when logging in, if the user has sudo ALL capabilities, the username is set to “root”.

I think you can just check the $user variable for that. I’m not ure if that needs any additional steps to make that available. Maybe an:

our $user;

At the beginning of the module to avoid any strict/warnings messages from perl for undeclared variables.