Question Serveur HTTP Bare Bones pour Linux avec téléchargements de fichiers à reprendre


J'ai un utilisateur Windows avec lequel je veux partager un fichier volumineux, Firefox avec lequel je pense prend en charge le téléchargement de fichiers HTTP pouvant être repris, et Ubuntu Linux, mais un espace disque limité, par exemple. Le serveur Web d'Apache.

Je voudrais juste lancer le serveur via la ligne de commande ou l'interface graphique quand je veux, pas au démarrage.

Si je peux l'éviter, je ne veux pas éditer un fichier de configuration - je donnerais plutôt un argument de ligne de commande pour son port, j'ai l'habitude d'utiliser python -m SimpleHTTPServer - mais je ne pense pas que ce soit le cas. reprendre.


4
2017-07-07 08:06


origine


"partager un fichier ..." - Alors ... vous voulez transférer un fichier hein, et vous ne voulez pas utiliser le PROTOCOLE DE TRANSFERT DE FICHIERS pourquoi? - ta.speot.is
Je ne trouve pas le nom utile ici, il n'y a rien de mal à vouloir utiliser un navigateur pour télécharger un fichier, d'autant plus que l'utilisateur final est à l'aise avec lui. Ne voyez pas ce qui devrait être complexe ou problématique sur l'exécution d'un serveur HTTP pouvant être repris, n'est-ce pas? - Luke Stanley
J'ai une réponse partielle Je peux poster dans ~ 6 heures (rep <100): pastebin.com/DS0wedwk - Luke Stanley
@ todda.speot.is: peut-être parce que FTP n'est pas sécurisé et envoie un mot de passe sur le réseau. - n0pe
C'est principalement parce que la simplicité pour les utilisateurs finaux est roi. - Luke Stanley


Réponses:


Utilisation thttpd.

thttpd -d /home/bob/sharedfolder -p 8080

Le répertoire /home/bob/sharedfolder deviendrait accessible à http://adresse:8080.

screenshot of thttpd directory listing in Chrome showing localhost on port 8080


lighttpd peut être utilisé de la même manière, même si minuscule fichier de configuration. Par exemple:

server.document-root = "/home/bob/sharedfolder"
server.port          = 8080
dir-listing.activate = "enable"

qui est ensuite exécuté comme ceci:

lighttpd -f foo.conf

9
2017-07-07 11:31



Merci grawity, j'ai fait quelques modifications. Apprécierait quelques questions upvotes. - Luke Stanley
même python -m SimpleHTTPServer 8000 Cela devrait suffire ... :) - akira
@akira: SimpleHTTPServer ne supporte pas les plages d'octets, ce qui signifie qu'il ne peut pas reprendre les transferts interrompus. Test avec curl http://localhost:8000/testfile -o /dev/null -C 100, par exemple. - grawity
C'est exactement ce dont j'avais besoin, en utilisant lighttpd maintenant et cela fonctionne très bien. - Rob
@grawity: vrai. mais à part cela pourrait être une option viable. plage d'octets manquante: c'est pour cela que je ne l'ai mis que de côté et non comme une réponse autonome. - akira


J'ai récemment créé un module python, ext_http_server, qui étend la fonctionnalité du SimpleHTTPServermodule. Une de ses fonctionnalités est la reprise de téléchargements de fichiers, en plus de https, d’authentification et de limitation de débit.

Iciest un lien direct vers les instructions d'installation et d'utilisation.

Je devrais dire que lighttpd contient toutes les mêmes fonctionnalités, donc si vous cherchez quelque chose prêt pour la production, allez avec lighttpd. Si vous cherchez à utiliser quelque chose en python que vous pouvez facilement créer, consultez ext_http_server.


3
2017-08-26 10:59



ça sonne cool! - Luke Stanley
En fait, je l'ai utilisé pour quelque chose mais je ne voulais pas de limitation de débit, https ou user / pass, donc c'est un peu verbeux de commander ce que je voulais: ext_http_server --cert /home/luke/Downloads/cert.pem -d. -p 9191 -a test: test -r 999999999999999 - Luke Stanley
L'exécutable par défaut du package créé est censé avoir toutes ces fonctionnalités. Avec un peu de travail, vous pouvez créer votre propre exécutable (script) qui ne contient que les téléchargements pouvant être repris. Cependant, dans ce cas, il sera probablement plus rapide d'utiliser thttpd ou lighttpd. - bboe
Oui, cela peut valoir la peine d’envisager un mode simple ou un mode simple par défaut. Beau travail bien sûr. - Luke Stanley


Utilisation Lighttpd - Vous utilisez Linux, donc je suppose que vous êtes familier avec l'exercice! Placez le fichier que vous souhaitez partager dans le dossier / var / www Modifiez le fichier de configuration init.d pour le supprimer Lighttpd à partir des démons de démarrage.

Lighttpd fait tout ce que vous voulez et plus encore - Et ce n'est pas petit, c'est petit! ;)


1
2017-07-07 09:31



Oui, j'ai déjà utilisé Monkey. Différence arbitraire peut-être. Voir: pastebin.com/DS0wedwk  mais je cherche une solution de fichier de configuration 0 si possible :) - Luke Stanley