Перейти к публикации
Форум - ComputerCraft
LeshaInc

OpenFTP — простой FTP клиент

Рекомендованные сообщения

А где лайк Тоторо? :smile25:

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прогрессбар - можно было и точками сделать. Как в NIX-системах. По-типу : Loading . . . . . . . . . . . . . . .                   . 72%

Изменено пользователем davial

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...Потому написал я FTP клиент для OpenComputers...

Браво!

Еще бы telnet или ssh, и все барьеры сняты.

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все барьеры будут сняты, как только TLS станет доступен :) Или как только я разберусь, как он вообще работает...

 

Прогрессбар - можно было и точками сделать. Как в NIX-системах. По-типу : Loading . . . . . . . . . . . . . . .                   . 72%

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

 

А где лайк Тоторо? :smile25:

Ещё занят в такое время, наверное :)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Еще бы OpenFTP-сервер...

Кто нибудь возьмёт всю power в руки, и напишет. Я уже пишу кое что, может Лешка заинтересуется, а может ты сам напишешь, а может кто то другой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
setFG(0xFF0000)
print("Connection lost.")
setFG(0xFFFFFF)
...
if code >= 100 and code < 200 then
  codeColor = 0x0000FF
elseif code >= 200 and code < 300 then
  codeColor = 0x00FF00
elseif code >= 300 and code < 400 then
  codeColor = 0xFFFF00
else
  codeColor = 0xFF0000
end
...
io.write(data.code)
setFG(0x666999)
io.write(data.isLast and " " or "-")
setFG(0xFFFFFF)
io.write(data.text .. "\n")
...

Мб тогда в начале сделать:

local prFG
...
function cwrite(text:string, fg:number)
  if isColored then
    prFG = gpu.getForeground() -- точно не помню, могу ошибаться
    gpu.setForeground(fg)
    print(text)
    gpu.setForeground(prFG)
  else
    print(text)
  end
end
...

Или переопределить функцию print похожим образом, через io.write(text + "\n").

 

Тогда можно использовать cwrite("Connection lost.", 0xFF0000).

Изменено пользователем Saintmare

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще бы OpenFTP-сервер...

 

OpenComputers умеет только открывать TCP сокеты, а вот создавать TCP слушателя он не может, к сожалению. Я думаю такое искусственное ограничение создано дабы облегчить нагрузку на сервер. Он и так держит соеденение с кучей клиентов, если к этому добавить OpenComputers он вообще грохнется. =)

 

 

...

 

Как то не подумал об этом >_<. Ну вобщем будет что то вроде такого когда я буду налаживать кроссплатформеность OpenFTP. А имено: plan9k. На этой операционке клиент запускается, но багает прогрессбар и цветной-убер вывод. Пока правда, к сожалению прогрессбар не получаается починить, тут уж проблема в самой plan9k - не может он выводить юникод из за бага. (Говорил об этом с создателем plan9k).

 

 

Браво!

Еще бы telnet или ssh, и все барьеры сняты.

 

telnet реализовать будет не так уж и сложно, а вот с ssh проблемы обеспечены. ssh работае поверх tls сокетов, кои OpenComputers не поддерживает. Потому нужно с ними разбираться, курить тонны rfc-шек и просить помощи у "больших дяденек". =)

Да и скорее всего ssh такой будет требовать дата-карту, ибо tls использует aes шифрование.

Изменено пользователем LeshaInc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

OpenComputers умеет только открывать TCP сокеты, а вот создавать TCP слушателя он не может, к сожалению. Я думаю такое искусственное ограничение создано дабы облегчить нагрузку на сервер. Он и так держит соеденение с кучей клиентов, если к этому добавить OpenComputers он вообще грохнется. =)

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Иногда нужно скачать большое количество файлов с FTP сервера. Это затруднительно, когда дело доходит до OpenComputers, потому что FTP клиента попросту нет.

Отличная программка. Но практически никто не будет поднимать фтп сервер, чтобы скачать "большое" кол-во файлов в майнКомпуктер. И папки целиком оно же не качает? Когда у кого может наступить такая ситуация? :)

 

Отдельный лайк за прогресс бар, но лучше сделать точечки, как предложил Давиал - сильно аляписто там та лепешка смотрится в консольке. У apple, и то точечки, а тут в ОС-ке каком-то "графон")

Также высока вероятность при игровом процессе угона учетки от фтп (как и в майнОси ECS от ВК) Такие проги чреваты для майна нехорошими последствиями чисто гипотетически. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

..никто не будет поднимать фтп сервер.. ..высока вероятность .. угона учетки..

Есть тьма публичных фтп помоек хранилищ и проблема кражи логопары, в данном случае, неактуальна.

 

А так да, верно подмечено, и было бы хорошим тоном выводить дисклеймер в программе, типа "Ввод логопары небезопасен!!1111 Страх и риск, бла-бла-бла!111"

 

p.s. точечки рулят

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×