LINUX.ORG.RU

Кроссплатформенный терминальный клиент WindTerm 2.0

 , ,


3

1

Доступен новый релиз WindTerm – клиента для протоколов SSH/Sftp/Shell/Telnet/Serial.

WindTerm Image

WindTerm полностью бесплатнен как для коммерческого, так и некоммерческого использования. Весь опубликованный на текущий момент исходный код предоставляются на условиях лицензии Apache-2.0. Исключение составляет код сторонних разработчиков.

WindTerm является проектом с частично открытым исходным кодом, и исходный код будет постепенно открываться.

Возможности версии 2.0:

Основные возможности:

  • Поддержка популярных протоколов: SSH v2, Telnet, Raw TCP, Serial, Shell.
  • Поддержка прямого, обратного и динамического проброса портов.
  • Поддержка оболочек Windows: Cmd, PowerShell and Cmd, PowerShell as administrator.
  • Поддержка оболочек Linux: bash, zsh, powershell core.

Полный список изменений

>>> WindTerm



Проверено: pon4ik ()
Последнее исправление: demidrol (всего исправлений: 8)

Ответ на: комментарий от kukura

офигенные исходники, а если быть точным – их отсутствие, 10/10 дайте ноль

anonymous
()
Ответ на: комментарий от samy_volosaty

WindTerm is a partial open source project, and the source will be gradually opened.

и зачем оно без всех исходников? наверно в том, что ещё не открыли ужос полный.

Причина полностью личная:

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

Не каждый разработчик так хорошо разбирается в технологиях и менеджменте, как Линус Бенедикт Торвальдс. Автор просто производитель инструментов, не надеется и не разбирается в управлении, а только надеется сосредоточиться на технологиях. Так уж получилось, что и WindTerm, и WindEdit могут быть выполнены самим разработчиком.

Инструмент для одного человека более последователен и гармоничен в дизайне и функциях. Кроме того, разработчик планирует и думает о a и b уже более десяти лет, поэтому у него достаточно технологий, дизайна и общего планирования.

Проект с открытым исходным кодом не так хорош, как ожидалось. За исключением нескольких хорошо известных проектов, большинство менее известных мне проектов мертвы. Особенно инструменты. Потому что никто не хочет развиваться. Прекращенные проекты терминалов с открытым исходным кодом включают upterm, finalterm и т. Д.

Кроме того, инструмент ssh с открытым исходным кодом очень опасен. Вредоносный код, который крадет имена пользователей и пароли, будет легко добавлен и скомпилирован для загрузки ничего не подозревающими пользователями. Как и во многих русских версиях PuTTY, существует множество бэкдоров. Многие пользователи не очень бдительны. Разработчики предпочли бы иметь больше недоразумений и меньше пользователей, потому что нет открытого исходного кода, и не хотели бы, чтобы пользователи страдали из-за этого.

Некоторые из основных кодов использовались в некоторых коммерческих проектах, и их трудно разделить.

kukura
() автор топика

kukura, ну как так-то? Новость совершенно невозможно читать, и я не понимаю, зачем ее вообще выпустили.

1. Что за хрень с лицензией? Вроде бы опенсорс — но такой опенсорс, что аж идите вы на хрен?

2. Что за код сторонних разработчиков? Можно было и написать.

3. Опиши словами, что ты делаешь с вводом символов в полях юзернейма и пароля, это несложно.

4. Что такое «Поддержка туннелей принимает только локальные подключения»?

5. Про скорость и «более лучшесть» — давай критерии и бенчмарки, иначе это просто пустой звон.

6. Правилом хорошего тона считается указать зависимости (или хотя бы используемый тулкит).

demidrol ★★★★★
()
Ответ на: комментарий от anonymous

Как и всегда - единственный юзабельный под форточки. :-) Ну в смысле - для скучной работы, а не для *****

PuTTY действительно хорошая и очень стабильная. Если у вас не так много хозяев, это хороший выбор.

kukura
() автор топика

у меня глаза кровью проблевались как только я это увидел

bernd ★★★★★
()
Ответ на: комментарий от kukura

Так уж получилось, что и WindTerm, и WindEdit могут быть выполнены самим разработчиком.

Разработчики предпочли бы иметь больше недоразумений и меньше пользователей

У меня появилось подозрение, что Вы автор программы и русский язык для вас не родной. Это так??

hobbit ★★★★★
()
Ответ на: комментарий от demidrol

Извините, пожалуйста, простите меня за первую доставку новостей. Я сделаю улучшение в следующий раз, когда доставку новостей.

  1. Что за хрень с лицензией? Вроде бы опенсорс — но такой опенсорс, что аж идите вы на хрен?

WindTerm полностью бесплатен, но частично с открытым исходным кодом.

  1. Что за код сторонних разработчиков? Можно было и написать.
  2. Опиши словами, что ты делаешь с вводом символов в полях юзернейма и пароля, это несложно.

Я просто считаю, что видео должно быть легче читать, чем текст.

  1. Что такое «Поддержка туннелей принимает только локальные подключения»?

принимает только Loop back address(Например, 127.0.0.1)

  1. Про скорость и «более лучшесть» — давай критерии и бенчмарки, иначе это просто пустой звон.

Это просто новости, на домашней странице есть тестовые данные, вы можете их прочитать. Sftp Performance, Terminal Performance, Linux Terminal Performance

  1. Правилом хорошего тона считается указать зависимости (или хотя бы используемый тулкит).

Спасибо за напоминание. В файле license.txt пакета загрузки WindTerm подробно перечислены все сторонние библиотеки и инструменты.

kukura
() автор топика
Ответ на: комментарий от kukura

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

А по первому вопросу? :)

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от anonymous

Серьезно? Ну, вашу мать, настоящий opensource.ru ))) Ладно, я на неделе гляну - мне для этого придется мала-мала стенд развернуть, где весь этот синтаксический сахар сделан в рамках более широкой задачи. Выложу профайл, он делает жизнь не совсем болью

BydymTydym
()
Ответ на: комментарий от hobbit

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

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

Это мой русский очень беден? Я знаю, что умным людям это легко увидеть.

kukura
() автор топика

When typing, the username will be displayed as mask characters instead of the characters actually entered.
When displayed, only the first character of the username is displayed, and the remaining characters are displayed with *.

наркоман, я сейчас милицию вызову

colok
()
Ответ на: комментарий от anonymous

Впрочем, я уже полез и нашел профиль, поэтому живи теперь с этим.

В C:\Windows\System32\WindowsPowerShell\v1.0\ кладешь файлик, который называешь Profile.ps1

Содержимое:

function func-edit ($file) { & "C:\Program Files\Notepad++\notepad++.exe" $file }
function func-far { & "C:\Program Files\Far Manager\Far.exe" $pwd $pwd }
function func-ed ($file) { & "C:\Program Files\Far Manager\Far.exe" /e $file }
function func-cds { Set-Location "C:\Windows\Setup\Scripts" }

function func-color-ls
{
    $regex_opts = ([System.Text.RegularExpressions.RegexOptions]::IgnoreCase `
          -bor [System.Text.RegularExpressions.RegexOptions]::Compiled)
    $fore = $Host.UI.RawUI.ForegroundColor
    $compressed = New-Object System.Text.RegularExpressions.Regex(
          '\.(7z|bz2|xz|zip|tar|gz|rar|jar|war|cab|iso)$', $regex_opts)
    $executable = New-Object System.Text.RegularExpressions.Regex(
          '\.(exe|bat|cmd|py|pl|ps1|psm1|vbs|rb|reg)$', $regex_opts)
    $msi_files = New-Object System.Text.RegularExpressions.Regex(
          '\.(msi|mst|msp|)$', $regex_opts)
    $media_files = New-Object System.Text.RegularExpressions.Regex(
          '\.(png|jpg|jpeg|bmp|ico|tif|tiff|gif|mov|avi|mp3|mpg|mpeg)$', $regex_opts)
    $tmp_files = New-Object System.Text.RegularExpressions.Regex(
          '\.(tmp|bak|old)$', $regex_opts)

    Invoke-Expression ("Get-ChildItem $args") | ForEach-Object {
        if ($_.GetType().Name -eq 'DirectoryInfo') 
        {
            $Host.UI.RawUI.ForegroundColor = 'DarkCyan'
            echo $_
            $Host.UI.RawUI.ForegroundColor = $fore
        }
        elseif ($compressed.IsMatch($_.Name)) 
        {
            $Host.UI.RawUI.ForegroundColor = 'DarkRed'
            echo $_
            $Host.UI.RawUI.ForegroundColor = $fore
        }
        elseif ($executable.IsMatch($_.Name))
        {
            $Host.UI.RawUI.ForegroundColor = 'Green'
            echo $_
            $Host.UI.RawUI.ForegroundColor = $fore
        }
        elseif ($msi_files.IsMatch($_.Name))
        {
            $Host.UI.RawUI.ForegroundColor = 'Yellow'
            echo $_
            $Host.UI.RawUI.ForegroundColor = $fore
        }
        elseif ($media_files.IsMatch($_.Name))
        {
            $Host.UI.RawUI.ForegroundColor = 'Magenta'
            echo $_
            $Host.UI.RawUI.ForegroundColor = $fore
        }
        elseif ($tmp_files.IsMatch($_.Name))
        {
            $Host.UI.RawUI.ForegroundColor = 'DarkGray'
            echo $_
            $Host.UI.RawUI.ForegroundColor = $fore
        }
        else
        {
            echo $_
        }
    }
}

# Console only, not ISE
if ($host.Name -eq 'ConsoleHost')
{
  Import-Module PSReadLine
  #Import-Module PowerTab
  Set-PSReadlineOption -HistorySaveStyle SaveAtExit

  Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
  Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
  
  Set-PSReadlineKeyHandler -Key Ctrl+a -Function BeginningOfLine
  Set-PSReadlineKeyHandler -Key Ctrl+e -Function EndOfLine
  
  Set-PSReadlineKeyHandler -Key Ctrl+k -Function DeleteToEnd
  Set-PSReadlineKeyHandler -Key Ctrl+u -Function DeleteLineToFirstChar
  Set-PSReadlineKeyHandler -Key Ctrl+w -Function BackwardKillWord

  Set-PSReadlineKeyHandler -Key Shift+PageUp -Function ScrollDisplayUp
  Set-PSReadlineKeyHandler -Key Shift+PageDown -Function ScrollDisplayDown

  Set-PSReadlineKeyHandler -Key Ctrl+Insert -Function Copy
  Set-PSReadlineKeyHandler -Key Ctrl+Shift+c -Function Copy
  Set-PSReadlineKeyHandler -Key Shift+Insert -Function Paste
  Set-PSReadlineKeyHandler -Key Ctrl+Shift+v -Function Paste
  
  Set-PSReadlineKeyHandler -Key Ctrl+d -Function DeleteCharOrExit
}

Set-Location C:\

$Shell = $Host.UI.RawUI
$Size = $Shell.WindowSize
$Size.Width = 1000
$Size.Height = 36

$Buf = $Shell.BufferSize
$Buf.Width = 120
$Buf.Height = 3000

$HistoryFilePath = Join-Path ([Environment]::GetFolderPath('UserProfile')) .ps_history
Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null
if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History }

Remove-Item Alias:ls
Set-Alias ls func-color-ls
Set-Alias far func-far
Set-Alias ed func-ed
Set-Alias edit func-edit
Set-Alias cds func-cds

Вся мякотка в «Import-Module PSReadLine». Я щас не вспомню - оно от рождения есть в Win10|16 или пришлось что-то ставить, но это должно выгугливаться на 1-2-3. Ну и алиасы всякие сам себе правь, естественно - в моем случае это минимальный минимум, чтобы по месту систему доконфигурить было можно без мучений. По аналогии шорткаты выгугливаются и высматриваются в справке довольно свободно, я поместил в свое время только то, без чего совсем прям нехорошо было

BydymTydym
()
Ответ на: комментарий от colok

Поддержка ProxyCommand, ProxyJump Strictly speaking, ProxyCommand is not implemented in WindTerm

Да, строго говоря, ProxyCommand относится к подключению к stdin и stdout командной программы, а WindTerm подключается к сокету другого сеанса ssh, поэтому разница все еще есть, но поскольку ProxyCommand используется в качестве прокси в большинстве случаев, функции точно такие же. Таким образом, этот термин по-прежнему используется для облегчения понимания пользователями.

kukura
() автор топика
Ответ на: комментарий от BydymTydym

C:\Windows\System32\WindowsPowerShell\v1.0\ кладешь файлик, который называешь Profile.ps1

Ты ~/.bashrc тоже кладешь куда-нибудь в /etc? Создай домашний $profile.

New-Item $profile -Force
notepad $profile
. $profile
anonymous
()
Ответ на: комментарий от BydymTydym

при всем моем уважении, WindTerm может легче выполнять некоторые функции. Например, отобразите цвет в соответствии с именем файла, откройте файл конфигурации terminal\schemes\powershell\powershell.lexer и измените path:

"path": {
	"patterns": [
		{
			"match": "(?i)\\.(7z|bz2|xz|zip|tar|gz|rar|jar|war|cab|iso)\\b",
			"name": "token.error-token.powershell"
		},
		{
			"match": "(?i)\\.(exe|bat|cmd|py|pl|ps1|psm1|vbs|rb|reg)\\b",
			"name": "token.success-token.powershell"
		},
		{
			"match": "(?i)\\.(png|jpg|jpeg|bmp|ico|tif|tiff|gif|mov|avi|mp3|mpg|mpeg)\\b",
			"name": "token.warn-token.powershell"
		},
		{
			"match": "(?i)\\.(tmp|bak|old)\\b",
			"name": "token.info-token.powershell"
		},
		{
			"match": "(?<n>[\\x21-\\xff\\._-]++){0}(\\.\\.?[\\\\/]|\\b[a-zA-Z]:[\\\\/]|//)(\\g<n>[\\\\/]?)*+|\\b[a-zA-Z]:",
			"name": "entity.name.filename.find-in-files.powershell"
		},
	]
},

Я думаю, что использование WindTerm вместо скриптов дает некоторые преимущества. Например, соответствие регулярных выражений в WindTerm является асинхронным, что означает, что даже если ls выводит десятки тысяч файлов, раскраска не будет заморожена. Кроме того, нет необходимости менять Профиль. ps1 для каждой машины и так далее.

kukura
() автор топика
Ответ на: комментарий от anonymous

Ты ~/.bashrc тоже кладешь куда-нибудь в /etc? Создай домашний $profile.

Конечно нет. Считай это аналогом /etc/bash.bashrc, ибо конкретно этот случай во время установки системы делался, а я ничего при копировании менять не стал - без проверки легко слегка накосячить, а проверять мне сейчас неохота

BydymTydym
()
Ответ на: комментарий от kukura

Это всё конечно здорово. Но лично я в своих проектах для Win заинтересован тем, чтобы постороннего софта был минимум. Сложно обосновывать каждую новую программу в списке по ряду причин

BydymTydym
()
Ответ на: комментарий от kukura

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

э….. ну, это вендо-проблемы. конечно можно бэкдор и в исходники… ( vsftpd-2.3.4 тому пример)

Прекращенные проекты терминалов с открытым исходным кодом включают upterm, finalterm

а зачем терминал на электроне?

samy_volosaty ★★★★★
()
Ответ на: комментарий от anonymous

по моему, если уж пользоваться где виндой, то проще cygwin поставить, и тогда никакого putty и т.п. не надо. даже far тогда не нужен :-)

samy_volosaty ★★★★★
()
Ответ на: комментарий от BydymTydym

Это всё конечно здорово. Но лично я в своих проектах для Win заинтересован тем, чтобы постороннего софта был минимум. Сложно обосновывать каждую новую программу в списке по ряду причин

Если вы не хотите устанавливать больше программного обеспечения, то использование сценариев действительно является наиболее подходящей альтернативой.

kukura
() автор топика
Ответ на: комментарий от colok

кто? я по-вашему плохо понимаю

Извините, я признался не тому человеку. Поскольку вы процитировали Strictly speaking, ProxyCommand is not implemented in WindTerm, я подумал, что вы Twink:p

kukura
() автор топика
Ответ на: комментарий от samy_volosaty

а зачем терминал на электроне?

Нет, мне не нужен терминал на электроне. Это просто пример инструментов, от которых все еще отказываются, несмотря на то, что они имеют открытый исходный код.

Хотя электроне выглядит хорошо, он не подходит для терминал. Как только выход будет быстрым, производительность электроне не будет идти в ногу. Потребление памяти также может быть проблемой. Кроме того, эффективность электроне для расчета компоновки длинных строк текста также очень низка, поэтому VsCode ограничивает отображение каждой строки не более чем 10 000 символами.

kukura
() автор топика
Ответ на: комментарий от kukura

Извините, потому что каждая команда ввода

Вам не нужно извиняться, поскольку и я и автор сообщения, на которое вы ответили имели ввиду Windows Terminal.

:D

ssh2 ★★★★★
()
Ответ на: комментарий от ssh2

Вам не нужно извиняться, поскольку и я и автор сообщения, на которое вы ответили имели ввиду Windows Terminal.

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

kukura
() автор топика
Ответ на: комментарий от gosha36

Шрифты как то можно менять в этой программе?

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

kukura
() автор топика
Последнее исправление: kukura (всего исправлений: 1)
Ответ на: комментарий от gosha36

Программа нужная хорошая, для линукса ничего годного в этом плане нет, есть только это - https://electerm.github.io/electerm/ но оно на электроне

Спасибо, WindTerm запрограммирован на C++, с большим упором на производительность и использование памяти. Я верю, что это вас не разочарует.

kukura
() автор топика
Последнее исправление: kukura (всего исправлений: 1)
Ответ на: комментарий от pon4ik

интересен исключительно моделью распостранения

А что в ней интересного? То, что исходники открыты частично? Ну, скажем, случай не самый частый, но и не уникальный, можно тот же Вивальди вспомнить. Или ты про другое?

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

man WSL (WSL2)

Все и так работает. Без весла и цигвина.

anonymous
()
Ответ на: комментарий от anonymous

Ох ты динозавр :) man WSL (WSL2)

а зачем мне это? если я завожу винду раз в месяц, чтобы иногда что-то собрать для кого-нибудь.

samy_volosaty ★★★★★
()
Ответ на: комментарий от anonymous

Давай, давай!

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

BydymTydym
()
Ответ на: комментарий от hobbit

Именно про это. Интересно, насколько резко меняется отношение сообщества, когда даже почти всё открыто и хакабельно, но при этом не всё:)

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Именно про это. Интересно, насколько резко меняется отношение сообщества, когда даже почти всё открыто и хакабельно, но при этом не всё:)

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

kukura
() автор топика

1. посоветуйте рабочий ssh клиент для windows mobile 6.5

2. почему я не смог отправить этот комментарий из ie для windows mobile 6.5? :) оно показывает лор, позволяет логиниться, позволяет отвечать, но сколько не нажимаешь «отправить», оно всё равно делает только предпросмотр

alt-tab-let ★★
()
Ответ на: комментарий от kukura

WindTerm разработан на основе WindEdit.
(... идём на гитхаб ...)
Support huge files upto TBytes.
Support very long lines upto GBytes.
Support vscode syntaxes.
Support vscode themes.
Configurable fold, pair, indent, outline, complete, mark and so on.

Звучит интересно, думал заценить, но по сцылке вместо исходников — лишь пара скриншотов и ридмишка. Это ж нечестная реклама! (ц)

Если есть возможность, я надеюсь, что третья сторона захочет протестировать WindTerm.

К сожалению, закрыв исходники, вы сами лишаете «третью сторону» такой возможности.

danfe
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.