Следующая страница > 1 < [2]

Автор Сообщение

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2715   2010-08-15 01:40 GMT+3 часа(ов)      
Сегодня вечером начал писать FTP-сервер. Мощные возможности Рэкета позволили создать каркас сервера всего за 5 минут и сосредоточится на реализации ftp-команд.

Если кому-то интересно, то можете присоединиться к разработке.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#2716   2010-08-15 23:09 GMT+3 часа(ов)      
я, я!!! Знаний ноль, но есть желание! Интересен код, буду читать, тестить, если надо, писать документацию, выложу на доступный универский сервак.
I wish I'd made you angry earlier

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2719   2010-08-16 23:34 GMT+3 часа(ов)      
Свежий(текущий) исходник(ftp-server.rkt).

1) Сохраните его в файле с расширением .rkt
2) Откройте его в редакторе DrRacket.
3) Нажмите кнопку 'Выполнить'.
После успешного запуска сервера в окне интерпретатора появится сообщение "DrRacket", а также будет создана директория "ftp-dir"(по умолчанию). Наполните её 'хламом'. Выполните в окне интерпретатора
(stop)
Так Вы будете останавливать сервер!
4) Перезапустите сервер.
5) В командной строке(bash, cmd) запустите утилиту ftp с параметрами:
ftp -d localhost
6) Используйте анонимный логин(например, ftp). На текущий момент сервер поддерживает только возможность просмотра каталогов в активном режиме. Для этого выполните команду ftp-клиента ls. Например,
ls
ls /
и подобные.
И конечно же bye и quit для завершения работы ftp-клиента.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2723   2010-08-17 23:04 GMT+3 часа(ов)      
Еще один вариант запуска сервера:
racket -i -t ftp-server.rkt

Теперь к серверу подключается FileZilla. Пока что работа с файловой системой возможна в режиме только для чтения.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#2726   2010-08-18 16:51 GMT+3 часа(ов)      
Ну, моего скудоумия хватило, чтобы у себя пока запустить. Всё работает, правда, в последнем релизе с кодировочкой проблемы. Filezila не отображает каталоги. Хотя, сами всё знаете.
I wish I'd made you angry earlier

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2729   2010-08-19 17:42 GMT+3 часа(ов)      
>Всё работает, правда, в последнем релизе с кодировочкой проблемы.
Эта проблема уже решена.

>Filezila не отображает каталоги.
В результате тестирования выяснилось, что Filezila ведет себя довольно странно: иногда посылает запросы серверу в ASCII, а иногда в Unicode кодировке. Поэтому Filezil-у смените на WinSCP, если Вы запускаете сервер в Windows.

отредактировал(а) misha: 2010-08-19 18:03 GMT+3 часа(ов)

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2730   2010-08-19 18:01 GMT+3 часа(ов)      
Обновите исходник.

1) Сохраните его в файле с расширением .rkt(например, ftp-server.rkt).
2) Удалите каталог ftp-dir, если он есть.
3) Если Вы работаете в Windows, которая имеет русскую локализацию(cp1251), то Вам необходимо раскомментировать в конце исходника строку
(set! ftp-locale-encoding "cp1251")

4) Откройте исходник в редакторе DrRacket и нажмите кнопку 'Выполнить'.
Или запустите в shell(cmd): racket -i -t ftp-server.rkt

Чтобы добавить файлы или создать каталоги используйте ТОЛЬКО ftp-клиент. По умолчанию анонимные пользователи не могут что-либо создавать.

Сервер позволяет:
1) Добавлять и редактировать файлы (нужны соответствующие права)
2) Создавать каталоги (нужны соответствующие права)
3) Удалять файлы и каталоги (нужно быть их владельцем)
4) Изменять права на файлы и каталоги (не зависит от ОС, нужно быть их владельцем)

отредактировал(а) misha: 2010-08-19 18:23 GMT+3 часа(ов)

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2731   2010-08-19 18:49 GMT+3 часа(ов)      
Исходник разделен на три части: основную и две вспомогательные.

В виде списка:

    1) Основная часть библиотеки
    2) Control. Она необходима для удобного тестирования сервера.
    3) Test. Без нее не возможен запуск сервера в тестовом режиме.

Для админа представляет интерес третья часть(Test).
Её вид:
;(set! ftp-locale-encoding "cp1251")
(add-ftp-user "anonymous" "anonymous" "" "/" "anonymous")
(add-ftp-user "ftp" "anonymous" "" "/" "anonymous")
(add-ftp-user "usr" "simple usr" "usr" "/" "racket")
(run)

run - запуск сервера.
add-ftp-user - это функция добавляет нового пользователя.
(add-ftp-user "Логин" "Полное имя пользователя" "Пароль"
"Домашний каталог" "Группа")

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#2732   2010-08-19 22:48 GMT+3 часа(ов)      
Ок. При первом запуске выдаёт ошибку, что папка уже существует.
Функционал работате, только при попытке смены прав у скопированного файла говорит, что файл или папка не найдены.(для созданных в клиенте всё проходит гладко).
I wish I'd made you angry earlier

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2734   2010-08-19 23:35 GMT+3 часа(ов)      
>Ок. При первом запуске выдаёт ошибку, что папка уже существует.
А Вы сделали все как я писал, т.е. удалили существующую папку ftp-dir?

>Функционал работате, только при попытке смены прав у скопированного файла говорит, что файл или папка не найдены.
Для обеспечения работоспособности "виртуальной" файловой системы сервера в папку ftp-dir нельзя ничего копировать в ручную, т.е. работать нужно только с помощью ftp-клиента.

А Вы могли бы писать более детально? Текущий функционал сервера еще толком не тестировался и для меня необходима более подробная информация. Вполне возможно Вы обнаружили баг.

