22 Commits
2.4.0 ... 2.4.3

Author SHA1 Message Date
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
6 changed files with 823 additions and 144 deletions

2
.github/FUNDING.yml vendored
View File

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

View File

@@ -2,11 +2,11 @@
[![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/)
[![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)
[![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. .
> 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.
## Demo
[Demo](https://tinyfilemanager.github.io/demo/)
@@ -14,9 +14,9 @@
Login Details : admin/admin@123 | user/12345
## Documents
[TinyFileManager.github.io](https://tinyfilemanager.github.io/) | [Password Generater](https://tinyfilemanager.github.io/docs/pwd.html)
<hr>
## Documentation
Tinyfilemanager is highly documented on the [wiki pages](https://github.com/prasathmani/tinyfilemanager/wiki).
[![Tiny File Manager](screenshot.gif)](screenshot.gif)
@@ -34,38 +34,27 @@ 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:
- `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
### :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, 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
- :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(20+) support and for translations `translation.json` is file required
- :bangbang: lots more...
@@ -75,5 +64,4 @@ To enable/disable authentication set `$use_auth` to true or false.
- 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_
- 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.

133
config.php Normal file
View File

@@ -0,0 +1,133 @@
<?php
/*
#################################################################################################################
This is an OPTIONAL configuration file.
The role of this file is to make updating of "tinyfilemanager.php" easier.
So you can:
-Feel free to remove completely this file and configure "tinyfilemanager.php" as a single file application.
or
-Put inside this file all the static configuration you want and forgot to configure "tinyfilemanager.php".
#################################################################################################################
*/
// Auth with login/password
// set true/false to enable/disable it
// Is independent from IP white- and blacklisting
$use_auth = true;
// Auth with login/password
// set true/false to enable/disable it
// Is independent from IP white- and blacklisting
$use_auth = true;
// Login user name and password
// Users: array('Username' => 'Password', 'Username2' => 'Password2', ...)
// Generate secure password hash - https://tinyfilemanager.github.io/docs/pwd.html
$auth_users = array(
'admin' => '$2y$10$/K.hjNr84lLNDt8fTXjoI.DBp6PpeyoJ.mGwrrLuCZfAwfSAGqhOW', //admin@123
'user' => '$2y$10$Fg6Dz8oH9fPoZ2jJan5tZuv6Z4Kp7avtQ9bDfrdRntXtPeiMAZyGO' //12345
);
//set application theme
//options - 'light' and 'dark'
$theme = 'light';
// Readonly users
// e.g. array('users', 'guest', ...)
$readonly_users = array(
'user'
);
// Enable highlight.js (https://highlightjs.org/) on view's page
$use_highlightjs = true;
// highlight.js style
// for dark theme use 'ir-black'
$highlightjs_style = 'vs';
// Enable ace.js (https://ace.c9.io/) on view's page
$edit_files = true;
// Default timezone for date() and time()
// Doc - http://php.net/manual/en/timezones.php
$default_timezone = 'Etc/UTC'; // UTC
// 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 = '';
// Server hostname. Can set manually if wrong
$http_host = $_SERVER['HTTP_HOST'];
// user specific directories
// array('Username' => 'Directory path', 'Username2' => 'Directory path', ...)
$directories_users = array();
// input encoding for iconv
$iconv_input_encoding = 'UTF-8';
// date() format for file modification date
// Doc - https://www.php.net/manual/en/function.date.php
$datetime_format = 'd.m.y H:i';
// Allowed file extensions for create and rename files
// e.g. 'txt,html,css,js'
$allowed_file_extensions = '';
// Allowed file extensions for upload files
// e.g. 'gif,png,jpg,html,txt'
$allowed_upload_extensions = '';
// Favicon path. This can be either a full url to an .PNG image, or a path based on the document root.
// full path, e.g http://example.com/favicon.png
// local path, e.g images/icons/favicon.png
$favicon_path = '?img=favicon';
// Files and folders to excluded from listing
// e.g. array('myfile.html', 'personal-folder', '*.php', ...)
$exclude_items = array();
// Online office Docs Viewer
// Availabe rules are 'google', 'microsoft' or false
// google => View documents using Google Docs Viewer
// microsoft => View documents using Microsoft Web Apps Viewer
// false => disable online doc viewer
$online_viewer = 'google';
// Sticky Nav bar
// true => enable sticky header
// false => disable sticky header
$sticky_navbar = true;
// max upload file size
$max_upload_size_bytes = 2048;
// Possible rules are 'OFF', 'AND' or 'OR'
// OFF => Don't check connection IP, defaults to OFF
// AND => Connection must be on the whitelist, and not on the blacklist
// OR => Connection must be on the whitelist, or not on the blacklist
$ip_ruleset = 'OFF';
// Should users be notified of their block?
$ip_silent = true;
// IP-addresses, both ipv4 and ipv6
$ip_whitelist = array(
'127.0.0.1', // local ipv4
'::1' // local ipv6
);
// IP-addresses, both ipv4 and ipv6
$ip_blacklist = array(
'0.0.0.0', // non-routable meta ipv4
'::' // non-routable meta ipv6
);
?>

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"appName": "Tiny File Manager",
"version": "2.3.8",
"version": "2.4.3",
"language": [
{
"name": "فارسی",
@@ -1207,6 +1207,213 @@
"Generate new password hash": "Parola için Hash Üret",
"Hide Perms/Owner columns": "Yetki / Sahip Sütununu Gizle"
}
},
{
"name": "Slovensky",
"code": "sk",
"translation": {
"AppName": "Tiny File Manager",
"AppTitle": "File Manager",
"Login": "Prihlásiť sa",
"Username": "Prihlasovacie meno",
"Password": "Heslo",
"Logout": "Odhlásiť",
"Move": "Presunúť",
"Copy": "Kopírovať",
"Save": "Uložiť",
"SelectAll": "Vybrať všetko",
"UnSelectAll": "Zrušiť výber",
"File": "Súbor",
"Back": "Späť",
"Size": "Veľkosť",
"Perms": "Oprávnenia",
"Modified": "Zmenené",
"Owner": "Vlastník",
"Search": "Hľadať",
"NewItem": "Nový súbor",
"Folder": "Priečinok",
"Delete": "Zmazať",
"Rename": "Premenovať",
"CopyTo": "Kopírovať do",
"DirectLink": "Priamy odkaz",
"UploadingFiles": "Nahrať súbory",
"ChangePermissions": "Zmeniť oprávnenia",
"Copying": "Kopírovanie",
"CreateNewItem": "Vytvoriť nový súbor",
"Name": "Názov",
"AdvancedEditor": "Pokročilý editor",
"RememberMe": "Zapamätať",
"Actions": "Akcie",
"Upload": "Nahrať",
"Cancel": "Zrušiť",
"InvertSelection": "Obrátiť výber",
"DestinationFolder": "Cieľový priečinok",
"ItemType": "Typ súboru",
"ItemName": "Názov súboru",
"CreateNow": "Vytvoriť",
"Download": "Stiahnúť",
"Open": "Otvoriť",
"UnZip": "Rozbaliť",
"UnZipToFolder": "Rozbaliť do",
"Edit": "Upraviť",
"NormalEditor": "Editor",
"BackUp": "Záloha",
"SourceFolder": "Zdrojový priečinok",
"Files": "Súbory",
"Change": "Zmeniť",
"Settings": "Nastavenia",
"Language": "Jazyk",
"MemoryUsed": "Využitá pamäť",
"PartitionSize": "Veľkosť oddielu",
"ErrorReporting": "Hlásenie chýb",
"ShowHiddenFiles": "Zobraziť skryté súbory",
"Preview": "Náhľad",
"Help": "Pomoc",
"FullSize": "Celková veľkosť",
"FreeOf": "voľné z"
}
},
{
"name": "한국어",
"code": "ko",
"translation": {
"AppName": "Tiny File Manager",
"AppTitle": "파일 관리자",
"Login": "로그인",
"Username": "사용자명",
"Password": "비밀번호",
"Logout": "로그아웃",
"Move": "이동",
"Copy": "복사",
"Save": "저장",
"SelectAll": "전체 선택",
"UnSelectAll": "전체 해제",
"File": "파일",
"Back": "뒤로",
"Size": "크기",
"Perms": "권한",
"Modified": "수정된 날짜",
"Owner": "소유자",
"Search": "검색",
"NewItem": "새로 만들기",
"Folder": "폴더",
"Delete": "삭제",
"Rename": "이름 바꾸기",
"CopyTo": "복사 위치 지정",
"DirectLink": "다이렉트 링크",
"UploadingFiles": "파일 업로드",
"ChangePermissions": "권한 변경",
"Copying": "복사하기",
"CreateNewItem": "새로 만들기",
"Name": "이름",
"AdvancedEditor": "고급 편집기",
"RememberMe": "로그인 정보 저장",
"Actions": "액션",
"Upload": "업로드",
"Cancel": "취소",
"InvertSelection": "선택 반전",
"DestinationFolder": "대상 폴더",
"ItemType": "유형",
"ItemName": "이름",
"CreateNow": "만들기",
"Download": "다운로드",
"Open": "열기",
"UnZip": "압축 풀기",
"UnZipToFolder": "폴더에 압축 풀기",
"Edit": "편집",
"NormalEditor": "일반 편집기",
"BackUp": "백업",
"SourceFolder": "원본 폴더",
"Files": "파일 목록",
"Change": "변경",
"Settings": "설정",
"Language": "언어"
}
},
{
"name": "日本語",
"code": "ja",
"translation": {
"AppName": "Tiny File Manager",
"AppTitle": "File Manager",
"Login": "ログイン",
"Username": "Username",
"Password": "Password",
"Logout": "ログアウト",
"Move": "移動",
"Copy": "コピー",
"Save": "保存",
"SelectAll": "すべて選択",
"UnSelectAll": "選択解除",
"File": "ファイル",
"Back": "戻る",
"Size": "サイズ",
"Perms": "権限",
"Modified": "更新日時",
"Owner": "所有者",
"Search": "検索",
"NewItem": "新規作成",
"Folder": "フォルダ",
"Delete": "削除",
"Rename": "名前の変更",
"CopyTo": "宛先を指定してコピー",
"DirectLink": "直接リンク",
"UploadingFiles": "ファイルをアップロード",
"ChangePermissions": "権限を変更",
"Copying": "ファイルをコピー",
"CreateNewItem": "新規作成",
"Name": "名前",
"AdvancedEditor": "拡張エディタで編集",
"RememberMe": "Remember Me",
"Actions": "アクション",
"Upload": "アップロード",
"Cancel": "キャンセル",
"InvertSelection": "選択の切り替え",
"DestinationFolder": "宛先フォルダ",
"ItemType": "種類",
"ItemName": "名前",
"CreateNow": "作成する",
"Download": "ダウンロード",
"Open": "開く",
"UnZip": "解凍",
"UnZipToFolder": "フォルダに解凍",
"Edit": "編集",
"NormalEditor": "通常エディタで編集",
"BackUp": "バックアップ",
"SourceFolder": "元フォルダ",
"Files": "ファイル",
"Change": "変更",
"Settings": "設定",
"Language": "言語",
"MemoryUsed": "メモリ使用量",
"PartitionSize": "パーティションサイズ",
"ErrorReporting": "エラーを表示",
"ShowHiddenFiles": "隠しファイルを表示",
"Full size": "合計サイズ",
"Help": "ヘルプ",
"Free of": "free of",
"Preview": "プレビュー",
"Help Documents": "ヘルプドキュメント",
"Report Issue": "問題を報告",
"Generate": "生成",
"FullSize": "合計サイズ",
"FreeOf": "free of",
"CalculateFolderSize": "フォルダサイズを計算",
"ProcessID": "プロセスID",
"HideColumns": "権限・所有者を非表示",
"Check Latest Version": "更新の確認",
"Generate new password hash": "パスワードハッシュを生成",
"Folder is empty": "空のフォルダです",
"Created": "作成しました",
"You are logged in": "ログインしました",
"Login failed. Invalid username or password": "Username もしくは Password が違います",
"password_hash not supported, Upgrade PHP version": "password_hash がサポートされていません。PHPをアップグレードしてください",
"Group": "グループ",
"Other": "その他",
"Read": "読み込み",
"Write": "書き込み",
"Execute": "実行"
}
}
]
}
}