GoTTY - Pin Ebute Linux Rẹ (TTY) bi Ohun elo Wẹẹbu kan
GoTTY jẹ ohun elo laini aṣẹ orisun orisun GoLang ti o fun ọ laaye lati pin ebute rẹ (TTY) bi ohun elo wẹẹbu kan. O yipada awọn irinṣẹ laini aṣẹ si awọn ohun elo wẹẹbu.
O gba iṣẹ emulator ebute (OS) fun ṣiṣe OS OS (hterm) lati ṣe ebute JavaScript ti o da lori awọn aṣawakiri wẹẹbu kan. Ati pe pataki, GoTTY n ṣiṣẹ olupin iho oju opo wẹẹbu kan eyiti o n gbe gbigbejade lati TTY si awọn alabara ni ipilẹṣẹ ati gba ifitonileti lati ọdọ awọn alabara (iyẹn ni pe a gba igbanilaaye lati ọdọ awọn alabara) ati siwaju si TTY.
Itumọ faaji rẹ (ero iho iho hterm + wẹẹbu) jẹ atilẹyin nipasẹ eto Wetty eyiti o jẹ ki ebute lori HTTP ati HTTPS.
O yẹ ki o ni agbegbe ti GoLang (Ede siseto) ti fi sori ẹrọ ni Linux lati ṣiṣẹ GoTTY.
Bii O ṣe le Fi GoTTY sori Awọn Ẹrọ Lainos
Ti o ba ti ni agbegbe GoLang ti n ṣiṣẹ, ṣiṣe lọ gba aṣẹ ni isalẹ lati fi sii:
# go get github.com/yudai/gotty
Aṣẹ ti o wa loke yoo fi sori ẹrọ alakomeji GoTTY ninu oniyipada agbegbe GOBIN rẹ, gbiyanju lati ṣayẹwo boya iyẹn jẹ ọran naa:
# ls $GOPATH/bin/
Bii O ṣe le Lo GoTTY ni Lainos
Lati ṣiṣe rẹ, o le lo iyipada GOBIN env ki o paṣẹ ẹya-ara ipari-laifọwọyi bi atẹle:
# $GOBIN/gotty
Ni omiiran, ṣiṣe GoTTY tabi eyikeyi eto Go miiran laisi titẹ ọna ni kikun si alakomeji, ṣafikun oniyipada GOBIN rẹ si PATH ninu faili ~/.profile
nipa lilo pipaṣẹ si ilẹ okeere ni isalẹ:
export PATH="$PATH:$GOBIN"
Fipamọ faili naa ki o pa. Lẹhinna fa faili lati ṣe awọn ayipada loke:
# source ~/.profile
Iṣeduro gbogbogbo fun ṣiṣe awọn aṣẹ GoTTY ni:
Usage: gotty [options] <Linux command here> [<arguments...>]
Nisisiyi ṣiṣe GoTTY pẹlu aṣẹ eyikeyi bii aṣẹ df lati wo aaye awọn ipin disiki eto ati lilo lati ẹrọ lilọ kiri lori ayelujara:
# gotty df -h
GoTTY yoo bẹrẹ olupin wẹẹbu kan ni ibudo 8080 nipasẹ aiyipada. Lẹhinna ṣii URL naa:
Bii O ṣe le Ṣe akanṣe GoTTY ni Lainos
O le paarọ awọn aṣayan aiyipada ati ebute rẹ (hterm) ninu faili profaili ~/.gotty
, yoo kojọpọ faili yii nipasẹ aiyipada bi o ba wa.
Eyi ni faili isọdi akọkọ ti a ka nipasẹ awọn ofin gotty, nitorinaa, ṣẹda bi atẹle:
# touch ~/.gotty
Ati ṣeto awọn iye to wulo ti ara rẹ fun awọn aṣayan atunto (wa gbogbo awọn aṣayan atunto nibi) lati ṣe akanṣe GoTTY fun apẹẹrẹ:
// Listen at port 9000 by default port = "9000" // Enable TSL/SSL by default enable_tls = true // hterm preferences // Smaller font and a little bit bluer background color preferences { font_size = 5, background_color = "rgb(16, 16, 32)" }
O le ṣeto faili index.html tirẹ nipa lilo aṣayan --index
lati laini aṣẹ:
# gotty --index /path/to/index.html uptime
Bii o ṣe le Lo Awọn ẹya Aabo ni GoTTY
Nitori GoTTY ko pese aabo ti o gbẹkẹle nipasẹ aiyipada, o nilo lati lo pẹlu ọwọ awọn ẹya aabo kan ti a ṣalaye ni isalẹ.
Akiyesi pe, ni aiyipada, GoTTY ko gba awọn alabara laaye lati tẹ titẹ sii sinu TTY, o nikan jẹ ki atunṣe window ṣe.
Sibẹsibẹ, o le lo aṣayan -w
tabi - Gba-kọ
aṣayan lati gba awọn alabara laaye lati kọwe si TTY, eyiti a ko ṣe iṣeduro nitori awọn irokeke aabo si olupin.
Aṣẹ atẹle yoo lo vi olootu laini aṣẹ lati ṣii faili fossmint.txt fun ṣiṣatunkọ ninu ẹrọ lilọ kiri lori ayelujara:
# gotty -w vi fossmint.txt
Ni isalẹ ni wiwo vi bi a ti rii lati aṣawakiri wẹẹbu (lo awọn pipaṣẹ vi nibi bi o ti ṣe deede):
Gbiyanju lati mu siseto idanimọ ipilẹ ṣiṣẹ, nibiti a yoo nilo awọn alabara lati ṣagbewọle orukọ olumulo ati ọrọ igbaniwọle ti a ṣalaye lati sopọ si olupin GoTTY.
Aṣẹ ti o wa ni isalẹ yoo ni ihamọ iraye si alabara nipa lilo aṣayan -c
lati beere lọwọ awọn olumulo fun awọn iwe-ẹri ti o daju (orukọ olumulo: idanwo ati ọrọ igbaniwọle: @ 67890):
# gotty -w -p "9000" -c "test:@67890" glances
Ọna miiran ti ihamọ wiwọle si olupin naa jẹ nipa lilo aṣayan -r
. Nibi, GoTTY yoo ṣe agbekalẹ URL alailẹgbẹ ki awọn olumulo nikan ti o mọ URL le ni iraye si olupin naa.
Tun lo ọna kika -aṣayan-ọrọ “GoTTY - {{.Command}} ({{.Hostname}})” aṣayan lati ṣalaye akọle wiwo awọn aṣawakiri wẹẹbu ati aṣẹ awọn iwoju ni a lo lati fihan awọn iṣiro ibojuwo eto:
# gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Atẹle yii jẹ abajade aṣẹ ti o wa loke bi a ti rii lati wiwo ẹrọ lilọ kiri lori ayelujara:
Nitori ni aiyipada, gbogbo awọn isopọ laarin olupin ati awọn alabara ko ni paroko, nigbati o ba firanṣẹ alaye ikoko nipasẹ GoTTY gẹgẹbi awọn iwe eri olumulo tabi alaye miiran, o ni lati lo -t
tabi - -tls
aṣayan eyiti o jẹ ki TLS/SSL ṣiṣẹ lori igba:
GoTTY yoo ka aiyipada ka faili ijẹrisi naa ~/.gotty.crt
ati faili bọtini ~/.gotty.key
, nitorinaa, bẹrẹ nipa ṣiṣẹda ijẹrisi ti a fowo si ti ara ẹni daradara bi faili bọtini ni lilo aṣẹ openssl ni isalẹ (dahun ibeere ti o beere lati ṣe agbekalẹ cert ati awọn faili bọtini):
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
Lẹhinna lo GoTTY ni ọna aabo pẹlu SSL/TLS ti ṣiṣẹ bi atẹle:
# gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
O le lo pipaṣẹ kokan (rii daju pe o ti fi sori ẹrọ tmux):
# gotty tmux new -A -s gotty glances
Lati ka faili atunto oriṣiriṣi, lo aṣayan -config “/ path/to/file” bii bẹ:
# gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Lati ṣe afihan ẹya GoTTY, ṣiṣe aṣẹ naa:
# gotty -v
Ṣabẹwo si ibi-ipamọ GoTTY GitHub lati wa awọn apẹẹrẹ lilo diẹ sii: https://github.com/yudai/gotty
Gbogbo ẹ niyẹn! Njẹ o ti gbiyanju? Bawo ni o ṣe rii GoTTY? Pin awọn ero rẹ pẹlu wa nipasẹ fọọmu esi ni isalẹ.