Un serveur Web de fichiers statiques HTTP et un proxy pour servir des fichiers à partir d'un répertoire sur macOS, Windows ou Linux.
Conçu comme un outil de développement léger pour consulter les sites statiques, la documentation, par exemple, les blogs, les rapports de diagnostic, les maquettes HTML et les prototypes.
Téléchargez le binaire zéro-install sur un répertoire sur votre PATH
.
Usage: sfs [-l=<ip:port>] [-s] [-a [USER] PASS] [-d=<dir>] [-b] [-f=<format>] [-q] [-c] [-x=<url>]
Static File Server - https://github.com/schmich/sfs
Arguments:
USER Username for digest authentication
PASS Password for digest authentication
Options:
-l, --listen IP and port to listen on (default "127.0.0.1:8080")
-s, --secure Enable HTTPS with self-signed TLS certificate
-a, --auth Enable digest authentication
-d, --dir Directory to serve
-b, --browser Open web browser after server starts
-f, --format Log format: %i %t %m %u %s %b %a (default "%i - %m %u %s")
-q, --quiet Disable request logging
-c, --cache Allow cached responses
-x, --proxy Proxy requests to upstream server (implies -c)
-v, --version Show the version and exit
Démarrez un serveur Web pour les fichiers dans le répertoire actuel et lancez le navigateur par défaut:
sfs -b
Spécifiez un port:
sfs -p 777
Autoriser les connexions externes:
sfs -l 0.0.0.0
Servir les fichiers d'un autre répertoire:
sfs -d ../bloop
Servir le contenu via HTTPS avec un certificat TLS auto-signé:
sfs -s
Le certificat TLS est généré au hasard au démarrage. Les navigateurs vous avertiront d'une connexion non sécurisée puisque le certificat est auto-signé.
Activer l'authentification HTTP Digest avec un nom d'utilisateur et un mot de passe:
sfs -a gordon p4ssw0rd
Le nom d'utilisateur est facultatif. Le mot de passe est requis. Si un nom d'utilisateur n'est pas spécifié, tout nom d'utilisateur non vide fonctionnera. Un mot de passe de -
vous invitera le mot de passe via STDIN:
sfs -a -
sfs
peut agir comme un proxy HTTP. Il s'agit d'un mode de fonctionnement tout à fait distinct de la servitude des fichiers statiques. Cela vous permet d'utiliser sfs
comme un frontage de journalisation TLS-Sucred, digest-authenticated, pour un autre serveur de développement.
sfs -x localhost:4567
Modifier le format de journalisation de la demande avec -f
:
sfs -f " %i - [%t] %m %u %s %b - %a "
# 127.0.0.1 - [21/Jul/2016:21:07:51 -0500] GET / 200 273 - Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Format de journal:
%i
Adresse IP distante%t
Demande l'horodatage%m
Demande la méthode HTTP%u
demandent URL%s
Code d'état de la réponse S%b
longueur de réponse (octets)%a
Agent utilisateur de demande (en-tête HTTP User-Agent
) Par défaut, sfs
modifie les en-têtes de cache entrants et sortants ( Cache-Control
, If-None-Match
, If-Modified-Since
, Last-Modified
, ETag
) pour s'assurer qu'aucune mise en cache ne se produit. Pour permettre la mise en cache, cela peut être désactivé avec:
sfs -c
Copyright © 2016 Chris Schmich
Licence MIT. Voir la licence pour plus de détails.