Come creare un semplice server web con 5 righe di bash

In questi giorni il blog è stato un po 'vivace con l'argomento server, il nostro amico Fico ci ha tenuto una conferenza sulle reti di computer nella sua serie Reti di computer per le PMI, oltre a un paio di articoli per installare e configurare i server web in Come installare e configurare XAMPP su GNU / Linux y Come installare NGINX con Google Page Speed ​​su Ubuntu automaticamente.

Come il mondo del software libero sia così nutritivo, a volte semplice e altre volte un po 'più complesso, oggi vi presentiamo un piccolo tentativo di 5 righe, che ci permette di creare un semplice server web.

shinatra

shinatra è il nome del tentativo fatto da Ben raady e che è stato distribuito liberamente, è tanto efficace quanto accurato, semplicemente creiamo o scarichiamo la bash con le linee di codice necessarie ed eseguiamo la bash con la porta + il messaggio che vogliamo ospitare.

Questo script che ci consente di creare un semplice server web, funziona in varie distribuzioni GNU / Linux e in OS X, non necessita di installazione, è flessibile nei percorsi che si desidera utilizzare, consente tutti i tipi di contenuto, in più può raggiungere essere uno strumento molto utile, nel caso in cui desideri inserire rapidamente le informazioni su qualsiasi server.

Come usare Shinatra

shinatra È composto dalle seguenti righe di codice:

#! / bin / bash RESPONSE = "HTTP / 1.1 200 OK \ r \ nCollegamento: keep-alive \ r \ n \ r \ n $ {2: -" OK "} \ r \ n" while {echo -en " $ RESPONSE "; } | nc -l "$ {1: -8080}"; fai eco "============================================== = "fatto

Puoi semplicemente creare un file .sh, con il nome che desideri e quindi eseguirlo come segue:

./shinatra.sh [port] [response]

Puoi anche ottenere lo script aggiornato dai repository ufficiali, per fare ciò, segui questi passaggi:

git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 "Messaggio di risposta del server"

Allo script puoi inviare quello che vuoi, ad esempio:

Crea un semplice server web

Indubbiamente un modo veloce, semplice e facile per far funzionare un server web, l'utilità e la portata di esso sono molteplici. Che uso faresti di questo script? Lo trovi utile?


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Gaspar Fernandez suddetto

    Qualche tempo fa ho realizzato uno script simile in cui si potevano definire più risposte a seconda del percorso e di tutto. Non erano 5 righe ma potevamo fare diverse cose: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    Lo svantaggio di farlo in stile netcat è che non sfruttiamo la concorrenza e le risorse vengono sprecate molto, ma è un bell'esperimento 🙂

  2.   Gonzalo martinez suddetto

    Un altro modo è con python (che arriva praticamente in tutte le distribuzioni)

    sudo python -m SimpleHTTPServer 80

    Funziona in modo diverso, in questo modo serve i file che si trovano nella directory in cui è in esecuzione il server, ma è un altro modo semplice

  3.   jose perez suddetto

    un altro con php è
    php-S 127.0.0.1:9000

  4.   Immagine segnaposto Antonio Cifuentes suddetto

    Questo post l'ho letto un anno fa, nel caso volessi un elenco completo di server web da riga di comando.

    https://www.busindre.com/servidor_web_por_linea_de_comandos.

  5.   Edoardo Cuomo suddetto

    Puoi trasferire un file su un server che non ha nulla installato e non hai il permesso di ROOT:

    #! / Bin / bash
    file = »$ 1 ″
    port = 8080

    n = »\ r \ n»
    corpo = »$ (base64« $ {file} »)»

    RISPOSTA = »HTTP / 1.1 200 OK»
    RESPONSE = »$ {RESPONSE} $ {n} Connessione: keep-alive»
    RESPONSE = »$ {RESPONSE} $ {n} Content-Type: application / octet-stream»
    RESPONSE = »$ {RESPONSE} $ {n} Content-Disposition: inline; nomefile = \ »$ {file} \» »
    RISPOSTA = »$ {RESPONSE} $ {n} $ {n} $ {body}»

    while {echo -en "$ RESPONSE"; } | nc -l "$ {port}"; fare
    echo «============================================== »
    fatto

    Quindi, quando lo ricevi, lo trasformi di nuovo con "base64 -d nomefile"

  6.   Edoardo Cuomo suddetto

    Ci sono molti altri esempi in:
    $ uomo nc

  7.   Jose Maria Garcia suddetto

    Su Linux e macOS, è possibile utilizzare la shell e il gestore di pacchetti preferiti. Su Windows 10, puoi installare Windows Subsystem per Linux per ottenere una versione di Ubuntu e Bash integrata con Windows, ottimo tutorial.

    https://clongeek.com/como-instalar-macos-desde-usb/