Вход для пользователей

Вебсервер одной строкой на Bash

Изображение пользователя CORPSE.

Есть много способов поделится файлами с друзьями, например поднять у себя HTTP сервер, но устанавливать что то желания нет, данный скриптик поможет вам реализовать задуманное за пару секунд. Простой HTTP Сервер написанный на Bash который занимает всего одну строчку…

Код скрипта приведен ниже:
Код:

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

После запуска по URL http://ваш_ip:8080/ можно получить доступ ко всем файлам, находящимся в текущим каталоге. Очевидных и прямолинейных способов сменить каталог нет. Протестировано и работает под Linux, bash 3.2.13, и с хоббитовским netcat v1.10 с поддержкой опции -с (запустите netcat -h и посмотрите. Как минимум в Ubuntu, Debian и Fedora Core такая опция есть).

Источник: http://alexey.sveshnikov.ru/blog/2007/08/30/bash-httpd-2/

Комментарии

Изображение пользователя xapienz.

ващще круто. спасибо большое буду уметь)
___________________________
вот так!

Изображение пользователя Manefesto.

боян

Изображение пользователя D3viL.

Прикольно. попробовал - понравилось.

===>

О, великий Манефеста, снизойди до нас!
Научи уму разуму, напиши какой нибудь адский не боян, чтоле!1 (:

Изображение пользователя Manefesto.

Читал это давно.....полгода назад

Изображение пользователя xapienz.

этот скрипт иногда обновляется (так на сайте-источнике написано), так что полгода назад было уже не то
___________________________
вот так!

Изображение пользователя MT.

Прикольная штука, запомню :)

Изображение пользователя CORPSE.

2 xapienz, D3viL, MT: рад, что понравилось. :)

[root@brain root]# mount /dev/hands /mnt/ass -o nosuid,umask=000

Изображение пользователя CORPSE.

P.S.: А вот под моим любимым альтом в неткате опции -c нету... А собирать лениво... :)

[root@brain root]# mount /dev/hands /mnt/ass -o nosuid,umask=000