1
0
mirror of https://github.com/misterunknown/ifm.git synced 2025-08-10 01:56:30 +02:00

Update README.md

Removed old information.
This commit is contained in:
Marco Dickert
2017-07-09 13:59:04 +02:00
committed by GitHub
parent cd42a2c72e
commit 85eafef7e7

View File

@@ -1,12 +1,14 @@
# IFM - improved file manager
## about
This is a simple filemanager. It is a single file solution which uses HTML5, CSS3, JavaScript and PHP. It works like a client-server system where HTML5/CSS3/JavaScript is the client part and the PHP API acts as the server, which reduces the traffic significant.
The IFM is a web-based filemanager, which comes as a single file solution using HTML5, CSS3, JavaScript and PHP.
The IFM uses the following resources:
* [ACE Editor](https://ace.c9.io)
* [Bootstrap v3](https://getbootstrap.com)
* [jQuery](https://jquery.com)
* custom icon set generated with [Fontello](http://fontello.com/)
* [jQuery](https://jquery.com)
* [Mustache](https://mustache.github.io/)
## requirements
| Client | Server |
@@ -20,7 +22,7 @@ Just copy the ifm.php to your webspace - thats all :)
## key bindings
* <kbd>e</kbd> - edit / extract current file
* <kbd>h</kbd><kbd>j</kbd><kbd>k</kbd><kbd>l</kbd> - vim-style navigation
* <kbd>g</kbd> - focus path (goto)
* <kbd>g</kbd> - focus the path input field (i.e. "goto")
* <kbd>r</kbd> - refresh file table
* <kbd>u</kbd> - upload a file
* <kbd>o</kbd> - remote upload a file
@@ -29,11 +31,12 @@ Just copy the ifm.php to your webspace - thats all :)
* <kbd>D</kbd> - new directory
* <kbd>space</kbd> - select a highlighted item
* <kbd>del</kbd> - delete selected files
* <kbd>Enter</kbd> - open a file or change to the directory
## configuration
The configuration is located at the top of the script in a separate configuration class. The options in the class are commented and named laconically. If you have questions anyway [write me an email](mailto:marco@misterunknown.de).
The configuration is located at the top of the script. The options are commented and named laconically. If you have any questions [write me an email](mailto:marco@misterunknown.de).
### authentication
Meanwhile I added a super simple authentication feature using the configuration keys `auth` and `auth_source`. You can configure it like this:
The IFM offers a simple authentication feature using the configuration keys `auth` and `auth_source`. You can configure it like this:
```php
"auth" => 1,
"auth_source" => 'inline;<username>:<password_hash>',
@@ -46,7 +49,7 @@ The file should contain ONLY ONE LINE:
```
<username>:<password_hash>
```
The password hash has to be a hash generated by PHPs `password_hash()` function. The default credentials are "admin:admin".
The password hash has to be a hash generated by PHPs `password_hash()` function. The default credentials are "admin:admin".
## screenshots
<a href="https://misterunknown.de/static/ifm_screenshot_desktop_filelist.png"><img src="https://misterunknown.de/static/ifm_screenshot_desktop_filelist.png" height="300px"></a>
@@ -57,8 +60,5 @@ The password hash has to be a hash generated by PHPs `password_hash()` function.
## issues
Currently there are no known issues. If you find any flaws please let me know.
## security information
The IFM was developed with the assumption that the highest level of operation is the scripts base location. So it is neither possible to nagivate nor to use any API function in a level above the script root.
It is highly recommended to restrict access to the script e.g. using a basic authentication.
By default, the IFM is locked to it's own directory, so you are not able to go above. You can change that by setting the $root_dir in the scripts configuration.