LINUX.ORG.RU

tinycmd — ввод нескольких символов вместо длинной команды в консоли

 


0

1

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

Гораздо проще в таких случаях просто попросить человека открыть терминал и набрать определённую строчку команд. Но как именно это сделать, если человек плохо знаком со столь привычными нам компьютерными понятиями? Если диктовать по телефону, то ему может быть сложно искать спец. символы на клавиатуре, и он может расставлять пробелы не в том месте, а если использовать текст, то может потребоваться сначала объяснить ему, что такое буфер обмена, и как выделять и копировать текст, а потом разбираться, почему команда не работает (а потом выяснить, что человек, например, скопировал команду целиком, за исключением последнего символа).

Только что я закончил работу над сервисом tinycmd. Этот сервис позволяет сокращать целую строчку команд до всего лишь нескольких символов, которые нужно набрать в терминале, и нажать Enter.

Такая команда может выглядеть например так:

t zx48v7

Здесь t — это команда tinycmd.

Помимо варианта с удалённой помощью сервис можно использовать для презентаций или мастер-классов, либо когда нужно написать для кого-либо инструкцию на бумаге.

Для того, чтобы добавить новую команду, которая становится доступна с любого компьютера, где установлен tinycmd, достаточно зайти на tinycmd.org.

И ещё доступен исходный код на Гитхабе. Поэтому tinycmd можно установить и использовать даже там, где по каким-то причинам невозможен доступ в Интернет, но есть, например, локальная сеть.

>>> Сайт tinycmd

Это такой «продвинутый» pastebin-like сервис?

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

> Это такой «продвинутый» pastebin-like сервис?

В некотором смысле.

Но если использовать так pastebin для передачи команды — то это будет как использовать тот же pastebin для передачи ссылки (которую всё равно придётся оттуда копировать и вставлять в адресную строку браузера).

Это тоже вариант, но есть tinyurl. И есть tinycmd. :)

MaGIc2laNTern ()

Если там всё не будет подписано кучей ключей, то одна ошибка — и может исполняться всё, что угодно. А если тебе надоест, домен выкинешь, его кто-нибудь перекупит, и расположит там свою базу? Т.е. в теперешнем варианте там хоть ключами подписано, для гарантии того, что генерить скрипты можешь только ты, и никто более, даже если URL будет скомпроментирован?

А вообще — превед, трояны. :-)

kid_lester ()

Нафиг это убожество нужно?

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

> Это такой «продвинутый» pastebin-like сервис?

Это такой продвинутый аналог однострочника на перле.

geekless ★★ ()

>Если диктовать по телефону, то ему может быть сложно искать спец. символы на клавиатуре, и он может расставлять пробелы не в том месте

Если для работы этого сервиса всё равно нужен тырнет - гораздо удобнее и надёжнее перекинуть ему команду в IM-клиент или по почте, ими сейчас все свободно пользуются.

Если диктовать по телефону - я думаю зачастую удобнее будет продиктовать команду, чем какую-ть невнятную «zx48v7», ошибись случайно на один символ и можешь исполнить какую-ть лабудень.

Да и сама идея доверять какому-то левому сервису исполнять на своей машине команды по мне неприемлима по безопасности.

И лично меня бесят эти модные сокращатели ссылок. Зачастую читаешь форум, хочешь пойти по ссылке, а она истекла или сервис закрылся. При этом сам ресурс куда она ссылается вполне вероятно доступен.

Короче, такой сервис не нужен.

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

>тот же pastebin для передачи ссылки (которую всё равно придётся оттуда копировать и вставлять в адресную строку браузера).

Ты не путай, что если сервис url выдаст лабудень - ничего страшного. А если левую команду у себя исполнить - может быть полный ахтунг.

anonymous ()

Автору надо t 148 выполнить.

Shaman007 ★★★★★ ()

таки троянами пахнет сей сервис

lokley ()

А предпросмотр команд можно сделать?

krakatau ()

Есть подозрение, что если человек не может ввести пару команд с ключами по диктовку, то tinycmd он поставить не осилит. И зачем такому вообще *nix?

anonymous_sama ★★★★★ ()

Если нет инета - нет и этой хрени. Если есть инет - есть SSH. ЗАЧЕМ?!
И потом, вообразить себе, что где-то есть блондинка с линуксом, у которой есть проблема, которую она может внятно описать (чтобы её можно было решить по телефону), и при этом она не умеет копипастить, может только человек с ОЧЕНЬ богатой фантазией. Не могу себе представить, какая ситуация могла сподвигнуть нормального здорового человека на написание такой бессмысленной и беспощадной дребедени.

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

>Есть подозрение, что если человек не может ввести пару команд с ключами по диктовку, то tinycmd он поставить не осилит

Не гони, всё просто. Сначала нужно продиктовать её эту команду:
wget http://tinycmd.org/t && chmod 755 t && sudo mv t /usr/local/bin/

anonymous ()

Можно подумать, такую клинопись проще запомнить.

history|grep ещё никто не отменял.

LucidFox ()

Прикручивай донат к своему сервису - будешь мне на лечение глаз собирать.

kernelpanic ★★★★★ ()

ну вообще ничего так, интересная задумка.
НО, почему на сервисе нет возможности проверить ссылку...

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

да и с локальным ПО, как то бы поаккуратнее тчо ли =)

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

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

не плохо было бы, если бы сервис блокировал заведомо вредоносные комманды еще на этапе их передачи на сервис...

