Giter Site home page Giter Site logo

webeditor's Introduction

webeditor

Для чего?

Редактировать текстовые файлы через браузер. Быстро, удобно, с любого ПК или смартфона. Самостоятельно обновляется с гитхаба по кнопке ОБНОВИТЬ.
Расчитано на работу в *nix системе - использует системные вызовы(exec) tar и mysql_dump. На форточном хостинге не тестировалось и не предполагается.
Зачем все это нужно, когда есть другие инструменты? Это не система управления сервером, не ФТП и не редактор БД, а просто редактор кода, незаменимый в некоторых случаях, да и в целом удобный для использования

Из чего состоит

  • JQUERY
  • Bootstrap 4
  • ACE EDITOR (AWS Cloud9)
  • PHP

Как пользоваться?

Положить в папку DOCUMENT_ROOT/ЛЮБАЯ_ПАПКА и открыть в браузере url/ЛЮБАЯ_ПАПКА/edit.php
ЛЮБАЯ ПАПКА - любое имя папки, лучше без пробелов и на латинице

Скрипт будет слать лесом пока не настроена авторизация, а для этого нужно создать файл .shadow такого содержания:
USERNAME:hash('sha512',YOUR_PASSWORD), где:
USERNAME - имя пользователя, чувствительное к регистру
Пароль это хэш сумма, отдаваемая на ваш пароль по алгоритму sha512

ИНФО!:
Для каталога, где лежит редактор хорошо бы, что бы был настроен флаг AllowOverride All в настройках апача - это позволит запретить доступ к файлу с паролем через браузер. Вопрос не критичный, пароль в открытом доступе там не хранится, но запрещать доступ к критичной информации - залог крепкого сна!)
Важнее обеспечить защиту файла .mysql_settings, в котором хранятся настройки доступа к БД.

ИНФО!:
SHA512 будет отличаться от сервера к серверу, поэтому переносить файл .shadow не получится, необходимо создавать заново на каждом новом сервере.

  • Сохранить - стандартная комбинация клавиш для сохранения
  • По кнопке выбрать файл выбираем файл для редактирования
  • По кнопке Бэкап Каталога создается TAR архив указанного каталога в выпадающем спике. Как архивация отработает сразу же начинается скачивание файла. Сам архив создается в каталоге, где находится этот редактор
  • По кнопке ПЕРЕМЕСТИТЬ текущий открытый файл перемещается в каталог, выбранный в выпадающем списке
  • + ПАПКА - создает каталог в выбранном в выпадающем списке каталоге с именем, введенным в поле ввода.
  • + ФАЙЛ создает файл, так же как с папкой
  • ДРОП БОКС - открывает окно с Drag'n'Drop приемником и складывает все файлы в указанный в окне каталог
  • Обновить - качает последний релиз с гитхаба и разворачивает его по текущему расположению этого редактора
  • МуСКУЛЬ - открывает раздел работы с MySQL

Что делает?

  • Составляет дерево каталогов и файлов от $DOCUMENT_ROOT и позволяет открыть для редактирования любой файл
  • Автоматически определяет тип файла и включает соответствующую подсветку синтаксиса
  • Создавать папки
  • Создавать файлы
  • Перемещать файлы
  • Закачивать файлы через браузер
  • Сделать tar архив папки и скачать по одному клику
  • Автоформатирование кода

MySQL

Добавился функционал работы с MySQL.
Настройки доступа хранятся в файле, обычно один сайт не использует более одной БД поэтому пока нет смысла добавлять возможность выбора БД.

  • Составляет список всех таблиц БД
  • Вывести содержимое таблицы
  • Отредактировать запись таблицы
  • Бэкап БД

TODO:

  • Минимизация кода
  • Автосохранение по таймеру
  • Настройки безопасности: ограничить доступ по списку IP адресов, перегенерация SSID при каждом обращении(пишется в куки, поэтому при множестве открытых вкладок проблем быть не должно)
  • Упростить создание файла с паролем на вход. На текущий момент нужно вручную генерировать SHA512 обращаясь к sha.php?str=

webeditor's People

Contributors

iampelixm avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.