Соф-на дающая на выходе html файл опр. дир-рии (консольная программа, скрипт.)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Программа (софтина) дающая на выходе html файл содержащий список файлов определенной директории.
Объясню для чего нужно. Есть локальная сеть, внутри которой есть файловый сервер. Как на каждом сервере куча файлов, так вот нужно парсить папку к примеру video и выводить html файл с содержимым этой папки.

Вот как делает, это программа TreeDIR в windows.
Изображение
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Goodvin »

Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Т.е. берем этот код.

Код: Выделить всё

#! /bin/bash
:;
while [ $? -eq 0 ]; do
nc -vlp 8080 -c '(
read a b c
z=read
while [ ${#z} -gt 2 ]; do
read z
done
f=`echo $b|sed 's/[^a-z0-9_.-]//gi'`
h="HTTP/1.0";o="$h 200 OK\r\n";c="Content"
if [ -z $f ]; then
(echo $o
ls -1|(while read n; do
if [ -f "$n" ]; then
echo "`ls -gh "$n"`"
fi
done);
);
elif [ -f $f ]; then
echo "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`"
echo
cat $f
else echo -e "$h 404 Not Found\n\n404\n"
fi)'
done


И в httpd.conf прописать путь к директории?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Может, мой http-файлсервер пригодится?
Показывает содержимое директорий с размером файлов, позволяет перемещаться из директории в директорию, скачивать и закачивать файлы.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

eddy писал(а):
12.04.2010 16:03
Может, мой http-файлсервер пригодится?
Показывает содержимое директорий с размером файлов, позволяет перемещаться из директории в директорию, скачивать и закачивать файлы.


Интересно, а показать или инструкцию где взять по сборке и установке?
Скачал ваш http файловый сервер, кинул в нужную директорюю.
# Files by HTTP

Код: Выделить всё

<VirtualHost 192.168.10.10:8080>
    ServerName dumpfiles
    DocumentRoot /backup/mysqldumpfull
    AddDefaultCharset on
    AddDefaultCharset KOI8-R
    ErrorLog /var/log/httpd/8080_error.log
    CustomLog /var/log/httpd/8080.log combined
<Directory /backup/mysqldumpfull>
    AuthType Basic
    AuthName "Authorization for access to mysqldump files"
    AuthUserFile /backup/mysqldumpfull/.htpasswd
    Require valid-user
    Options +FollowSymLinks
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 192.168.10.1
</Directory>
</VirtualHost>


Дальше захожу вижу
Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Voler писал(а):
12.04.2010 16:14
Интересно, а показать или инструкцию где взять по сборке и установке?

Вы это у кого спрашиваете?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

eddy писал(а):
12.04.2010 17:31
Voler писал(а):
12.04.2010 16:14
Интересно, а показать или инструкцию где взять по сборке и установке?

Вы это у кого спрашиваете?


У вас, смотрю ваш продукт

Код: Выделить всё

<VirtualHost 192.168.10.10:8080>
    ServerName dumpfiles
    DocumentRoot /backup/mysqldumpfull
    AddDefaultCharset on
    AddDefaultCharset KOI8-R
    ErrorLog /var/log/httpd/8080_error.log
    CustomLog /var/log/httpd/8080.log combined
    ScriptAlias /cgi-bin/ "/backup/mysqldumpfull/"
<Directory /backup/mysqldumpfull>
    AuthType Basic
    AuthName "Authorization for access to mysqldump files"
    AuthUserFile /backup/mysqldumpfull/.htpasswd
    Require valid-user
    Options +FollowSymLinks
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 192.168.10.1
</Directory>
</VirtualHost>

Подправил не много. А то писал ошибку /cgi-bin/ не мог найти.

Но файлы в директории не кажет, хотя права доступа chmod 0755
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Voler писал(а):
12.04.2010 17:37
У вас, смотрю ваш продукт

Если хотите, завтра могу залить более свежую версию и одним тарболом (у меня на работе есть, сейчас на работу идти не хочется, все-таки, выходной, а по ssh за трафик платить придется).

Устанавливать просто:
  • создаете директорию /var/www/tmp/Incoming с доступом пользователю apache на запись;
  • копируете куда-нибудь в корень html или другую директорию файл index.html, и в корень - style.css (в принципе, и без него работать будет);
  • компилируете все сишные файлы (в скобочках на ссылках указано, как должны называться выходные бинарники);
  • копируете эти бинарники в свой /cgi-bin;
  • в тексте html заменяете обращение к cgi на адрес своего сервера.

Да, если у вас кодировка не КОИ-8, то надо убрать преобразование имени файла из юникода в КОИ в index.html.

Voler писал(а):
12.04.2010 17:37
Но файлы в директории не кажет, хотя права доступа chmod 0755

Директорию /var/www/tmp/Incoming с правами 755 для apache сделали?

В итоге будет выглядеть вот так:
Изображение
css-кой можете внешний вид изменить.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Интересно. Если не сложно, залейте плиз.
Ща вот пишет другую ошибку
Изображение
Все хорошо, но я бы вынес директории и кодировку в отдельную опцию, или перменную. Но для этого нужно хорошо погонять ваш скрипт, и для начала заставить работать.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Voler писал(а):
12.04.2010 18:03
Ща вот пишет другую ошибку

Какие права у /var/www/tmp/Incoming и вышестоящих директорий?
Плюс, создайте в ней каких-нибудь файлов с доступом на запись для apache (или под каким у вас пользователем httpd запущен).
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Так работать заставил, теперь осталось навести порядок убрать все не нужное. И самое главное, а как скачать?
/Incв каких метсах присутствует? И что она задает? Потому что если сменить, ее то не работает даже листниг файлов. А если не трогать то листинг работает, но при этом есть проблема со скачкой. Потому что если нажимаю на файл, то пишет не могу открыть файл в директории /Inc
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Честно говоря, уже и не помню, что там с этим Inc'ом было. Кажется, это синоним для /var/www/tmp/Incoming.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Если это синоним, то как лучше сделать чтобы работало? Не удивительно, что не помнишь :unsure: . Потому что столько всего делать приходится, что я вот ща тоже изучу добъюсь нужно и забуду. Потому комментировать нам нужно свою работу.
Вот работает, но скачать не могу. Пишет ошибку The requested URL /Inc/pro_2010-02-09_10.tar.gz was not found on this server.
Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

В общем, попробуйте в httpd.conf добавить alias /Inc /var/www/tmp/Incoming и описать эту директорию в <directory>.

Я сейчас дома попробую все это установить, напишу, как получилось.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Заработало. Вы были правы. Я могу добавить у себя на сайте заметку про ваш продукт?

Код: Выделить всё

<VirtualHost 192.168.10.10:8080>
    ServerName dumpfiles
    DocumentRoot /backup/mysqldumpfull
    AddDefaultCharset on
    AddDefaultCharset KOI8-R
    ErrorLog /var/log/httpd/8080_error.log
    CustomLog /var/log/httpd/8080.log combined
    ScriptAlias /cgi-bin/ "/backup/mysqldumpfull/"
    Alias /Inc/ "/backup/mysqldumpfull/"
<Directory /backup/mysqldumpfull>
    AuthType Basic
    AuthName "Authorization for access to mysqldump files"
    AuthUserFile /backup/mysqldumpfull/.htpasswd
    Require valid-user
    Options +FollowSymLinks
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 192.168.10.1
</Directory>
</VirtualHost>


Еще, где убрать перекодировку. По тому как UTF-8 стоит? Что от куда удалить?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Voler писал(а):
12.04.2010 19:06
Я могу добавить у себя на сайте заметку про ваш продукт?

Конечно.
Voler писал(а):
12.04.2010 19:06
Еще, где убрать перекодировку. По тому как UTF-8 стоит? Что от куда удалить?

Уберите в html-файле массив utf2koi и замените функцию hexdump:

Код: Выделить всё

function hexdump(str){
    var ret = "";
    var l = str.length;
    var i, ch, code;
    for(i=0; i<l; i++){
        ch = str.charCodeAt(i);
        ch = ch.toString(16);
        ret += "%" + ch;
    }
    return ret;
}

Да, и придется, наверное, перелопачивать сишные файлы, т.к. юникодные символы, вроде бы, в w_char должны быть...
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение drBatty »

Voler писал(а):
12.04.2010 14:54
Вот как делает, это программа TreeDIR в windows.

если не нужна заливка файлов, то такое делается тривиальной комбинацией ls|sed
(которая генерит файлик index.html для каждого подкаталога)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

drBatty писал(а):
14.04.2010 15:09
если не нужна заливка файлов, то такое делается тривиальной комбинацией ls|sed

В этом случае еще проще для нужных директорий Indexes прописать :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Вариант, интересный. Нужно подумать. Пока времени нет.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение drBatty »

eddy писал(а):
14.04.2010 15:19
В этом случае еще проще для нужных директорий Indexes прописать

да. но вариант ls|sed может всё раскрасить и вообще добавить красивостей.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Да но готового решения, нет. А потому нужно время, а его нет. Мне нужно это просто для совмещения связки доступа к файлам на шаре samba + ftp + apache. Если у кого есть инфа, про ls | sed готов изучить и доработать. А с нуля времени нет.
Т.е. Доступ к файлам в одной папке возможен как FTP, так и обычной share.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Моими скриптами вы еще и заливку файлов на сервер обеспечить сможете. Только лучше не используйте скрипт для удаления файлов, т.к. поддержку прав на файлы я еще не реализовал (честно говоря, еще и не думал, как это сделать).
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение Voler »

Планирую эту кнопку убрать. А так, ищу дальше потому как нужен способ раскраски по типу файлов.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Voler писал(а):
15.04.2010 07:45
нужен способ раскраски по типу файлов.

Можно, конечно, "выдрать" из file исходник magic и сделать определение типа файла, как там. Но это сильно раздует исходники. Да и выделение-то в html можно сделать лишь жирным (а я так уже директории выделяю), курсивом или подчеркиванием - не сильно-то и разгуляешься. Выделять цветом смысла нет, т.к. я, например, игнорирую цвета веб-страниц в настройках браузеров (жалею свои глаза).
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение drBatty »

eddy писал(а):
15.04.2010 09:38
Выделять цветом смысла нет, т.к. я, например, игнорирую цвета веб-страниц в настройках браузеров (жалею свои глаза).

я тоже жалею - от раскрашенного глаза устают не так сильно...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Может так:
drBatty писал(а):
15.04.2010 15:57
я тоже жалею - от не раскрашенного глаза устают не так сильно...

?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение drBatty »

eddy писал(а):
15.04.2010 17:05
Может так:
drBatty писал(а):
15.04.2010 15:57
я тоже жалею - от не раскрашенного глаза устают не так сильно...

?

нет.
тривиальный пример: я открываю длинный и подробный конфиг. Если он не раскрашен, то мне придётся его внимательно читать, глаза напрягать... А так я с первого взгляда вижу раскрашенные опции среди комментов. А найти в комментах - тоже не проблема, все поиски у мну с раскраской. Даже sed ;)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Соф-на дающая на выходе html файл опр. дир-рии

Сообщение eddy »

Так одно дело с конфигами, и совсем другое - html-странички с попугайскими расцветками. Вот сравните,
с нормальными цветами:
Изображение
и с попугайскими:
Изображение.
А ведь каждый сайт еще и разукрашивают по-своему, кто во что горазд. Так лучше, когда все одинакового нормального для восприятия цвета, чем как во втором вырвиглазном варианте :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали: