Библиотека эмуляции VT100 в C # с SharpSSH - PullRequest
2 голосов
/ 28 июня 2010

Я возился с Tamir.SharpSsh и хотел посмотреть, возможно ли использовать его для полной реализации консольного SSH-клиента в C #. Я не имею в виду что-то вроде putty, где он на самом деле работает в собственном графическом интерфейсе, но что-то, что вы можете запустить прямо из консоли windows cmd.

Библиотека довольно хорошая, за исключением того, что она никак не обрабатывает эмуляцию терминала. Поэтому, используя SshShell, вы можете выполнять некоторые базовые действия, но результат часто бывает очень уродливым и полон случайных символов, и вы не можете взаимодействовать с такими вещами, как сценарии оболочки и т. Д.

Насколько я могу судить, SharpSSH просто перенаправляет IO на консольный IO.

Насколько сложно было бы перенаправить это в другое место и обработать эмуляцию терминала? Кроме того, уже есть библиотека эмуляции (предпочтительно C # и с открытым исходным кодом), которую я мог бы использовать?

Редактировать: Отказ от SharpSSH, см. Ответ ниже для окончательного решения, которое я придумал.

Ответы [ 2 ]

2 голосов
/ 15 июля 2010

Я фактически отказался от попыток использовать SharpSSH. Это хорошая библиотека, но ей просто не хватало общей функциональности. Сейчас я использую библиотеку под названием Granados , которая является гораздо более полной реализацией SSH. Он имеет встроенную модель событий (в отличие от SharpSSH, которая в основном включает в себя споры с потоками), что делает использование очень простым.

Что касается эмуляции терминала ... Гранадос на самом деле является ядром другого проекта с открытым исходным кодом, который называется Poderosa .

Poderosa - это полноценное приложение эмулятора терминала, которое может подключаться к ssh, telnet и даже к вашей локальной установке cygwin.

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

1 голос
/ 15 июля 2010

Я ищу то же самое. Здесь есть библиотека , которая стоит 700 долларов. Нашел еще один на codeproject , который выглядит дрянным, но может быть хорошим началом И здесь есть неполная реализация stackoverflow . Все еще в поиске ..

...