GoTTY - Deildu Linux flugstöðinni þinni (TTY) sem vefforriti


GoTTY er einfalt GoLang byggt skipanalínuverkfæri sem gerir þér kleift að deila flugstöðinni þinni (TTY) sem vefforriti. Það breytir skipanalínuverkfærum í vefforrit.

Það notar flugstöðvahermi Chrome OS (hterm) til að keyra JavaScript byggða flugstöð í vafra. Og það sem skiptir máli, GoTTY rekur vefinntaksþjón sem flytur í grundvallaratriðum úttak frá TTY til viðskiptavina og tekur við inntak frá viðskiptavinum (það er ef inntak frá viðskiptavinum er leyft) og sendir það til TTY.

Arkitektúr þess (hterm + veffalshugmynd) var innblásin af Wetty forritinu sem gerir flugstöðinni kleift yfir HTTP og HTTPS.

Þú ættir að hafa GoLang (Go Programming Language) umhverfi uppsett í Linux til að keyra GoTTY.

Hvernig á að setja upp GoTTY í Linux kerfum

Ef þú ert nú þegar með starfandi GoLang umhverfi skaltu keyra go get skipunina hér að neðan til að setja það upp:

# go get github.com/yudai/gotty

Skipunin hér að ofan mun setja upp GoTTY tvöfaldann í GOBIN umhverfisbreytunni þinni, reyndu að athuga hvort það sé raunin:

# ls $GOPATH/bin/

Hvernig á að nota GoTTY í Linux

Til að keyra það geturðu notað GOBIN env breytuna og sjálfvirka útfyllingu skipana sem hér segir:

# $GOBIN/gotty

Annars skaltu keyra GoTTY eða hvaða annað Go forrit sem er án þess að slá inn alla slóðina í tvöfaldann, bættu GOBIN breytunni þinni við PATH í ~/.profile skránni með því að nota útflutningsskipunina hér að neðan:

export PATH="$PATH:$GOBIN"

Vistaðu skrána og lokaðu henni. Fáðu síðan skrána til að framkvæma breytingarnar hér að ofan:

# source ~/.profile

Almenn setningafræði til að keyra GoTTY skipanir er:

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

Keyrðu nú GoTTY með hvaða skipun sem er eins og df skipunina til að skoða kerfisdisksneiðingapláss og notkun úr vafranum:

# gotty df -h

GoTTY mun sjálfgefið ræsa vefþjón á port 8080. Opnaðu síðan slóðina: http://127.0.0.1:8080/ í vafranum þínum og þú munt sjá hlaupandi skipunina eins og hún væri í gangi á flugstöðinni þinni:

Hvernig á að sérsníða GoTTY í Linux

Þú getur breytt sjálfgefnum valkostum og útstöðinni þinni (hterm) í prófílskránni ~/.gotty, það mun sjálfgefið hlaða þessari skrá ef hún er til.

Þetta er aðal aðlögunarskráin sem lesin er af gotty skipunum, svo búðu til hana sem hér segir:

# touch ~/.gotty

Og stilltu þín eigin gild gildi fyrir stillingarvalkostina (finndu alla stillingarvalkosti hér) til að sérsníða GoTTY til dæmis:

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

Þú getur stillt þína eigin index.html skrá með --index valkostinum í skipanalínunni:

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

Hvernig á að nota öryggiseiginleika í GoTTY

Vegna þess að GoTTY býður ekki sjálfgefið upp á áreiðanlegt öryggi þarftu að nota handvirkt ákveðna öryggiseiginleika sem útskýrðir eru hér að neðan.

Athugaðu að sjálfgefið, GoTTY leyfir ekki viðskiptavinum að slá inn inntak í TTY, það gerir aðeins kleift að breyta stærð glugga.

Hins vegar geturðu notað -w eða --permit-write valkostinn til að leyfa viðskiptavinum að skrifa á TTY, sem ekki er mælt með vegna öryggisógna við netþjóninn.

Eftirfarandi skipun mun nota vi skipanalínuritil til að opna skrána fossmint.txt til að breyta í vafranum:

# gotty -w vi fossmint.txt

Hér að neðan er vi viðmótið eins og það sést úr vafranum (notaðu vi skipanir hér eins og venjulega):

Reyndu að virkja grunn auðkenningarkerfi, þar sem viðskiptavinir þurfa að slá inn tilgreint notandanafn og lykilorð til að tengjast GoTTY netþjóninum.

Skipunin hér að neðan mun takmarka aðgang viðskiptavinar með því að nota -c valkostinn til að biðja notendur um tilgreind skilríki (notandanafn: próf og lykilorð: @67890):

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

Önnur leið til að takmarka aðgang að þjóninum er með því að nota -r valkostinn. Hér mun GoTTY búa til handahófskennda slóð þannig að aðeins notendur sem þekkja slóðina geta fengið aðgang að þjóninum.

Notaðu einnig –title-format “GoTTY – {{ .Command }} ({{ .Hostname }})” valkostinn til að skilgreina titil viðmóts viðmóts vafra og glances skipun er notuð til að sýna tölfræði kerfiseftirlits:

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

Eftirfarandi er afleiðing af skipuninni hér að ofan eins og sést frá viðmóti vafrans:

Vegna þess að sjálfgefið er að allar tengingar milli þjónsins og viðskiptavina eru ekki dulkóðaðar, þegar þú sendir leynilegar upplýsingar í gegnum GoTTY eins og notendaskilríki eða aðrar upplýsingar þarftu að nota -t eða - -tls valkostur sem gerir TLS/SSL virkt á lotunni:

GoTTY mun sjálfgefið lesa skírteinisskrána ~/.gotty.crt og lykilskrána ~/.gotty.key, byrjaðu því á því að búa líka til sjálfundirritaða vottun sem lykilskrá með openssl skipuninni hér að neðan (svaraðu spurningunni sem spurt er til að búa til vottorðið og lykilskrárnar):

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

Notaðu síðan GoTTY á öruggan hátt með SSL/TLS virkt sem hér segir:

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

Þú getur notað glances skipunina (vertu viss um að þú hafir tmux uppsett):

# gotty tmux new -A -s gotty glances 

Til að lesa aðra stillingarskrá, notaðu –config /path/to/file valkostinn svona:

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

Til að sýna GoTTY útgáfuna skaltu keyra skipunina:

# gotty -v 

Farðu á GoTTY GitHub geymsluna til að finna fleiri notkunardæmi: https://github.com/yudai/gotty

Það er allt og sumt! Hefurðu prófað það? Hvernig finnurðu GoTTY? Deildu hugsunum þínum með okkur í gegnum athugasemdaformið hér að neðan.