Пишу, по большей части, про историю, свою жизнь и немного про программирование.

JS-FTPD, снова Opera on FD и нечто на Перле

JS-FTPD

Пару дней назад, размышляя на тему PS-HTTPD, я вдохновился написать что-нибудь серверное, причем на каком-нибудь языке, совершенно для этого не предназначенном. И, как всегда, под рукой ничего, кроме JavaScript, не оказалось.

В качестве платформы я выбрал Netscape Commucator. JavaScript, как и PS, не имеет встроенных средств для работы с сокетами. Так что мне их пришлось «заимствовать» у Java, благо, что технология LiveConnect от Netscape позволяет это сделать.

Таким образом, пообщавшись телнетом с War-FTP и убив на всё два вечера, я получил вполне рабочий однопользовательский JS-FTPD.

  • Количество пользователей, обслуживаемых одновременно: 1;
  • Максимальная скорость передачи: 3Кб/сек;
  • Порт для подключения: 40001;
  • Поддержка докачки: есть;
  • Поддержка пассивного режима (RFC 1579): есть;
  • Поддержка OPTS и FEAT (RFC 2389): есть;
  • Поддерживаемые комманды: USER, PASS, QUIT, SYST, PWD, PORT, LIST, CWD, MODE (S), TYPE, RETR, SIZE, REST, OPTS, FEAT, NOOP, STRU (F), PASV, MDTM, CHUP.

Для запуска сервера нужно создать на диске C: каталог «Server» (его содержимое сервер будет показывать) и, открыв страничку под NC 4.xx¹, нажать на кнопку «Start».

Потом, настроив FTP-клиент² на соединение с адресом 127.0.0.1 через порт 40001, можно будет подключиться к серверу.

¹ Испытано под NC 4.7 и NC 4.75.
² Испытано под NC 4.7, 4.75, IE 5.0, 5.5SP1, Opera 5.02, FAR 1.70b2 FTP, FAR ProxyFTP 1.7r2.

Меня попросили выложить мой вариант «Opera on FD» куда-нибудь поближе. Выкладываю на Chat.ru. Качать тут.

На закуску. Программа на языке Perl, выводящая на экран «another Perl hacker». Найдено у DiBR’a.

$\='`'|"'";$\++;$;='/'|'`';$;++;$;++;$;++;$,=$;;$,++;$/=$,;$/++;$:=$/;$:++;
$_='%'|'`';$_.='`'|'#';$_.=$\;$_.='`'|'/';$_.=$".'"';$_.='@'|'*'&~'!';
$_.="$:$,$/".$";$_.='`'|'!';$_.='`'|'.';$_.='/'|'`';$_.=$/.$\;$_.='%'|'`';
$_.=$;.$";$_.='@'|':'&~'*';$_.='`'|'%';$_.=$;;$_.='`'|',';$_.=$".$\;
$_.='`'|'!';$_.='#'|'`';$_.='+'|'`';$_.='`'|'%';$_.=$;.'"'.$".'>&';
$_.=$,&':';`$_`;

Красота, неправда ли? :)