тип того.. ты ему: rm -rf /*
а он тебе: Отказано в доступе.

тогда бы суть не усложнилась, а проблем сс безопасностью было бы гораздо меньше. но организовать это, яно дело - сложнее

а с t на клинте, например... ты ему пишешь t 145, а он показывает полносью комманду и таймаут в 3-5 секунд для отмены, если что =)

как то так я думаю...

mCoRN ()

Сервис этот ещё и команды записывает заново, которые уже там есть. Вы бы сделали проверку на то, есть идентичная команда в базе или нет, зачем rm -rf / хранить по несколько раз?

anonymous ()

На самом деле, такая штука хороша, чтобы сделать её при автозагрузке для livecd, т.е. прописал tinycmd=pupkin и сразу получил готовую среду. Но для этого надо:

1. гарантии безопасности. действительные гарантии безопасности, что в случае компроментации домена никто не сможет закинуть туда свои команды

2. буфер для временных файлов, хотя бы килобайт 100, было бы неплохо.

3. легко запоминаемые имена. или группами по 4 цифры, без букв, типа 1234-5678 или 1274-1231-1241-1241, или выбираемые пользователем.

Если автору интересно, то могу предложить интегрироваться своему livecd http://002.deb6.ru с этим сервисом, чтобы юзер мог иметь туда-сюда настройки на livecd, но только в случае соблюдения первых трёх заповедей.

kid_lester ()

>t 17v

Однострочник на tinycmd

devl547 ★★★★★ ()

Для сокращения команд есть алиасы. Чтоб использовать субж всё равно нужно RTFM.

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

Если человек осилит набрать wget, то не думаю, что есть препятствия продиктовать по телефону. Если что-то не понятно можно код/команды на pastebin забросить/послать по смс. И таки да sudo на той системе может и не быть.

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

>такая штука хороша, чтобы сделать её при автозагрузке для livecd

ещё лучше заделать в автозапуск или в свежеустановленную систему openssh-server + контакт-лист с техподдержкой. При запуске ключ/пароль отправляется в техподдержку вместе с уведомлением о подключении.

anonymous ()

выполни то не знаю что ^_^

muhas ★★★ ()

Прикольно! Добавил в закладки.

adepto ()

Кто интересно первым вбил t 19y

AlexVR ★★★★★ ()

Думается, через денек-другой все возможные коды будут забиты вариациями rm -rf /

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

Re: А предпросмотр команд можно сделать?

Так набираем http://tinycmd.org/cs/{id}/ для просмотра в браузере, или

> curl http://tinycmd.org/cs/{id}/text/ && echo
в консоли

З.Ы.: Только там уже столько неадеквата валяется..

AlexVR ★★★★★ ()

Думается, через денек-другой все возможные коды будут забиты вариациями rm -rf /

Банально, настоящие хакеры делают так

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от whiiteliites

сервис видимо дает разные сокращения одинаковым командам

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

> зачем rm -rf / хранить по несколько раз?
А что, там уже что-то кроме него появилось?

Lonli-Lokli ★★ ()

тег прочитал как «костыль».

по теме: задумка интересная но если есть инет то способов передать полную команду вагон и целая тележка, а вот если инета нет то 1. прога эта ни в одном дистрибе не идет, до сайта доступа нет и т.д. и весь смысл теряется 2. сокращенную ссылку нельзя развернуть в полную команду и «привет трояны» 3. генерация сокращения делается я так понял не по содержимому и на rm -rf / может быть 100500 ссылок. Идея интересна, реализация просто уг.

genetic_error ()

почему нельзя нажать alt+f2 и уже там пользователь наберет все что нужно?

nexus86 ()

А какая комбинация запустит однострочник™ на Перле?

Smacker ★★★ ()

идея - неплоха
реализация - ужасна

вывод: пилите, шура, пилите. А мы посмотрим :D

Pinkbyte ★★★★★ ()

Если...

может потребоваться сначала объяснить ему, что такое буфер обмена, и как выделять и копировать текст


... то что вообще эта обезьяна собралась делать с ЭВМ?

Cancellor ★★★★☆ ()

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

RedPossum ★★★★★ ()

Идея отличная. Есть несколько идей, как это развивать:

Лучше не выдавать номера команд подряд, т.к. будут повторы, а сделать хэш-таблицу. И скрипт проверяет только ответы HTTP 404, 500, 200, было бы неплохо добавить ещё остальные, 500 заменить на x>=500 && x<600 и добавить вариант «другой ответ». Или сервер другие ответы давать не может технически?

И ещё можно запилить автоматическое обновление: если кто-то установил скрипт в ~/bin, то у него будут права на запись (если он их не отберёт у себя, чтобы не обновлялось), тогда можно автоматически качать с сервера новую версию и перезаписывать (с созданием бэкапа). Когда это будет в каком-нибудь репозитории, это установится в /usr/bin, и будет обновляться только с помощью менеджера пакетов, т.к. установится без права на запись. [Тут ещё один момент - если запускать под рутом, то записать он сможет даже без права на запись, поэтому надо проверять права вручную.]

И, конечно же, нужен предпросмотр команд: чтобы скрипт напечатал команду на консоль, юзер проверил, то ли это (не опечатался ли), потом нажал [Y] и команда запустилась.

gentoo_root ★★★★★ ()

Там же небось процентов девяносто пять команд - «однострочники на перле», любезно предоставленные посетителями лора. И если блондинка, ни дай боже, ошибется в буковке/циферке то rm -rf гарантирован.
А после такого блондинка вряд ли даст.

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