Благодарю за проявленный интерес и проделанную работу!

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2742   2010-08-22 15:37 GMT+3 часа(ов)      
Обновите исходник.

Для установки и запуска повторите приведенную ранее последовательность действий.

Чтобы добавить файлы или создать каталоги используйте ТОЛЬКО ftp-клиент.

Сервер позволяет:
1) Добавлять и редактировать файлы (нужны соответствующие права)
2) Создавать каталоги (нужны соответствующие права)
3) Удалять файлы и каталоги (нужно быть их владельцем)
4) Перемещать (переименовывать) файлы и каталоги (нужно быть их владельцем)
5) Изменять права на файлы и каталоги (не зависит от ОС, нужно быть их владельцем)


Реализация в деталях:
1) Многопоточность, т.е. сервер позволяет обслуживать одновременно несколько подключений.
2) Реализованы активный и пассивный режимы.
3) Unix подобная виртуальная файловая система.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2743   2010-08-22 15:42 GMT+3 часа(ов)      
И еще, я снял существовавшие ранее ограничения, поэтому сейчас сервер просто "летает")

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2747   2010-08-24 00:25 GMT+3 часа(ов)      
Обновите исходник.

Для установки и запуска повторите приведенную ранее последовательность действий.
Обязательно удалите каталог ftp-dir.

Текущая версия тестировалась на клиентах FileZilla, WinSCP, SmartFTP. Новая виртуальная файловая система обеспечивает 15%-20% прирост скорости при копировании большого количества мелких файлов по сравнению с предыдущей версией.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2764   2010-08-25 19:31 GMT+3 часа(ов)      
Обновите исходник.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#2779   2010-08-27 20:43 GMT+3 часа(ов)      
It is alive! Я думал, он по жизни тормоз)
Респект, теперь действительно летает)
I wish I'd made you angry earlier

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2780   2010-08-27 22:19 GMT+3 часа(ов)      
В принципе, все что нужно я уже реализовал) Теперь буду потихоньку допиливать)

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#2782   2010-08-28 00:57 GMT+3 часа(ов)      
Гы) строгал мужичок челночок, а вышла уховёртка.
I wish I'd made you angry earlier

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2792   2010-09-03 16:44 GMT+3 часа(ов)      
Обновите исходник.

Теперь можно для каждого пользователя(ей) создавать отдельный корневой каталог.
Новые параметры функции add-ftp-user (добавляет нового пользователя):
(add-ftp-user "Полное имя пользователя" "Логин" "Пароль" 
"Группа" (list "Домашний каталог" ...)
"Имя корневого каталога")
Если имя корневого каталога опустить, то по умолчанию в качестве корневого каталога будет выбран ftp-dir.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2793   2010-09-03 17:16 GMT+3 часа(ов)      
Запускать сервер из DrRacket как-то не эстетично, поэтому рекомендую создать батник(run.bat). Зачем? Во-первых увеличится скорость начальной загрузки сервера, а также несколько вырастет скорость его работы.

А для запуска сервера в линуксе достаточно ввести
racket -i -t ftp-server.rkt

отредактировал(а) misha: 2010-09-03 18:38 GMT+3 часа(ов)

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2804   2010-09-05 03:39 GMT+3 часа(ов)      
Я откомпилировал под win последние(не опубликованные) исходники.

Если желаете протестировать, то можете скачать архив.

Сервер не имеет каких-либо внешних зависимостей! Кроме Windows)

Для запуска сервера необходимо выполнить ftp-server.exe. Для остановки, перезапуска и завершения работы сервера нужно использовать control.exe.

Настройки хранятся в папке conf. Возможность ведения логов еще толком не реализована.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2834   2010-09-12 21:31 GMT+3 часа(ов)      
Теперь это самостоятельный проект RFTPd.

Он состоит из двух частей: библиотеки для конструирования FTP серверов и сервера с интерфейсом управления.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#2849   2010-09-14 17:18 GMT+3 часа(ов)      
Я добавил README на русском.

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

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3666   2010-12-12 17:26 GMT+3 часа(ов)      
Вышла новая альфа-версия. И как обычно: нужны новые разработчики и бета-тестеры.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3709   2010-12-16 22:34 GMT+3 часа(ов)      
Выпустил еще одну альфа-версию, к сожалению, на полноценное тестирование не хватает времени.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3724   2010-12-18 03:29 GMT+3 часа(ов)      
Скоро выйдет новая альфа с возможностью вывода сервером локализованных ответов (rfc2640)! Пока только на русском и английском языках. Вы можете принять участие в локализации!

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3790   2010-12-27 01:30 GMT+3 часа(ов)      
Выложил новую альфа-версию. Полностью реализована поддержка IPv6 (rfc2428 ). А также сервер поддерживает неявные соединения TLS/SSL, правда, только в пассивном режиме.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3793   2010-12-27 01:43 GMT+3 часа(ов)      
Нужна ли сборка под Linux?

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3802   2010-12-28 19:06 GMT+3 часа(ов)      
При тестировании обнаружил ряд багов, поэтому выложил отлаженную версию.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3857   2011-01-15 23:31 GMT+3 часа(ов)      
Вышла новая бета-версия.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#3954   2011-02-18 15:07 GMT+3 часа(ов)      
Вы можете принять участие в тестировании новой версии(1.1.6), для этого необходимо иметь ftp-клиент с поддержкой пассивного режима передачи данных (например, FileZilla, gFTP и др.).

Хост сервера 81.177.159.170 порт 21.
Логин и пароль: usr


Могу добавить учетную запись, если Вам нужен личный онлайн архив.


Онлайн :

0 пользователь(ей), 13 гость(ей) :




Реклама на сайте: