1
0
mirror of https://github.com/prasathmani/tinyfilemanager.git synced 2025-08-06 08:48:12 +02:00

150 Commits

Author SHA1 Message Date
ner0
15fc685f96 Bring offline branch up to speed with master (#1037)
* publish additional docker tags (#975)

* Update Romanian translations (#981)

* Update tinyfilemanager.php

* Prevent logout issue after page was cached (#1004)

Logout may not work otherwise, browser reloads cached page from disk instead of sending GET request ?logout=1 to server.

* tell git to always commit .php in unix-newlines (#1017)

so hopefully we don't get a repeat of https://github.com/prasathmani/tinyfilemanager/pull/994#issuecomment-1502035505

* Check if posix_getpwuid/posix_getgrgid calls were successful (#1023)

* use stream_copy_to_stream (#1014)

* use stream_copy_to_stream

it's simpler, and should be faster.
For example, stream_copy_to_stream can use sendfile ( https://man7.org/linux/man-pages/man2/sendfile.2.html ) on operating systems supporting it, which is faster and use less RAM than fread()+fwrite() (because it avoids copying data to/from userland, doing the copy entirely in-kernel~)

* fix loop early return, and workaround bug

* use feof

ref https://github.com/prasathmani/tinyfilemanager/issues/1016#issuecomment-1502081506

* added bengali translation (#1018)

* Fix upload of existing files (#1026)

* Fix typo. (#1028)

* login (Redirecting to Main domain of website instead of tfm.php) fix (#1031)

When logged in it takes to the website's main URL. For example, if I have tfm in www.example.com/tfm/index.php (index.php is tfm) then after logging in it redirects to www.example.com and then have to press back on the browser then it takes to www.example.com/tfm/index.php

* Add configurable path display modes for better privacy and clarity (#1034)

* Resize preview image and implement zoom in/out (#1036)

* Resize preview image and implement zoom in/out

* Remove redundant class name

---------

Co-authored-by: ssams <6338356+ssams@users.noreply.github.com>
Co-authored-by: Sergiu Bivol <sergiu@cip.md>
Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
Co-authored-by: divinity76 <divinity76@gmail.com>
Co-authored-by: Micha Ober <github@ober-mail.de>
Co-authored-by: Joy Biswas <74253956+joybiswas007@users.noreply.github.com>
Co-authored-by: Micha Ober <git@ober-mail.de>
Co-authored-by: Caleb Mazalevskis <maikuolan@gmail.com>
Co-authored-by: xololunatic <97784387+xololunatic@users.noreply.github.com>
Co-authored-by: DannyDaemonic <DannyDaemonic@gmail.com>
2023-05-07 11:54:33 +05:30
Micha Ober
e179367cbc Fix filename for DataTables (#1024) 2023-04-21 10:04:14 +05:30
Prasath Mani
5738e8c164 Merge branch 'master' of https://github.com/prasathmani/tinyfilemanager into offline 2023-02-22 07:21:08 +05:30
Prasath Mani
bbb2114918 Update README.md 2023-02-22 07:20:52 +05:30
Prasath Mani
6ae693b1fb Add 0FFL1NE support 2023-02-22 07:18:44 +05:30
Prasath Mani
e071b2372c Add External CDN resources configurable 2023-02-22 07:16:25 +05:30
fwiesweg
ba1b499d2b Allow configuration for strict CSPs and GDPR (#971) 2023-02-22 06:25:35 +05:30
Suyadi
6775bcb176 AceEditor: hide vertical ruler (#973) 2023-02-22 06:24:00 +05:30
Alessandro Marinuzzi
4b2aef8737 Added extensions and removed the duplicated entries (#968)
added new extensions used in different linux/windows environments and removed duplicate entries
2023-02-16 20:54:55 +05:30
Michael Gebetsroither
1eed63cf1b make upload chunk size configureable (#967)
nginx supports only 1MB per default
2023-02-16 16:18:40 +05:30
Oreloth
200d9d6d49 Fix french translation (#960)
Better and native french translation with official terms such as "haché" for hashing, which is the officiel term from PHP.
2023-02-05 10:35:07 +05:30
minghongg
cddd7eaab0 Deploy path traversal fix (#953)
Co-authored-by: root <root@chevaliers.lan>
2023-01-25 11:46:20 +05:30
Dmitry Efremov
dd1ba6795c Fixes ajax ability to handle requests when auth disabled (#952) 2023-01-25 08:23:45 +05:30
Dmitry Efremov
9c4d30d7b5 Fixes couple issues with confirmDailog (#951)
* Fixes naming for confirmDailog id, otherwise dialog won't work

* Removes destroying form as browser complains that it can't process request from disconnected form
2023-01-25 08:22:27 +05:30
Dmitry Efremov
12baf03ef5 Removes sed from Dockerfile (#948)
They were needed before because they changed example config.php so make it workable.
Now we don't have it and running sed against main file just removes a lot of code
and forces data path for directory
2023-01-24 08:04:37 +05:30
Prasath Mani
dc529dd590 Fix save settings not working #947 2023-01-22 02:06:14 +05:30
fbotp
69ccd952fc Bug fix: Delete confirm dialog will work wrong aflter cancel. (#942)
* Bug fix: Only delete first file/directory when clicking the delete button multiple times and canceling.

* Add variable name for delete dialog
2023-01-19 21:41:48 +05:30
Catalin
69495db9b4 Subfolder links fix (#945)
Download and Direct link problems when using with a subfolder, possible simple solution.
2023-01-19 21:41:00 +05:30
Prasath Mani
313acf1b78 Update README.md 2023-01-13 11:09:18 +05:30
Prasath Mani
ac672b832c update screenshot 2022-12-03 12:07:18 +05:30
Prasath Mani
789b98f136 Download and Direct link problems when using with a subfolder. #907 2022-12-03 06:17:55 +00:00
Prasath Mani
97fd394a0f Update README.md 2022-12-02 08:29:37 +05:30
Prasath Mani
8f2f65b9fc Bug Fix #904, #903, #900 2022-12-02 02:43:24 +00:00
武志伟
31b988db79 Translation supplement (#902)
* update zh-cn lang

* Translation supplement

* update zh-cn lang
2022-11-30 16:40:57 +05:30
武志伟
d09cc2f445 Complete all Chinese translations (#901) 2022-11-30 11:01:57 +05:30
Nguyễn Trần Chung
5a00707890 Update tinyfilemanager.php (#898) 2022-11-27 20:59:39 +05:30
muink
cfb9a57d5e Fix the problem of login failure when $root_url is defined (#896)
Fix the problem that `FM_ROOT_URL` and `$_SERVER['REQUEST_URI']` are repeated, causing login redirection to fail when `$root_url` is defined
2022-11-26 18:52:34 +05:30
Prasath Mani
652c05914f Update FUNDING.yml 2022-11-25 16:38:42 +05:30
Prasath Mani
e30ec1dfd2 update download buffer and fix #893 2022-11-25 07:00:19 +00:00
Prasath Mani
610cea8ecd Fix - #739, #887, #886, #884, #835 2022-11-25 03:09:46 +00:00
Michele Locati
d4019e6e10 Update Italian translations (#892) 2022-11-23 22:10:29 +05:30
Michele Locati
f20d3e9e06 Fix phpdoc types (#890) 2022-11-23 22:07:04 +05:30
Julien
c4ab436f6d Complete French translation (#885) 2022-11-22 06:27:33 +05:30
Prasath Mani
e5c78e8ab9 cosmetic changes and dark theme color update 2022-11-20 19:01:08 +05:30
Prasath Mani
f8cedbcf59 Fix Security related issues 2022-11-20 16:59:29 +05:30
Prasath Mani
df80b73436 Refactor Code and Update Doc 2022-11-20 15:04:25 +05:30
Prasath Mani
8de16a4c8a Major update on security, improved UI and bug fix. 2022-11-19 19:55:39 +00:00
Prasath Mani
4d8d4a3aba Update tinyfilemanager.php 2022-11-07 22:48:15 +05:30
Prasath Mani
fce0f5bacb Fix warning message 2022-11-07 22:42:07 +05:30
llcool
59c6b9b26a Downloading file - PHP warning loop "Permission denied" (#879)
* Bugfix: Stop looping error when downloading a file with no access.

* Delete .history directory

ignore .history
2022-11-07 22:24:56 +05:30
Rizky
be49a13b8e Fixes advanced search not working. (#878)
Fix #869
2022-11-07 22:23:01 +05:30
ririko5834
2c0e6d216e Update tinyfilemanager.php (#874) 2022-10-31 21:19:21 +05:30
Prasath Mani
805308a013 remove latest version checker 2022-09-01 16:25:29 +05:30
Dmitry Efremov
2a2d81ce78 Removes php ext installs as their are already installed in base (#848) 2022-08-31 11:23:19 +05:30
Dmitry Efremov
2eb00ab3de Adds json mime type as text type to allow edit json files (#841) 2022-08-25 09:50:39 +05:30
Agent Smith
74727fe48a Add webm to videos (#833) 2022-08-06 11:17:47 +05:30
Andres Aya
6190ae69e9 word change mistranslated in Spanish (#818) 2022-07-14 09:01:59 +05:30
Sebjugate
3a3033bdce Added .yml, .yaml and .toml extensions. (#816)
These are common config file extensions.
2022-07-14 07:16:02 +05:30
zedzhen
afe1227caa Update russia translate and fix bug (#815)
* fix bug

if $calc_folder is enabled and there are insufficient permissions for one of the subfolders, then "PHP Fatal error: Uncaught RuntimeException: SplFileInfo::getSize()"

* lng() update

added lng() and delete unesed

* update russia translate
2022-07-14 07:14:54 +05:30
Saied
cda40e22f1 More accurate ip recognition (#807) (#813) 2022-07-14 07:13:49 +05:30
Michael Horstmann
b24887d4fd Removed unused function (#806)
To fix: Undefined constant 'FM_EXTENSION'
2022-07-07 12:01:02 +05:30
Prasath Mani
17de8af81b PHP "divide by zero" error when unzipping 0 byte (very small) .zip files #803 2022-06-29 02:14:35 +00:00
Apichart F
50ccd29623 Fix advanced search issue for read-only user (#785)
$_POST['type']=="search" not reachable if FM_READONLY is true
2022-05-27 11:06:25 +05:30
Tanner
04c1d45b5f resolve sorting issues, keep back button at top (#779) 2022-05-05 03:51:21 +05:30
Prasath Mani
ca94f23c47 Update tinyfilemanager.php 2022-04-18 12:51:55 +05:30
mclorch
a65f8ff8b5 fix download Content-Type header (#770) 2022-04-11 13:39:51 +05:30
sinth
13b2bd0164 Add missing lines for German translation (#766)
* added missing lines for German translation

* small correction
2022-04-07 22:16:43 +05:30
luidoc
ccf18947c8 Add Galician language (#747)
Add Galician language - gl
2022-03-20 12:48:48 +05:30
Rick van Leeuwen
d4d620fe66 Fix Dutch translation (#745)
* Fix Dutch translation

* fix dutch translation
2022-03-20 12:47:03 +05:30
The-Exterminator
4d7078829d Update translation.json (#742) 2022-03-07 08:47:58 +05:30
AnnAngela
7bd9483728 Fix incorrect path of the version svg (#740) 2022-03-06 19:38:08 +05:30
Agent Smith
179e13c4a6 Add danish language (#728) 2022-02-21 10:47:37 +05:30
Nguyễn Trần Chung
4ff141bb15 Update translation.json (#723) 2022-02-14 08:24:38 +05:30
Michael Milette
9b2bb18acb Optimized and refactored fm_get_directorysize() function, and added validation. (#720) 2022-02-12 23:15:38 +05:30
Prasath Mani
7103691048 Fix - typo error #641 2022-02-12 13:54:22 +05:30
Prasath Mani
85821736c0 Update version 2022-02-12 13:48:19 +05:30
jicho
e474ade92b Client IP behind proxy (#665)
Function added for IP filtering when the filemanager is hosted behind a web proxy.

I've added a function for this to the file, not sure how else to implement it since everything is one file.
2022-02-12 13:28:26 +05:30
Daniel Kranich
ad30a3a1f3 Add Global Readonly (#158)
Added a global readonly variable that will force readonly mode both when
not using the auth system and for all users if the auth system is being
used.

Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
2022-02-12 13:22:56 +05:30
Roni
bb1d1d3801 added name of the file being edited (#542)
added name of the file being edited and a back button in a better location
2022-02-12 13:17:35 +05:30
Daniele Paganelli
c3a2f1d604 Chunked file upload (#714)
Removes any PHP or server-side file-upload limits by using file chunks
2022-02-12 13:16:07 +05:30
joaogmauricio
154947ef83 apply fix to path traversal vulnerability (#718)
Co-authored-by: João Maurício <joao.goncalves.mauricio@pwc.com>
2022-02-12 10:34:05 +05:30
Enyedi Szilárd
bc9096fad3 Update translation.json (#708)
Improved Romanian translation.
2022-01-28 07:44:37 +05:30
Enyedi Szilárd
3d28d8cb8e Update tinyfilemanager.php (#707)
Changed "Folder is empty" message to be language-specific.
2022-01-28 07:43:56 +05:30
Roman Steiner
9b85951cfc fix "400 bad request" when saving files (#705) 2022-01-21 08:06:27 +05:30
CornelCotoara
d125c6736b Add Romanian language (#690)
* Add Romanian language

Add Romanian language w/o diacrytics!
Traducere & adaptare in limba romana fara diacritice!

* Fix typo's
2021-12-21 17:45:58 +05:30
Karel De Smet
f8d4d9cb17 added Dutch translation (#686)
* added Dutch translation

* fix typo
2021-12-21 11:01:36 +05:30
Suyadi
08cb4b0fce Fix a non well formatted numeric value encountered & Notice: Undefined offset in fm_get_filesize() (#681)
For non `well formatted numeric value encountered`, see #670
For `Notice: Undefined offset 9` (current implementation result) see: https://3v4l.org/1qHit#v5.0.0
For new impementation result, see: https://3v4l.org/d0UBh#v5.0.0
2021-12-13 10:15:09 +05:30
Boris Delev
95d41a9518 Just a little fix with missing " in button HTML (#675)
Its a little html fix- its about 1787 line- the class value it not closed.
```
<button type="button" class="btn btn-sm btn-outline-primary name="Save"
```
changed to:

```
<button type="button" class="btn btn-sm btn-outline-primary" name="Save"
```
2021-12-03 07:16:32 +05:30
Zain Arbani
6bdc5ccfb3 Update Indonesian translations (#668) 2021-11-22 09:03:41 +05:30
febinrev
2046bbde72 Patched the RCE (#636)
I have patched the file upload directory traversal to Authenticated Remote Code Execution Vulnerability.
2021-11-12 08:31:02 +05:30
long
c1718ff4c5 Vietnamese translation update (#629)
I have updated the Vietnamese translation under the code "vi" to be more complete.
2021-09-18 09:59:08 +05:30
Jeffrey-Wang
1db6713019 fix: document docker image name. (#622) 2021-09-05 08:47:26 +05:30
Prasath Mani
c89e1d18de Update README.md 2021-09-03 11:30:25 +05:30
Prasath Mani
d401028eb6 Update README.md 2021-09-03 11:18:41 +05:30
Prasath Mani
f6ac9cc63f Update README.md 2021-09-03 11:14:46 +05:30
Jeffrey-Wang
a22edfca00 feat: add Dockerfile and auto publish. (#619) 2021-09-03 11:13:23 +05:30
Alex
55706b2f8b Adding a Slovenian translation (#614)
I added a Slovenian translation under the code "sl" and the name "Slovensko".
2021-08-09 20:06:08 +05:30
Agent Smith
09e2b9a107 Fix saving of empty files (#612)
When you have a file without content, for example when you cleared you were unable to save it because of an incorrect if-statement. This is the fix for that problem.
2021-08-06 07:43:22 +05:30
Agent Smith
9ee41b14d6 Added some missing translations (#608) 2021-08-02 10:39:37 +05:30
schmigz
8158333d93 Update tinyfilemanager.php (#568)
fm_get_file_mimes() was causing errors for unknown extensions as it was causing an error as array element was not defined and return value was never checked.  According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types and several other resources,  application/octet-stream is the default value for all other cases. An unknown file type should use this type.   I put a check in there to use that by default so a valid value is always returned.

It might be useful to replace this function with the  built-in PHP function mime_content_type() but that adds some additional dependencies as it does not always work out of the box with PHP.
2021-06-05 11:57:53 +05:30
sbivol
e843adcf0b Fix function name and add extensions for icons (#567)
* Set icons for more file extensions

* Fix function name
2021-06-05 08:33:57 +05:30
safraja
f182e378e3 PHP8 fix and few other changes (#562) 2021-06-01 10:11:15 +05:30
Prasath Mani
27d7126767 Typo error fix #548 2021-05-17 15:05:46 +05:30
Prasath Mani
a62bb38773 PR update and sync 2021-05-17 12:22:16 +05:30
Adrien Bonnel
603f048722 Fix PHP 5.X (#494)
Arrays cannot be used in "define" functions with PHP versions lower than 7.X
Solution given via my professional account (ArlorNaturalScientific)
2021-05-17 11:59:34 +05:30
Shoyu Vanilla
442843239c 🌐 Update Korean translation (#496) 2021-05-17 11:58:53 +05:30
Julien
b63615a4b8 French translation: sort and complete (#497)
* French - Apply alpha order

* Add missing translations

* Fix missing help
2021-05-17 11:58:19 +05:30
Simon Nándor
9d78ee8b01 I added the Hungarian language (translation.json) (#509)
I added support for the Hungarian language.
2021-05-17 11:57:50 +05:30
Roni
9b5d2718ab New translations (#537)
New translations

Novas Traduções
2021-05-17 11:55:47 +05:30
Roni
a38d8e3934 Portuguese, with new translations (#538)
Portuguese, with new translations

Português, Com novas traduções
2021-05-17 11:55:02 +05:30
Roni
db3f4c01ea Added in preferences light or dark theme (#539)
Added in the preferences option to change the light or dark theme,

Now to change the theme will be in the preferences / settings area, along with other settings, and may even have other themes in the future.
2021-05-17 09:24:45 +05:30
William Gilmour
c5d481c5cc Fixed Rename with folder quotes (#534)
Fixed the Rename functionality to work with folders that contain single quotes in them by calling `addslashes` on the path.
2021-04-30 05:57:10 +05:30
Prasath Mani
a04567d3ba Fix security issues #525 and #526 2021-04-22 13:41:35 +05:30
huntr.dev | the place to protect open source
03c3f6d7f9 Fixed 3 sinks which caused XSS in filename (#511)
Co-authored-by: Vaibhav Shinde <vaibhavkshinde20@gmail.com>
2021-03-22 18:26:55 +05:30
Prasath Mani
95147f5828 remove decoded php codes and code cleanup 2021-02-24 13:33:57 +05:30
ccdd13
dd9d7c09a2 Feat/mixed changes (#502)
* remove trailing whitespace

Signed-off-by: ccdd13 <78702084+ccdd13@users.noreply.github.com>

* safe include config.php with __DIR__

* replace doc url for $datetime_format from function.date.php to datetime.format.php

Signed-off-by: ccdd13 <ccdd13@users.noreply.github.com>

* put $auth_users & $readonly_users together

Signed-off-by: ccdd13 <ccdd13@users.noreply.github.com>

* update $datetime_format

Signed-off-by: ccdd13 <ccdd13@users.noreply.github.com>

Co-authored-by: ammm ccdd12 <mamok43076@dashseat.com>
Co-authored-by: ccdd13 <ccdd13@users.noreply.github.com>
2021-02-24 12:37:38 +05:30
Prasath Mani
a19ff20768 Update vendor CDN versions 2021-02-23 11:47:57 +05:30
HOOP Mediaclinic
b03232775e Added Finnish translation (#486)
Co-authored-by: Jani Kiviranta <jani.kiviranta@hoop.fi>
2021-01-19 06:37:00 +05:30
Peter Frost
ef09231454 Fix file size display in file viewer (#475) 2020-12-23 20:46:00 +05:30
Adrian B. Hoffsten
6b06fb2532 Norwegian translation[NO] (#474) 2020-12-22 10:52:43 +05:30
Aditya Phra
2512330dee Update Indonesia translation (#435) 2020-12-06 10:11:21 +05:30
KaiserBarbarossa
642cab42cc Update German translation (#447) 2020-12-06 10:10:36 +05:30
tommy1616
c03e601bc3 Update translation.json (#451) 2020-11-11 09:48:26 +05:30
Michele La Forgia
0d0e728c79 Update italian translation (#440) 2020-10-23 05:01:18 +05:30
Алмас
530055df08 Add: Mongolian (cyrillic) language added. (#422)
Co-authored-by: Davaadorj.U <davaadorju@gmail.com>
2020-09-10 19:57:23 +05:30
Dvash
5d841d6624 Update russian translation (#414)
* fix(ru): fix russian translation

* style(ru): sort russian translation alphabetically

* feat(ru): update russian translation
2020-08-26 03:57:06 +05:30
Dvash
211568ff4c fix(actions): creating a backup in FM_ROOT_PATH (#418) 2020-08-26 03:55:13 +05:30
Anton Dalmau Mines
44bedb9be0 Update Catalan translation (#410)
* Update translation.json

Update Catalan translation

* Update translation.json

* Update translation.json

* Update translation.json
2020-08-12 07:20:14 +05:30
DvashVistrame
c8fff90634 fix: prevent double write to file (#409) 2020-08-04 14:00:05 +05:30
safraja
a6a28a6356 Fix sorting by date and size (#387)
Based on suggestions in https://github.com/prasathmani/tinyfilemanager/issues/197
but uses data-sort attribute (from DataTable wiki https://datatables.net/examples/advanced_init/html5-data-attributes.html) instead of invisible characters and also distinguishes files and folders, so they stay grouped even after sort.
(I am sorry for my bad English.)
2020-07-20 05:39:47 +05:30
Elegary
14ed4fdb92 Update french translation (#392)
I corrected the french translation
2020-07-20 05:38:12 +05:30
zachlankton
65f7dc448d Fixes #183, Fixes #289 (#400)
Fixes setting drop down boxes to the current ace editor mode and theme on page load.
2020-07-20 05:37:41 +05:30
zachlankton
fb31a14873 Added Error Message When File Fails to Write (#399)
Added error checking and message for when file fails to write on the server side.  Before this change if a write failed on the server side it would still present the user with a misleading "Saved Successfully" Message.
2020-07-20 05:36:47 +05:30
Michael Milette
c741ae2212 Notice: A non well formed numeric value encountered (#386)
Eliminates the following PHP warnings when error reporting is turned on:

Notice: A non well formed numeric value encountered in tinyfilemanager.php on line 2443
Notice: A non well formed numeric value encountered in tinyfilemanager.php on line 2444

This happens because PHP floor and round are expecting a (float), not an (int).
2020-06-27 16:02:09 +05:30
JHuyVu
e118d650a3 Correct wrong word in Vietnamese language. (#381)
Co-authored-by: JHuyVu <jhuyvu@gmail.com>
2020-06-21 08:25:28 +05:30
safraja
c260601ef6 Czech translation update (#368)
Added missing expressions and corrected a few inaccuracies.
2020-06-06 06:09:26 +05:30
Mirco Babini
462566a31b Remove duplicate code block (#377) 2020-06-02 19:27:37 +05:30
Prasath Mani
0a92002919 if exist include config.php #366 2020-05-24 17:07:17 +05:30
Prasath Mani
1dbe7c5339 dark mode #352
Request: Dark mode option in the admin section. #260
2020-05-24 14:00:27 +05:30
Nicolas Peugnet
8fb1816877 Create a new session if permission denied on current one (#331)
In a multi-user configuration, the current session file can be unreadable
by the current user. This tries to create a new session in this case.
2020-05-24 08:51:44 +05:30
TheFax
5903849388 Added Optional configuration file (#338)
* Added optional configuration file loading

* First commit of optional configuration file

This file is OPTIONAL.
If this file is not present in your webserver, tinyfilemanager will works with its internal configuration.

* removed define

define is not a configuration
2020-05-24 08:50:49 +05:30
Nguyen The Anh
0826838917 Add support user customized config file (if exists) (#242)
* feat(/): add support user customized config file (if exists)

* Show current process ID in Status bar + Make fm_get_filesize function much more concise (#245)

* Update Simplified Chinese (#241)

* Feature Font Size Choose Options / Bug Fix Settings not visible in auth=false (#240)

* Bug fix and PR #245, #241, #240

Co-authored-by: 刘明野 <898310895@qq.com>
Co-authored-by: B Bharath Kumar Reddy <39063133+bbharathkumarreddy@users.noreply.github.com>
Co-authored-by: Prasath Mani <prasath.mani@publicissapient.com>
Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
2020-05-24 08:50:25 +05:30
Prasath Mani
a0c595a8e1 Security fix #357
Download file causes timeout #353
Download Restart @ 88% #312
download large file issues #259
File upload issue #354
FIle Upload URL error #360
Bug in .tar archive extraction when destination(s) file(s) already exist (HTTP error 500) #332
Backup File return false #201
2020-05-18 13:37:02 +05:30
rinoshiyo
1482e41f74 fix settings are not saved. (#361) 2020-05-18 09:45:54 +05:30
rinoshiyo
dcdf736e48 Add Japanese Translation (#359) 2020-05-16 17:10:03 +05:30
Prasath Mani
43eb8016d3 Update SECURITY.md 2020-05-14 08:57:29 +05:30
Prasath Mani
e2ac1163c2 Update SECURITY.md 2020-05-14 08:57:12 +05:30
Shoyu Vanilla
2f357ee3d5 Fix translation error (#349) 2020-04-29 12:35:19 +05:30
Shoyu Vanilla
5933952fa4 Add Korean translations (#347) 2020-04-28 06:00:07 +05:30
Vincent Vandalon
1ca011ca67 Added duplicate functionality (#146)
* Added duplicate functionality

* Updated functionality to also duplicate folders

* Merged copy & duplicate buttons
2020-03-23 19:31:44 +05:30
Roni
e259ffda4d Update tinyfilemanager.php (#327) 2020-03-20 07:55:51 +05:30
Maxim Khokhryakov
e8fc6d546a fix "Archive not created" error (#317)
fix "Archive not created" error while trying to create Tar archive
2020-03-12 12:48:19 +05:30
Akira Ely
1501835f61 Update tinyfilemanager.php (#309)
Login box stays middle on small screens
2020-02-24 11:39:53 +05:30
Michele Locati
c991555de5 Avoid accessing undefined $_POST['file'] index (#308)
I don't know when this occurs, but I have this entry in my web server log:
 PHP Notice:  Undefined index: file in tinyfilemanager.php on line 1165
2020-02-18 22:46:21 +05:30
Prasath Mani
9e3877270b Advanced Search
Mouse hover image preview
Upload error handling
Thumbnail view for folders containing images #283
How to search inside folders. #282
Search bar with regex matching #140
Subfolder Search Feature #132
2020-01-14 17:57:32 +05:30
Nguyen The Anh
0319b7b102 feat(/): add live image preview when user hovers the image file name (only when the number of files in current folder less than 500 files) (#244)
Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
2020-01-14 17:44:52 +05:30
Jakub ADAMEC
4905e5c61c Adds Slovak translation (#279) 2020-01-09 13:12:01 +05:30
Pascal
8b21009a47 Fix tiny typo (#276) 2020-01-06 07:46:43 +05:30
Prasath Mani
b8b859a1fd Update README.md 2020-01-01 20:12:17 +05:30
Prasath Mani
339c26168c Update FUNDING.yml 2020-01-01 16:28:09 +05:30
27 changed files with 7352 additions and 943 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
*.php text eol=lf
*.json text eol=lf

4
.github/FUNDING.yml vendored
View File

@@ -1,6 +1,6 @@
# These are supported funding model platforms
github: prasathmani
patreon: ccpprogrammers
open_collective: # Replace with a single Open Collective username
open_collective: tinyfilemanager
ko_fi: tinyfilemanager
custom: ['https://paypal.me/prasathmani']

41
.github/workflows/PublishDocker.yml vendored Normal file
View 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
View 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"]

112
README.md
View File

@@ -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://tinyfilemanager.github.io/)
[![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)
[![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/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)
> It 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, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+, 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
## Documentation
## Documents
[TinyFileManager.github.io](https://tinyfilemanager.github.io/) | [Password Generater](https://tinyfilemanager.github.io/docs/pwd.html)
<hr>
Tinyfilemanager is highly documented on the [wiki pages](https://github.com/prasathmani/tinyfilemanager/wiki).
[![Tiny File Manager](screenshot.gif)](screenshot.gif)
@@ -34,46 +34,96 @@ You can also change the file name from "tinyfilemanager.php" to something else,
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 [here](https://tinyfilemanager.github.io/docs/pwd.html)
: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
- :cd: Open Source, light and extremely simple
- :iphone: Mobile friendly view for touch devices
- :information_source: Basic features likes Create, Delete, Modify, View, Quick View, Download, Copy and Move files
- :arrow_double_up: Ajax Upload, Ability to drag & drop, upload from URL, multiple files upload and 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
- :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 white and blacklisting
- :mag_right: Search - Search and Sorting using `datatable js`
- :file_folder: Exclude folders from listing
- :globe_with_meridians: Multi-language support (English, Spanish, French, Italian, German, Russian, Thailand, Chinese and more..) for translations `translation.json` is file required
- :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
### <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)

View File

@@ -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.

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

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
View 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}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

17
assets/js/ace.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

2
assets/js/jquery-3.6.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

After

Width:  |  Height:  |  Size: 2.4 MiB

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff