mirror of
https://github.com/prasathmani/tinyfilemanager
synced 2024-05-20 14:36:36 +02:00
Compare commits
162 commits
Author | SHA1 | Date | |
---|---|---|---|
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 |
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.php text eol=lf
|
||||
*.json text eol=lf
|
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
|
@ -1,5 +1,5 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: prasathmani
|
||||
patreon: ccpprogrammers
|
||||
open_collective: tinyfilemanager
|
||||
ko_fi: tinyfilemanager
|
||||
|
|
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 \
|
||||
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"]
|
90
README.md
90
README.md
|
@ -1,22 +1,22 @@
|
|||
# Tiny File Manager
|
||||
|
||||
|
||||
[![Live demo](https://img.shields.io/badge/Live-Demo-brightgreen.svg?style=flat-square)](https://tinyfilemanager.github.io/demo/)
|
||||
[![Live demo](https://img.shields.io/badge/Help-Docs-lightgrey.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/wiki)
|
||||
[![GitHub Release](https://img.shields.io/github/release/qubyte/rubidium.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/releases)
|
||||
[![GitHub License](https://img.shields.io/github/license/prasathmani/tinyfilemanager.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
[![GitHub Release](https://img.shields.io/github/release/prasathmani/tinyfilemanager.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/releases)
|
||||
[![GitHub License](https://img.shields.io/github/license/prasathmani/tinyfilemanager.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
[![Paypal](https://img.shields.io/badge/Donate-Paypal-lightgrey.svg?style=flat-square)](https://www.paypal.me/prasathmani)
|
||||
> TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, 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.
|
||||
![GitHub Sponsors](https://img.shields.io/github/sponsors/prasathmani)
|
||||
|
||||
> 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
|
||||
[Demo](https://tinyfilemanager.github.io/demo/)
|
||||
|
||||
Login Details : admin/admin@123 | user/12345
|
||||
[Demo](https://tinyfilemanager.github.io/demo/)
|
||||
|
||||
|
||||
## Documentation
|
||||
Tinyfilemanager is highly documented on the [wiki pages](https://github.com/prasathmani/tinyfilemanager/wiki).
|
||||
|
||||
Tinyfilemanager is highly documented on the [wiki pages](https://github.com/prasathmani/tinyfilemanager/wiki).
|
||||
|
||||
[![Tiny File Manager](screenshot.gif)](screenshot.gif)
|
||||
|
||||
|
@ -38,13 +38,16 @@ Default username/password: **admin/admin@123** and **user/12345**.
|
|||
|
||||
To enable/disable authentication set `$use_auth` to true or false.
|
||||
|
||||
: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.
|
||||
|
||||
### :loudspeaker: Features
|
||||
:information_source: To work offline without CDN resources, use [offline](https://github.com/prasathmani/tinyfilemanager/tree/offline) branch
|
||||
|
||||
### :loudspeaker: Features
|
||||
|
||||
- :cd: Open Source, light and extremely simple
|
||||
- :iphone: Mobile friendly view for touch devices
|
||||
- :information_source: Basic features likes Create, Delete, Modify, View, Quick Preview, Download, Copy and Move files
|
||||
- :arrow_double_up: Ajax Upload, Ability to drag & drop, upload from URL, multiple files upload with file extensions filter
|
||||
- :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
|
||||
|
@ -52,16 +55,75 @@ To enable/disable authentication set `$use_auth` to true or false.
|
|||
- :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`
|
||||
- :mag_right: Search - Search and filter files using `datatable js`
|
||||
- :file_folder: Exclude folders and files from listing
|
||||
- :globe_with_meridians: Multi-language(20+) support and for translations `translation.json` is file required
|
||||
- :globe_with_meridians: Multi-language(32+) support and for translations `translation.json` is file required
|
||||
- :bangbang: lots more...
|
||||
|
||||
## Deploy by Docker
|
||||
|
||||
### <a name=license></a>License, Credit
|
||||
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
|
||||
|
||||
- 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, ekko-lightbox js, and 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)
|
||||
- [Contributors](https://github.com/prasathmani/tinyfilemanager/wiki/Authors-and-Contributors)
|
||||
|
|
|
@ -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@gmail.com](mailto:ccpprogrammers@gmail.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.
|
||||
|
||||
|
|
BIN
screenshot.gif
BIN
screenshot.gif
Binary file not shown.
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 2.4 MiB |
1952
tinyfilemanager.php
1952
tinyfilemanager.php
File diff suppressed because one or more lines are too long
1920
translation.json
1920
translation.json
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue