All streams
Search
Write a publication
Pull to refresh

Comments 30

Это вы сейчас "vim ssh_config" навелосипедили?

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

А почему бы и не делиться, особенно если это довольно полезное поделие? Это же не какой-то HelloWorld или очереднй ToDo-app. Да, аналоги наверное есть, но и свой юзер на такое найдётся. Я до сегодняшнего дня не видел TUI'шных SSH-клиентов подобного рода, а это было бы лично мне очень удобно, т.к. я, как и автор, часто обитаю в терминале и подключаюсь к разным хостам. Я думал сделать что-то подобное, тоже на Go, но как-то и не ушло дело дальше дум. Теперь наверное буду пользоваться этим.

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

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

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

Положительной практикой для разработчика является писать код без всякой на то причины))

Конечно выкладывай

я даже не заметил что хабр съел кодблок..

универсальный для bash и zsh
sshv() {
    HOSTS=$(awk '/^Host / {for(i=2;i<=NF;i++) print $i}' ~/.ssh/config ~/.ssh/config.d/*.conf 2>/dev/null | grep -v '\*')

    SSH_HOST=$(echo "$HOSTS" | fzf --preview "$(cat <<'EOF'
host={}
CONFIG=""
[ -f ~/.ssh/config ] && CONFIG="$CONFIG
$(cat ~/.ssh/config)"
[ -d ~/.ssh/config.d ] && CONFIG="$CONFIG
$(cat ~/.ssh/config.d/*.conf 2>/dev/null)"
[ -f /etc/ssh/ssh_config ] && CONFIG="$CONFIG
$(cat /etc/ssh/ssh_config)"
[ -d /etc/ssh/ssh_config.d ] && CONFIG="$CONFIG
$(cat /etc/ssh/ssh_config.d/*.conf 2>/dev/null)"

echo "$CONFIG" | awk -v host="$host" '
    BEGIN{show=0}
    /^Host / {
        show=0
        for(i=2;i<=NF;i++) if($i==host) show=1
    }
    show==1 {
        print
        next_line=$0
    }
    /^$/ && show==1 {show=0}
' | bat -l ssh_config --style=plain --color=always
EOF
)" \
    --height=50% \
    --margin="2%,15%,2%,2%" \
    --layout=reverse-list \
    --border="rounded" \
    --color=dark,fg:magenta)

    if [ -n "$SSH_HOST" ]; then
        if [ "$1" = "-e" ]; then
            FILE_LINE=$(grep -n "^Host .*\\b$SSH_HOST\\b" ~/.ssh/config ~/.ssh/config.d/*.conf 2>/dev/null | head -n1)
            FILE=$(echo "$FILE_LINE" | cut -d: -f1)
            LINE=$(echo "$FILE_LINE" | cut -d: -f2)
            nano +${LINE},1 "$FILE"
        else
            echo "Connecting to $SSH_HOST"
            ssh "$SSH_HOST"
        fi
    fi
}

SCP поддерживается в MC и Far2l - оба есть для macos и гораздо удобнее лазания в консоли. MC вообще в консоли работает, в Far2l есть опция для работы в консоле

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

Как же, сейчас витает в воздухе идея, тут по этой теме много обсуждений, если реализуете, то почёт и уважуха будут МАКСимальные ;)

Open-source клиент мессенджера Макс

На мой взгляд, такой пет проект (в целях которого обозначено, делаю для себя или по фану) достоин большего внимания, чем решение уровня enterprise, в котором разработчик не осилил конфиги или мануал, и пытается высосать ТЗ из пальца.

Спасибо за честность!

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

Это на каком языке написано?

По моему скромному мнению, весьма полезная публикация. Автору - успехов!

brew install --cask misha

Warning: Cask 'misha' is unavailable: No Cask with this name exists.

Мне нравится название клиента! Очень милое

Сам пользуюсь wishlist у charmbracelet

Скрытый текст

Фиолетовый gopher в очках - вылитый Цезий (https://2x2tv.ru/series/comedy/atomnyy-les/characters/%D1%81eziy/)

Sign up to leave a comment.

Articles