mirror of
https://github.com/prasathmani/tinyfilemanager.git
synced 2025-07-09 19:36:19 +02:00
Compare commits
292 Commits
Author | SHA1 | Date | |
---|---|---|---|
c049ba96c8 | |||
7e7fb1f505 | |||
bf2c2a9a4d | |||
64f7b29c78 | |||
07ac97c20b | |||
8c78bc78f9 | |||
8a17a5b210 | |||
9792bd000f | |||
232fc78f2e | |||
c38dca17e4 | |||
ac3dd478f5 | |||
01cfb5d8ac | |||
94b62544bd | |||
1042994a60 | |||
3716af20a2 | |||
8d953bf0f9 | |||
d26c9e5cbf | |||
0f58c2ca65 | |||
b602dcd172 | |||
1bcc240119 | |||
8b330b75a4 | |||
f120daa607 | |||
e27e1abeb4 | |||
a4d96e0eaf | |||
843e240757 | |||
ecec756b71 | |||
8366e1bc29 | |||
d8fceac7dd | |||
a306f4f1f7 | |||
a1ae0fa729 | |||
ca4b1b1743 | |||
8e87afae5b | |||
43063e4746 | |||
47359d3f4e | |||
eb8f3d80bc | |||
f380478197 | |||
f7a2f77008 | |||
dabc4ea36e | |||
7ec19c1659 | |||
8486c7a240 | |||
8194249b66 | |||
da77df785a | |||
00541fc469 | |||
7ca87c9163 | |||
f6a93653be | |||
85f35bc28f | |||
3a90a5916a | |||
6a6eb8abec | |||
bf024c7c84 | |||
d705da604c | |||
94f1c92d80 | |||
bbb2114918 | |||
e071b2372c | |||
ba1b499d2b | |||
6775bcb176 | |||
4b2aef8737 | |||
1eed63cf1b | |||
200d9d6d49 | |||
cddd7eaab0 | |||
dd1ba6795c | |||
9c4d30d7b5 | |||
12baf03ef5 | |||
dc529dd590 | |||
69ccd952fc | |||
69495db9b4 | |||
313acf1b78 | |||
ac672b832c | |||
789b98f136 | |||
97fd394a0f | |||
8f2f65b9fc | |||
31b988db79 | |||
d09cc2f445 | |||
5a00707890 | |||
cfb9a57d5e | |||
652c05914f | |||
e30ec1dfd2 | |||
610cea8ecd | |||
d4019e6e10 | |||
f20d3e9e06 | |||
c4ab436f6d | |||
e5c78e8ab9 | |||
f8cedbcf59 | |||
df80b73436 | |||
8de16a4c8a | |||
4d8d4a3aba | |||
fce0f5bacb | |||
59c6b9b26a | |||
be49a13b8e | |||
2c0e6d216e | |||
805308a013 | |||
2a2d81ce78 | |||
2eb00ab3de | |||
74727fe48a | |||
6190ae69e9 | |||
3a3033bdce | |||
afe1227caa | |||
cda40e22f1 | |||
b24887d4fd | |||
17de8af81b | |||
50ccd29623 | |||
04c1d45b5f | |||
ca94f23c47 | |||
a65f8ff8b5 | |||
13b2bd0164 | |||
ccf18947c8 | |||
d4d620fe66 | |||
4d7078829d | |||
7bd9483728 | |||
179e13c4a6 | |||
4ff141bb15 | |||
9b2bb18acb | |||
7103691048 | |||
85821736c0 | |||
e474ade92b | |||
ad30a3a1f3 | |||
bb1d1d3801 | |||
c3a2f1d604 | |||
154947ef83 | |||
bc9096fad3 | |||
3d28d8cb8e | |||
9b85951cfc | |||
d125c6736b | |||
f8d4d9cb17 | |||
08cb4b0fce | |||
95d41a9518 | |||
6bdc5ccfb3 | |||
2046bbde72 | |||
c1718ff4c5 | |||
1db6713019 | |||
c89e1d18de | |||
d401028eb6 | |||
f6ac9cc63f | |||
a22edfca00 | |||
55706b2f8b | |||
09e2b9a107 | |||
9ee41b14d6 | |||
8158333d93 | |||
e843adcf0b | |||
f182e378e3 | |||
27d7126767 | |||
a62bb38773 | |||
603f048722 | |||
442843239c | |||
b63615a4b8 | |||
9d78ee8b01 | |||
9b5d2718ab | |||
a38d8e3934 | |||
db3f4c01ea | |||
c5d481c5cc | |||
a04567d3ba | |||
03c3f6d7f9 | |||
95147f5828 | |||
dd9d7c09a2 | |||
a19ff20768 | |||
b03232775e | |||
ef09231454 | |||
6b06fb2532 | |||
2512330dee | |||
642cab42cc | |||
c03e601bc3 | |||
0d0e728c79 | |||
530055df08 | |||
5d841d6624 | |||
211568ff4c | |||
44bedb9be0 | |||
c8fff90634 | |||
a6a28a6356 | |||
14ed4fdb92 | |||
65f7dc448d | |||
fb31a14873 | |||
c741ae2212 | |||
e118d650a3 | |||
c260601ef6 | |||
462566a31b | |||
0a92002919 | |||
1dbe7c5339 | |||
8fb1816877 | |||
5903849388 | |||
0826838917 | |||
a0c595a8e1 | |||
1482e41f74 | |||
dcdf736e48 | |||
43eb8016d3 | |||
e2ac1163c2 | |||
2f357ee3d5 | |||
5933952fa4 | |||
1ca011ca67 | |||
e259ffda4d | |||
e8fc6d546a | |||
1501835f61 | |||
c991555de5 | |||
9e3877270b | |||
0319b7b102 | |||
4905e5c61c | |||
8b21009a47 | |||
b8b859a1fd | |||
339c26168c | |||
1c86942097 | |||
9a499734c5 | |||
1eac82f55a | |||
c2938925d8 | |||
b84fdbf008 | |||
7c376df205 | |||
7a7a44de9b | |||
3e19ba0243 | |||
bf8b715c13 | |||
4a8bd014af | |||
a5b2b459cd | |||
4f2eecc108 | |||
13e130c29f | |||
57ac3391e5 | |||
29ca36a18b | |||
c76a3a2fc5 | |||
0cb8ad86a5 | |||
567fcb6a25 | |||
4353cc7378 | |||
a0a7ceeea0 | |||
73abdcdaad | |||
059c70e05e | |||
8b6a984864 | |||
c18051dd5b | |||
d593cefde7 | |||
b6f552a79c | |||
3114fa92e3 | |||
21094a66ee | |||
5386b89aaf | |||
b579489148 | |||
9131db13a7 | |||
8d40ebcdd7 | |||
ea29092aea | |||
1696ebf0fc | |||
ffc34859cc | |||
9d472720a9 | |||
498804f8a5 | |||
4b4b48242e | |||
f67a343f48 | |||
f956ae3abc | |||
7a9730dfe1 | |||
62e58a6597 | |||
0c5ee15ea3 | |||
ae971c8b99 | |||
b546ac168e | |||
285b6b4882 | |||
a8c2fc66d6 | |||
622264042a | |||
bb0e61787c | |||
da31717cff | |||
1b9e0f5e76 | |||
e0cc54b286 | |||
7a0de24a61 | |||
1a24dc0729 | |||
2a390b2247 | |||
292c00d62f | |||
30aa3e6f96 | |||
200f56e8d4 | |||
09f688c625 | |||
f26977adb3 | |||
704bec368f | |||
6970bdb7dd | |||
8802b048b3 | |||
e38f312ce5 | |||
125e35ed83 | |||
bf64ae9593 | |||
98902b6b80 | |||
380a6f2877 | |||
373d04b2ef | |||
c7708f371f | |||
ba9826fe9c | |||
221bc96882 | |||
acf1958350 | |||
90c079882d | |||
c22e694e7d | |||
8f9da1cb5e | |||
c413573952 | |||
89fb960679 | |||
fb7c4fcebd | |||
1760168933 | |||
9fdfdbfe94 | |||
876282d006 | |||
f7240516ca | |||
1a9bf95920 | |||
9eda119235 | |||
1ca5add891 | |||
4f40e85604 | |||
39bec20b7e | |||
8113184b12 | |||
479a4a873d | |||
7f1258c050 | |||
b995d781fb | |||
c1b8bfd6ad | |||
81f6c81aa8 | |||
0c0d9e24b8 |
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*.php text eol=lf
|
||||
*.json text eol=lf
|
6
.github/FUNDING.yml
vendored
Normal file
6
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
# These are supported funding model platforms
|
||||
github: prasathmani
|
||||
patreon: ccpprogrammers
|
||||
open_collective: tinyfilemanager
|
||||
ko_fi: tinyfilemanager
|
||||
custom: ['https://paypal.me/prasathmani']
|
41
.github/workflows/PublishDocker.yml
vendored
Normal file
41
.github/workflows/PublishDocker.yml
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
name: PublishDocker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- '**'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: |
|
||||
${{ secrets.DOCKERHUB_USERNAME }}/tinyfilemanager
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
26
Dockerfile
Normal file
26
Dockerfile
Normal file
@ -0,0 +1,26 @@
|
||||
# how to build?
|
||||
# docker login
|
||||
## .....input your docker id and password
|
||||
#docker build . -t tinyfilemanager/tinyfilemanager:master
|
||||
#docker push tinyfilemanager/tinyfilemanager:master
|
||||
|
||||
# how to use?
|
||||
# docker run -d -v /absolute/path:/var/www/html/data -p 80:80 --restart=always --name tinyfilemanager tinyfilemanager/tinyfilemanager:master
|
||||
|
||||
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 \
|
||||
libzip-dev \
|
||||
oniguruma-dev
|
||||
|
||||
RUN docker-php-ext-install \
|
||||
zip
|
||||
|
||||
WORKDIR /var/www/html
|
||||
|
||||
COPY tinyfilemanager.php index.php
|
||||
|
||||
CMD ["sh", "-c", "php -S 0.0.0.0:80"]
|
92
README.md
92
README.md
@ -1,30 +1,33 @@
|
||||
# Tiny File Manager
|
||||
|
||||
[](https://tinyfilemanager.github.io/demo/)
|
||||
[](https://github.com/prasathmani/tinyfilemanager/wiki)
|
||||
[](https://github.com/prasathmani/tinyfilemanager/releases)
|
||||
[](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
[](https://www.paypal.me/prasathmani)
|
||||

|
||||
|
||||
[](https://tinyfilemanager.eu-gb.mybluemix.net/Demo/)
|
||||
[](https://tinyfilemanager.github.io/)
|
||||
[](https://github.com/prasathmani/tinyfilemanager/releases)
|
||||
[](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
[](https://beerpay.io/prasathmani/tinyfilemanager)
|
||||
> It is a simple, fast and small file manager with single php file. It is also a web code editor. It'll run either online or locally, on Linux, Windows or Mac based platforms. The only requirement is to have PHP 5.5+ available.
|
||||
> 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>
|
||||
|
||||
## Demo
|
||||
[Demo](https://tinyfilemanager.eu-gb.mybluemix.net/Demo/)
|
||||
|
||||
Login Details : admin/admin@123 | user/12345
|
||||
[Demo](https://tinyfilemanager.github.io/demo/)
|
||||
|
||||
|
||||
## Documents
|
||||
<a href="https://tinyfilemanager.github.io/" target="_blank">tinyfilemanager.github.io</a>
|
||||
<hr>
|
||||
## Documentation
|
||||
|
||||
<img src="screenshot.gif" alt="H3K | Tiny File Manager">
|
||||
Tinyfilemanager is highly documented on the [wiki pages](https://github.com/prasathmani/tinyfilemanager/wiki).
|
||||
|
||||
[](screenshot.gif)
|
||||
|
||||
## Requirements
|
||||
|
||||
- PHP 5.5.0 or higher.
|
||||
- [Zip extension](http://php.net/manual/en/book.zip.php) for zip and unzip actions.
|
||||
- Fileinfo, iconv and mbstring extensions are strongly recommended.
|
||||
- Fileinfo, iconv, zip, tar and mbstring extensions are strongly recommended.
|
||||
|
||||
## How to use
|
||||
|
||||
@ -33,51 +36,40 @@ Download ZIP with latest version from master branch.
|
||||
Just copy the tinyfilemanager.php to your webspace - thats all :)
|
||||
You can also change the file name from "tinyfilemanager.php" to something else, you know what i meant for.
|
||||
|
||||
Default username/password: admin/admin@123 and user/12345.
|
||||
Default username/password: **admin/admin@123** and **user/12345**.
|
||||
|
||||
Warning: Please set your own username and password in `$auth_users` before use. password is encrypted with <code>password_hash()</code>. to generate new password hash <a href="https://tinyfilemanager.github.io/docs/pwd.html" target="_blank">here</a>
|
||||
:warning: Warning: Please set your own username and password in `$auth_users` before use. password is encrypted with <code>password_hash()</code>. to generate new password hash [here](https://tinyfilemanager.github.io/docs/pwd.html)
|
||||
|
||||
To enable/disable authentication set `$use_auth` to true or false.
|
||||
|
||||
### Supported constants:
|
||||
:information_source: Add your own configuration file [config.php](https://tinyfilemanager.github.io/config-sample.txt) in the same folder to use as additional configuration file.
|
||||
|
||||
- `FM_ROOT_PATH` - default is `$_SERVER['DOCUMENT_ROOT']`
|
||||
- `FM_ROOT_URL` - default is `'http(s)://site.domain/'`
|
||||
- `FM_SELF_URL` - default is `'http(s)://site.domain/' . $_SERVER['PHP_SELF']`
|
||||
- `FM_ICONV_INPUT_ENC` - default is `'CP1251'`
|
||||
- `FM_USE_HIGHLIGHTJS` - default is `true`
|
||||
- `FM_HIGHLIGHTJS_STYLE` - default is `'vs'`
|
||||
- `FM_DATETIME_FORMAT` - default is `'d.m.y H:i'`
|
||||
- `FM_EXTENSION` - default is `""` //upload files extensions
|
||||
:information_source: To work offline without CDN resources, use [offline](https://github.com/prasathmani/tinyfilemanager/tree/offline) branch
|
||||
|
||||
### :loudspeaker: Features
|
||||
|
||||
### :loudspeaker: Features
|
||||
<ul>
|
||||
<li>:cd: Open Source, light and extremely simple</li>
|
||||
<li>:iphone: Mobile friendly view for touch devices</li>
|
||||
<li>:information_source: Basic features likes Create, Delete, Modify, View, Download, Copy and Move files </li>
|
||||
<li>:arrow_double_up: Ajax Upload, Ability to drag & drop, multiple files upload and file extensions filter </li>
|
||||
<li>:file_folder: Ability to create folders and files</li>
|
||||
<li>:gift: Ability to compress, extract files (zip, tar)</li>
|
||||
<li>:sunglasses: Support user permissions - based on session and each user root folder mapping</li>
|
||||
<li>:floppy_disk: Copy direct file URL</li>
|
||||
<li>:pencil2: Edit text formats file using advanced editor</li>
|
||||
<li>:page_facing_up: Google Drive viewer helps you preview PDF/DOC/XLS/PPT/etc. 25 MB can be previewed with the Google Drive viewer</li>
|
||||
<li>:zap: Backup files</li>
|
||||
<li>:mag_right: Search - Search and Sorting using datatable js</li>
|
||||
<li>:file_folder: Exclude folders from listing</li>
|
||||
<li>:globe_with_meridians: Multi-language support (English, French)</li>
|
||||
<li>:bangbang: lots more...</li>
|
||||
</ul>
|
||||
- :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!**
|
||||
|
||||
### <a name=license></a>License, Credit
|
||||
### [Deploy by Docker](https://github.com/prasathmani/tinyfilemanager/wiki/Deploy-by-Docker)
|
||||
|
||||
### <a name=license></a>License, Credit
|
||||
|
||||
- Available under the [GNU license](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
- Original concept and development by github.com/alexantr/filemanager
|
||||
- CDN Used - jQuery, Bootstrap, Font Awesome, Highlight js, ace js, DropZone js, DataTable js
|
||||
- CDN Used - _jQuery, Bootstrap, Font Awesome, Highlight js, ace js, DropZone js, and DataTable js_
|
||||
- To report a bug or request a feature, please file an [issue](https://github.com/prasathmani/tinyfilemanager/issues)
|
||||
- We hope our tools will be helpful for you. If you find Tiny File Manager useful for your personal or commercial projects, Help me out for a couple of
|
||||
[](https://beerpay.io/prasathmani/tinyfilemanager)
|
||||
|
||||
|
||||
|
||||
- [Contributors](https://github.com/prasathmani/tinyfilemanager/wiki/Authors-and-Contributors)
|
||||
|
27
SECURITY.md
Normal file
27
SECURITY.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Security Policy
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
Report security bugs in third-party modules to the person or team maintaining the module.
|
||||
|
||||
## Disclosure Policy
|
||||
|
||||
When the security team receives a security bug report, they will assign it to a
|
||||
primary handler. This person will coordinate the fix and release process,
|
||||
involving the following steps:
|
||||
|
||||
* Confirm the problem and determine the affected versions.
|
||||
* Audit code to find any potential similar problems.
|
||||
* Prepare fixes for all releases still under maintenance. These fixes will be
|
||||
released as fast as possible to npm.
|
||||
|
||||
## Comments on this Policy
|
||||
|
||||
If you have suggestions on how this process could be improved please submit a
|
||||
pull request.
|
BIN
screenshot.gif
BIN
screenshot.gif
Binary file not shown.
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 2.4 MiB |
5058
tinyfilemanager.php
5058
tinyfilemanager.php
File diff suppressed because one or more lines are too long
2929
translation.json
Normal file
2929
translation.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user