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:
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?
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 🙂
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
un altro con php è
php-S 127.0.0.1:9000
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.
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"
Ci sono molti altri esempi in:
$ uomo nc
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/