GoTTY - Aqsam it-Terminal Linux Tiegħek (TTY) bħala Applikazzjoni tal-Web
GoTTY hija għodda sempliċi tal-linja tal-kmand ibbażata fuq GoLang li tippermettilek taqsam it-terminal tiegħek (TTY) bħala applikazzjoni tal-web. Tibdel l-għodod tal-linja tal-kmand f'applikazzjonijiet tal-web.
Hija timpjega l-emulatur tat-terminal ta 'Chrome OS (hterm) biex tesegwixxi terminal ibbażat fuq JavaScript fuq web browsers. U importanti, GoTTY imexxi web socket server li bażikament jittrasferixxi l-output mit-TTY lill-klijenti u jirċievi input mill-klijenti (jiġifieri jekk input mill-klijenti huwa permess) u jgħaddih lit-TTY.
L-arkitettura tagħha (idea hterm + web socket) kienet ispirata mill-programm Wetty li jippermetti terminali fuq HTTP u HTTPS.
Għandu jkollok ambjent GoLang (Go Programming Language) installat fil-Linux biex tħaddem GoTTY.
Kif Tinstalla GoTTY fis-Sistemi Linux
Jekk diġà għandek ambjent GoLang li jaħdem, ħaddem il-kmand go get hawn taħt biex tinstallah:
# go get github.com/yudai/gotty
Il-kmand t'hawn fuq se jinstalla l-binarju GoTTY fil-varjabbli tal-ambjent GOBIN tiegħek, ipprova ċċekkja jekk dak huwiex il-każ:
# ls $GOPATH/bin/
Kif tuża GoTTY fil-Linux
Biex tħaddem, tista 'tuża l-varjabbli GOBIN env u l-karatteristika ta' tlestija awtomatika tal-kmand kif ġej:
# $GOBIN/gotty
Inkella, mexxi GoTTY jew kwalunkwe programm ieħor Go mingħajr ma ttajpja l-mogħdija sħiħa għall-binarju, żid il-varjabbli GOBIN tiegħek mal-PATH fil-fajl ~/.profile
billi tuża l-kmand tal-esportazzjoni hawn taħt:
export PATH="$PATH:$GOBIN"
Issejvja l-fajl u agħlaqha. Imbagħad iġib il-fajl biex iwettaq il-bidliet hawn fuq:
# source ~/.profile
Is-sintassi ġenerali għat-tħaddim tal-kmandi GoTTY hija:
Usage: gotty [options] <Linux command here> [<arguments...>]
Issa mexxi GoTTY bi kwalunkwe kmand bħall-kmand df biex tara l-ispazju u l-użu tal-partizzjonijiet tad-disk tas-sistema mill-web browser:
# gotty df -h
GoTTY se jibda web server fil-port 8080 awtomatikament. Imbagħad iftaħ il-URL: http://127.0.0.1:8080/
fuq il-web browser tiegħek u tara l-kmand għaddej bħallikieku kien qed jaħdem fuq it-terminal tiegħek:
Kif Ippersonalizza GoTTY fil-Linux
Tista 'tbiddel l-għażliet default u t-terminal tiegħek (hterm) fil-fajl tal-profil ~/.gotty
, se jgħabbi dan il-fajl awtomatikament f'każ li jeżisti.
Dan huwa l-fajl tal-personalizzazzjoni prinċipali moqri mill-kmandi gotty, għalhekk, oħloq kif ġej:
# touch ~/.gotty
U waqqaf il-valuri validi tiegħek stess għall-għażliet tal-konfigurazzjoni (sibu l-għażliet kollha tal-konfigurazzjoni hawn) biex tippersonalizza GoTTY pereżempju:
// 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)" }
Tista' tissettja l-fajl index.html tiegħek stess billi tuża l-għażla --index
mil-linja tal-kmand:
# gotty --index /path/to/index.html uptime
Kif tuża l-karatteristiċi tas-sigurtà f'GoTTY
Minħabba li GoTTY ma joffrix sigurtà affidabbli b'mod awtomatiku, għandek bżonn tuża manwalment ċerti karatteristiċi ta 'sigurtà spjegati hawn taħt.
Innota li, b'mod awtomatiku, GoTTY ma jippermettix lill-klijenti li jdaħħlu l-input fit-TTY, jippermetti biss id-daqs tat-tieqa.
Madankollu, tista' tuża l-għażla -w
jew --permit-write
biex tippermetti lill-klijenti jiktbu lit-TTY, li mhux rakkomandat minħabba theddid għas-sigurtà għas-server.
Il-kmand li ġej se juża l-editur tal-linja tal-kmand vi biex jiftaħ il-fajl fossmint.txt għall-editjar fil-web browser:
# gotty -w vi fossmint.txt
Hawn taħt hawn l-interface vi kif tidher mill-web browser (uża l-kmandi vi hawn bħas-soltu):
Ipprova tattiva mekkaniżmu bażiku ta 'awtentikazzjoni, fejn il-klijenti jkunu meħtieġa li jdaħħlu l-isem tal-utent u l-password speċifikati biex jikkonnettjaw mas-server GoTTY.
Il-kmand hawn taħt se jirrestrinġi l-aċċess tal-klijent billi juża l-għażla -c
biex jitlob lill-utenti għal kredenzjali speċifikati (username: test u password: @67890):
# gotty -w -p "9000" -c "test:@67890" glances
Mod ieħor kif tirrestrinġi l-aċċess għas-server huwa billi tuża l-għażla -r
. Hawnhekk, GoTTY se jiġġenera URL każwali sabiex l-utenti li jafu l-URL biss ikunu jistgħu jiksbu aċċess għas-server.
Uża wkoll l-għażla –title-format “GoTTY – {{ .Command }} ({{ .Hostname }})” biex tiddefinixxi t-titlu tal-interface tal-web browsers u l-kmand tal-ħarsiet jintuża biex turi stats ta’ monitoraġġ tas-sistema:
# gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Dan li ġej huwa riżultat tal-kmand ta 'hawn fuq kif jidher mill-interface tal-web browser:
Minħabba li b'mod awtomatiku, il-konnessjonijiet kollha bejn is-server u l-klijenti mhumiex encrypted, meta tibgħat informazzjoni sigrieta permezz ta' GoTTY bħal kredenzjali tal-utent jew kwalunkwe informazzjoni oħra, trid tuża l--t
jew - -tls
għażla li tippermetti TLS/SSL fis-sessjoni:
GoTTY awtomatikament jaqra l-fajl taċ-ċertifikat ~/.gotty.crt
u l-fajl taċ-ċavetta ~/.gotty.key
, għalhekk, tibda billi toħloq ċertifikazzjoni ffirmata minnha nfisha wkoll bħala l-fajl ewlieni bl-użu tal-kmand openssl hawn taħt (wieġeb il-mistoqsija mitluba sabiex tiġġenera ċ-ċert u l-fajls ewlenin):
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
Imbagħad uża GoTTY b'mod sikur b'SSL/TLS attivat kif ġej:
# gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Tista' tagħmel użu mill-kmand tal-ħarsiet (kun żgur li għandek tmux installat):
# gotty tmux new -A -s gotty glances
Biex taqra fajl ta' konfigurazzjoni differenti, uża l-għażla –config “/path/to/file” hekk:
# gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Biex turi l-verżjoni GoTTY, mexxi l-kmand:
# gotty -v
Żur ir-repożitorju ta’ GoTTY GitHub biex issib aktar eżempji ta’ użu: https://github.com/yudai/gotty
Dak kollox! Ippruvajtu? Kif issib GoTTY? Aqsam il-ħsibijiet tiegħek magħna permezz tal-formola ta' feedback hawn taħt.