mirror of
https://github.com/prasathmani/tinyfilemanager.git
synced 2026-02-26 16:20:45 +01:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15fc685f96 | ||
|
|
e179367cbc | ||
|
|
5738e8c164 | ||
|
|
6ae693b1fb |
@@ -12,7 +12,7 @@ FROM php:7.4-cli-alpine
|
||||
# if run in China
|
||||
# RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
|
||||
RUN apk add --no-cache \
|
||||
RUN apk add \
|
||||
libzip-dev \
|
||||
oniguruma-dev
|
||||
|
||||
|
||||
96
README.md
96
README.md
@@ -7,11 +7,7 @@
|
||||
[](https://www.paypal.me/prasathmani)
|
||||

|
||||
|
||||
> TinyFileManager is a versatile web-based PHP file manager designed for simplicity and efficiency. This lightweight single-file PHP application can be effortlessly integrated into any server directory, allowing users to store, upload, edit, and manage files and folders directly through their web browser.
|
||||
With multi-language support and compatibility with PHP 5.5+, TinyFileManager enables the creation of individual user accounts, each with its dedicated directory. The platform also includes built-in functionality for handling text files using the Cloud9 IDE.
|
||||
Featuring syntax highlighting for over 150 languages and more than 35 themes, TinyFileManager offers a comprehensive solution for file management in an online environment.
|
||||
|
||||
<sub>**Caution!** _Avoid utilizing this script as a standard file manager in public spaces. It is imperative to remove this script from the server after completing any tasks._</sub>
|
||||
> TinyFileManager is web based PHP file manager and it is a simple, fast and small size in single-file PHP file that can be dropped into any folder on your server, multi-language ready web application for storing, uploading, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+, It allows the creation of multiple users and each user can have its own directory and a build-in support for managing text files with cloud9 IDE and it supports syntax highlighting for over 150+ languages and over 35+ themes.
|
||||
|
||||
## Demo
|
||||
|
||||
@@ -48,23 +44,81 @@ To enable/disable authentication set `$use_auth` to true or false.
|
||||
|
||||
### :loudspeaker: Features
|
||||
|
||||
- :cd: **Open Source:** Lightweight, minimalist, and extremely simple to set up.
|
||||
- :iphone: **Mobile Friendly:** Optimized for touch devices and mobile viewing.
|
||||
- :information_source: **Core Features:** Easily create, delete, modify, view, download, copy, and move files.
|
||||
- :arrow_double_up: **Advanced Upload Options:** Ajax-powered uploads with drag-and-drop support, URL imports, and multi-file uploads with extension filtering.
|
||||
- :file_folder: **Folder & File Management:** Create and organize folders and files effortlessly.
|
||||
- :gift: **Compression Tools:** Compress and extract files in `zip` and `tar` formats.
|
||||
- :sunglasses: **User Permissions:** User-specific root folder mapping and session-based access control.
|
||||
- :floppy_disk: **Direct URLs:** Easily copy direct URLs for files.
|
||||
- :pencil2: **Code Editor:** Includes Cloud9 IDE with syntax highlighting for 150+ languages and 35+ themes.
|
||||
- :page_facing_up: **Document Preview:** Google/Microsoft document viewer for PDF/DOC/XLS/PPT, supporting previews up to 25 MB.
|
||||
- :zap: **Security Features:** Backup capabilities, IP blacklisting, and whitelisting.
|
||||
- :mag_right: **Search Functionality:** Use `datatable.js` for fast file search and filtering.
|
||||
- :file_folder: **Customizable Listings:** Exclude specific folders and files from directory views.
|
||||
- :globe_with_meridians: **Multi-language Support:** Translations available in 35+ languages with `translation.json`.
|
||||
- :bangbang: **And Much More!**
|
||||
- :cd: Open Source, light and extremely simple
|
||||
- :iphone: Mobile friendly view for touch devices
|
||||
- :information_source: Basic features likes Create, Delete, Modify, View, Download, Copy and Move files
|
||||
- :arrow_double_up: Ajax Upload, Ability to drag & drop, upload from URL, multiple files upload with file extensions filter
|
||||
- :file_folder: Ability to create folders and files
|
||||
- :gift: Ability to compress, extract files (`zip`, `tar`)
|
||||
- :sunglasses: Support user permissions - based on session and each user root folder mapping
|
||||
- :floppy_disk: Copy direct file URL
|
||||
- :pencil2: Cloud9 IDE - Syntax highlighting for over `150+` languages, Over `35+` themes with your favorite programming style
|
||||
- :page_facing_up: Google/Microsoft doc viewer helps you preview `PDF/DOC/XLS/PPT/etc`. 25 MB can be previewed with the Google Drive viewer
|
||||
- :zap: Backup files and IP blacklist and whitelist
|
||||
- :mag_right: Search - Search and filter files using `datatable js`
|
||||
- :file_folder: Exclude folders and files from listing
|
||||
- :globe_with_meridians: Multi-language(32+) support and for translations `translation.json` is file required
|
||||
- :bangbang: lots more...
|
||||
|
||||
### [Deploy by Docker](https://github.com/prasathmani/tinyfilemanager/wiki/Deploy-by-Docker)
|
||||
## Deploy by Docker
|
||||
|
||||
Make sure you have **already installed docker**, [Install reference](https://docs.docker.com/engine/install/)
|
||||
|
||||
> **Notice:** Your need an absolute path, and it will be served by tinyfilemanager.
|
||||
>
|
||||
> If you want to serve this project at **raspberry pi or another special platform**, you can download project and **build image by yourself**.
|
||||
|
||||
You can execute this following commands:
|
||||
|
||||
```shell
|
||||
$ docker run -d -v /absolute/path:/var/www/html/data -p 80:80 --restart=always --name tinyfilemanager tinyfilemanager/tinyfilemanager:master
|
||||
$ docker ps
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
648dfba9c0ff tinyfilemanager/tinyfilemanager:master "docker-php-entrypoi…" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp tinyfilemanager
|
||||
```
|
||||
Access `http://127.0.0.1/` and enter default username and password, then enjoy it.
|
||||
|
||||
DockerHub: [https://hub.docker.com/r/tinyfilemanager/tinyfilemanager](https://hub.docker.com/r/tinyfilemanager/tinyfilemanager)
|
||||
|
||||
#### How to change config within docker
|
||||
|
||||
Origin:
|
||||
|
||||
```php
|
||||
// Root path for file manager
|
||||
// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
|
||||
$root_path = $_SERVER['DOCUMENT_ROOT'];
|
||||
|
||||
// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
|
||||
// Will not working if $root_path will be outside of server document root
|
||||
$root_url = '';
|
||||
```
|
||||
|
||||
Modified:
|
||||
|
||||
```php
|
||||
// Root path for file manager
|
||||
// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
|
||||
$root_path = $_SERVER['DOCUMENT_ROOT'].'/data';
|
||||
|
||||
// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
|
||||
// Will not working if $root_path will be outside of server document root
|
||||
$root_url = 'data/';
|
||||
```
|
||||
|
||||
Then, change another config what you want, and add a new volume `-v /absolute/path/index.php:/var/www/html/index.php` in `docker run` command, like this:
|
||||
|
||||
```shell
|
||||
$ docker run -d -v /absolute/path:/var/www/html/data -v /absolute/path/index.php:/var/www/html/index.php -p 80:80 --restart=always --name tinyfilemanager tinyfilemanager/tinyfilemanager:master
|
||||
```
|
||||
|
||||
#### Stop running
|
||||
|
||||
If you want to stop a running docker service, or you want to restart a service, you should stop it first, or you got `docker: Error response from daemon: Conflict. The container name "/tinyfilemanager" is already in use by container ...` problem. You can execute this command:
|
||||
|
||||
```shell
|
||||
$ docker rm -f tinyfilemanager
|
||||
```
|
||||
|
||||
### <a name=license></a>License, Credit
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
The team takes security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
|
||||
|
||||
To report a security issue, email ccpprogrammers[at]gmail[dot]com and include the word "SECURITY" in the subject line.
|
||||
To report a security issue, email ccpprogrammers[at]gmail.com and include the word "SECURITY" in the subject line.
|
||||
|
||||
The team will send a response indicating the next steps in handling your report. After the initial reply to your report you will be kept informed of the progress towards a fix and full announcement.
|
||||
|
||||
|
||||
1
assets/css/bootstrap.css.map
Normal file
1
assets/css/bootstrap.css.map
Normal file
File diff suppressed because one or more lines are too long
7
assets/css/bootstrap.min.css
vendored
Normal file
7
assets/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
assets/css/dropzone.min.css
vendored
Normal file
1
assets/css/dropzone.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
4
assets/css/font-awesome.min.css
vendored
Normal file
4
assets/css/font-awesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
assets/css/vs.min.css
vendored
Normal file
1
assets/css/vs.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.hljs-comment,.hljs-quote,.hljs-variable{color:green}.hljs-built_in,.hljs-keyword,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#00f}.hljs-addition,.hljs-attribute,.hljs-literal,.hljs-section,.hljs-string,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type{color:#a31515}.hljs-deletion,.hljs-meta,.hljs-selector-attr,.hljs-selector-pseudo{color:#2b91af}.hljs-doctag{color:grey}.hljs-attr{color:red}.hljs-bullet,.hljs-link,.hljs-symbol{color:#00b0e8}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
|
||||
BIN
assets/fonts/FontAwesome.otf
Normal file
BIN
assets/fonts/FontAwesome.otf
Normal file
Binary file not shown.
BIN
assets/fonts/fontawesome-webfont.eot
Normal file
BIN
assets/fonts/fontawesome-webfont.eot
Normal file
Binary file not shown.
2671
assets/fonts/fontawesome-webfont.svg
Normal file
2671
assets/fonts/fontawesome-webfont.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 434 KiB |
BIN
assets/fonts/fontawesome-webfont.ttf
Normal file
BIN
assets/fonts/fontawesome-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/fontawesome-webfont.woff
Normal file
BIN
assets/fonts/fontawesome-webfont.woff
Normal file
Binary file not shown.
BIN
assets/fonts/fontawesome-webfont.woff2
Normal file
BIN
assets/fonts/fontawesome-webfont.woff2
Normal file
Binary file not shown.
17
assets/js/ace.js
Normal file
17
assets/js/ace.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/bootstrap.bundle.js.map
Normal file
1
assets/js/bootstrap.bundle.js.map
Normal file
File diff suppressed because one or more lines are too long
7
assets/js/bootstrap.bundle.min.js
vendored
Normal file
7
assets/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
22
assets/js/datatables.min.js
vendored
Normal file
22
assets/js/datatables.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
assets/js/dropzone.min.js
vendored
Normal file
1
assets/js/dropzone.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1361
assets/js/highlight.min.js
vendored
Normal file
1361
assets/js/highlight.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
assets/js/jquery-3.6.1.min.js
vendored
Normal file
2
assets/js/jquery-3.6.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
3688
tinyfilemanager.php
3688
tinyfilemanager.php
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"appName": "Tiny File Manager",
|
||||
"version": "2.6",
|
||||
"version": "2.5.1",
|
||||
"language": [
|
||||
{
|
||||
"name": "Română",
|
||||
@@ -1512,9 +1512,7 @@
|
||||
"Moved from": "Movido de",
|
||||
"Created": "Criado",
|
||||
"You are logged in": "Você está logado",
|
||||
"Login failed. Invalid username or password": "Falha na autenticação. nome de usuário ou senha inválidos",
|
||||
"Are you sure want to rename?": "Tem certeza de que deseja renomear?",
|
||||
"Are you sure want to": "Tem certeza de que deseja"
|
||||
"Login failed. Invalid username or password": "Falha na autenticação. nome de usuário ou senha inválidos"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -2534,14 +2532,14 @@
|
||||
"Operations with archives are not available": "Bewerkingen met archieven zijn niet beschikbaar",
|
||||
"File or folder with this path already exists": "Bestand of map met dit pad bestaat al",
|
||||
"Moved from": "Verplaatst van",
|
||||
"a files": "bestanden",
|
||||
"a files": "bestanden",
|
||||
"Okay": "OK",
|
||||
"Enter here...": "Voer hier in...",
|
||||
"Enter new file name": "Voer nieuwe bestandsnaam in:",
|
||||
"Enter new file name": "Voer nieuwe bestandsnaam in:",
|
||||
"Full path": "Volledig path",
|
||||
"File size": "Bestandsgrootte",
|
||||
"Image sizes": "Afbeeldingsgrootte",
|
||||
"Charset": "Karakterset",
|
||||
"Charset": "Karakterset",
|
||||
"Image": "Afbeelding",
|
||||
"Audio": "Audio",
|
||||
"Video": "Video",
|
||||
@@ -2549,18 +2547,16 @@
|
||||
"Files in archive": "Bestanden in archief",
|
||||
"Total size": "Totale grootte",
|
||||
"Compression": "Compressie",
|
||||
"Size in archive": "Grootte in archief",
|
||||
"Size in archive": "Grootte in archief",
|
||||
"Invalid Token.": "Ongeldig token",
|
||||
"Fullscreen": "Volledig scherm",
|
||||
"Fullscreen": "Volledig scherm",
|
||||
"Undo": "Ongedaan maken",
|
||||
"Redo": "Opnieuw doen",
|
||||
"Theme": "Thema",
|
||||
"Theme": "Thema",
|
||||
"Select Theme": "Kies thema",
|
||||
"Select Font Size": "Kies fontgrootte",
|
||||
"Are you sure want to rename?": "Weet u zeker dat u de naam wilt wijzigen?",
|
||||
"Are you sure want to": "Verder gaan met",
|
||||
"dark": "donker",
|
||||
"light": "licht"
|
||||
"Select Font Size": "Kies fontgrootte",
|
||||
"Are you sure want to rename?": "Weet u zeker dat u de naam wilt wijzigen?",
|
||||
"Are you sure want to": "Verder gaan met"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -2812,4 +2808,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user