GoTTY - Shiriki Kituo chako cha Linux (TTY) kama Programu ya Wavuti


GoTTY ni zana rahisi ya mstari wa amri ya GoLang ambayo hukuwezesha kushiriki terminal yako(TTY) kama programu ya wavuti. Inabadilisha zana za mstari wa amri kuwa programu za wavuti.

Inatumia emulator ya mwisho ya Mfumo wa Uendeshaji wa Chrome (hterm) kutekeleza terminal inayotegemea JavaScript kwenye vivinjari vya wavuti. Na muhimu zaidi, GoTTY huendesha seva ya soketi ya wavuti ambayo kimsingi huhamisha pato kutoka kwa TTY hadi kwa wateja na kupokea maoni kutoka kwa wateja (hiyo ni ikiwa ingizo kutoka kwa wateja linaruhusiwa) na kuipeleka kwa TTY.

Usanifu wake (wazo la tundu la wavuti + la hterm) lilitokana na programu ya Wetty ambayo inawezesha terminal kupitia HTTP na HTTPS.

Unapaswa kuwa na mazingira ya GoLang (Go Programming Language) iliyosanikishwa kwenye Linux ili kuendesha GoTTY.

Jinsi ya Kufunga GoTTY kwenye Mifumo ya Linux

Ikiwa tayari unayo mazingira ya kufanya kazi ya GoLang, endesha go get amri hapa chini ili kuisakinisha:

# go get github.com/yudai/gotty

Amri hapo juu itasanikisha binary ya GoTTY katika utofauti wa mazingira wa GOBIN, jaribu kuangalia ikiwa ndivyo ilivyo:

# ls $GOPATH/bin/

Jinsi ya kutumia GoTTY kwenye Linux

Ili kuiendesha, unaweza kutumia GOBIN env kutofautisha na kuamuru kipengele cha kukamilisha kiotomatiki kama ifuatavyo:

# $GOBIN/gotty

La sivyo, endesha GoTTY au programu nyingine yoyote ya Go bila kuandika njia kamili ya mfumo wa jozi, ongeza kigezo chako cha GOBIN kwenye PATH katika faili ya ~/.profile kwa kutumia amri ya kuuza nje hapa chini:

export PATH="$PATH:$GOBIN"

Hifadhi faili na uifunge. Kisha chanzo faili ili kutekeleza mabadiliko hapo juu:

# source ~/.profile

Syntax ya jumla ya kuendesha amri za GoTTY ni:

Usage: gotty [options] <Linux command here> [<arguments...>]

Sasa endesha GoTTY na amri yoyote kama vile df amri ya kutazama nafasi ya kizigeu cha diski ya mfumo na utumiaji kutoka kwa kivinjari cha wavuti:

# gotty df -h

GoTTY itaanzisha seva ya wavuti kwenye bandari 8080 kwa chaguo-msingi. Kisha fungua URL: http://127.0.0.1:8080/ kwenye kivinjari chako cha wavuti na utaona amri inayoendesha kana kwamba inaendeshwa kwenye terminal yako:

Jinsi ya Kubinafsisha GoTTY katika Linux

Unaweza kubadilisha chaguo-msingi na terminal yako (hterm) katika faili ya wasifu ~/.gotty, itapakia faili hii kwa chaguomsingi ikiwa ipo.

Hii ndio faili kuu ya ubinafsishaji iliyosomwa na maagizo ya gotty, kwa hivyo, iunda kama ifuatavyo:

# touch ~/.gotty

Na weka maadili yako mwenyewe halali kwa chaguzi za usanidi (tafuta chaguzi zote za usanidi hapa) ili kubinafsisha GoTTY kwa mfano:

// 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)"
}

Unaweza kuweka faili yako ya index.html kwa kutumia chaguo la --index kutoka kwa safu ya amri:

# gotty --index /path/to/index.html uptime

Jinsi ya Kutumia Vipengele vya Usalama katika GoTTY

Kwa sababu GoTTY haitoi usalama unaotegemeka kwa chaguomsingi, unahitaji kutumia wewe mwenyewe vipengele fulani vya usalama vilivyoelezwa hapa chini.

Kumbuka kuwa, kwa chaguo-msingi, GoTTY hairuhusu wateja kuandika ingizo kwenye TTY, inawezesha tu kubadilisha ukubwa wa dirisha.

Hata hivyo, unaweza kutumia chaguo la -w au --permit-write kuruhusu wateja kuandikia TTY, jambo ambalo halipendekezwi kwa sababu ya vitisho vya usalama kwa seva.

Amri ifuatayo itatumia kihariri cha mstari wa amri kufungua faili fossmint.txt kwa kuhaririwa kwenye kivinjari cha wavuti:

# gotty -w vi fossmint.txt

Hapo chini kuna kiolesura cha vi kama inavyoonekana kutoka kwa kivinjari cha wavuti (tumia vi amri hapa kama kawaida):

Jaribu kuamilisha utaratibu wa msingi wa uthibitishaji, ambapo wateja watahitajika kuingiza jina la mtumiaji na nenosiri maalum ili kuunganisha kwenye seva ya GoTTY.

Amri iliyo hapa chini itazuia ufikiaji wa mteja kwa kutumia chaguo la -c kuwauliza watumiaji vitambulisho maalum (jina la mtumiaji: test na nenosiri: @67890):

# gotty -w -p "9000" -c "test:@67890" glances

Njia nyingine ya kuzuia ufikiaji wa seva ni kwa kutumia chaguo la -r. Hapa, GoTTY itaunda URL nasibu ili watumiaji wanaojua URL pekee wanaweza kupata ufikiaji wa seva.

Pia tumia -title-format GoTTY - {{ .Command }} ({{ .Jina la mpangishaji }}) ili kufafanua kichwa cha kiolesura cha vivinjari vya wavuti na amri ya kutazama inatumika kuonyesha takwimu za ufuatiliaji wa mfumo:

# gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

Ifuatayo ni matokeo ya amri hapo juu kama inavyoonekana kutoka kwa kiolesura cha kivinjari cha wavuti:

Kwa sababu kwa chaguomsingi, miunganisho yote kati ya seva na wateja haijasimbwa kwa njia fiche, unapotuma taarifa za siri kupitia GoTTY kama vile vitambulisho vya mtumiaji au maelezo mengine yoyote, lazima utumie -t au - -tls chaguo ambalo huwezesha TLS/SSL kwenye kipindi:

GoTTY kwa chaguomsingi itasoma faili ya cheti ~/.gotty.crt na faili muhimu ~/.gotty.key, kwa hivyo, itaanza kwa kuunda uidhinishaji uliojiandikisha pia. kama faili muhimu kwa kutumia openssl amri hapa chini (jibu swali lililoulizwa ili kutoa cert na faili muhimu):

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt

Kisha utumie GoTTY kwa njia salama na SSL/TLS imewezeshwa kama ifuatavyo:

# gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

Unaweza kutumia amri ya kutazama (hakikisha umeweka tmux):

# gotty tmux new -A -s gotty glances 

Ili kusoma faili tofauti ya usanidi, tumia -config /path/to/file kama hivyo:

# gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

Ili kuonyesha toleo la GoTTY, endesha amri:

# gotty -v 

Tembelea hazina ya GoTTY GitHub ili kupata mifano zaidi ya matumizi: https://github.com/yudai/gotty

Ni hayo tu! Je, umeijaribu? Je, unapataje GoTTY? Shiriki maoni yako nasi kupitia fomu ya maoni iliyo hapa chini.