#26 Le 21/12/2009, à 12:30
- Globule
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Merci Sputnick pour ce script !
Moi j'ai repris exactement ton script et adapté celui de droopy dedans avec le port 8001, ce qui me permet d'envoyer et de recevoir facilement des fichiers en 2 clics !
changé :
python -m SimpleHTTPServer
par
python ~/droopy.py -m "Tu peux m'envoyer tes fichiers !" -p ~/debian-logo.png]
merci encore !
Hors ligne
#27 Le 21/12/2009, à 15:44
- soupaloignon
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Terrible ce script , quelle bonne idée. Je le teste dans la soirée.
Sinon, juste à chaud comme ça (n'ayant pas encore testé). Cela ne serait pas bien que le script génère à la volée le fichier index.htm, avec le contenu du dossier, et le place direct dans le dossier à partager ? (et le supprime à l'extinction du script ?)
Dernière modification par soupaloignon (Le 21/12/2009, à 15:45)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#28 Le 21/12/2009, à 16:04
- sputnick
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
@smecher désolé j'avais pas vu ton échange.
rajouter une fenetre zenity
zenity --file-selection
à voir ce soir @home.
@n3o51 selector.pl.bash est là : http://www.sputnick-area.net/?p=33 mais il doit etre mis à jour pour fonctionner correctement, il me semble que les sites ont changés. Peux etre smecher pourra confirmer/infirmer ?!
@soupaloignon: pourquoi creer un index.html ? quel est le but puisque tu peux voir le contenu des dossiers ?
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#29 Le 21/12/2009, à 16:22
- soupaloignon
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
@soupaloignon: pourquoi creer un index.html ? quel est le but puisque tu peux voir le contenu des dossiers ?
Désolé dans ce cas, j'avais cru comprendre, à la lecture du fil, qu'il y avait un "index.htm" à créer et à mettre dans le dossier à partager
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#30 Le 21/12/2009, à 16:34
- sputnick
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Tu peux en mettre un si ca te chante pour cacher les fichiers et donner acces seulement à ce que tu aura choisi...
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#31 Le 21/12/2009, à 20:38
- n3o51
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Bonsoir oui j'avais posais la question pour l'index ce n'est pas obligatoire.
Sinon merci pour le lien sputnick
Welcome to the real world
________________________________
Hors ligne
#32 Le 21/12/2009, à 21:22
- smecher
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Bonsoir tout le Monde
wow, a ce que je vois.... ce script plait a beaucoup
il est pas baleze ce Sputnick
il a meme des fans sur le net
j'ai vu ca ce matin:
http://nicotux.wordpress.com/2009/12/20/creer-un-serveur-web-en-2-clics-partagez-enfin-de-gros-documents-facilement/
Plus serieusement
pour:
selector.pl.bash
effectivement , il y a eut du changement, donc toutes les radios ne marchent pas.
je suis incapable de vous dire lesquels, ce que j'ai plus cherché a voir c'est le script lui meme , mais pour tous les amateurs de ce genre de musique, je vous conseille de faire un tour sur Oemradio
http://www.oemradio.org/
couplé a streamripper ( dans les depots)
http://streamripper.sourceforge.net/
...bref...
@soupaloignon
et en ce qui concerne, l'index.html
il n'est pas du tout necessaire, mais si vraiment tu veux lister ton repertoire tout en ayant une "mise" en page avec css /texteS/images etc...
il y a toujours la balise html
<IFRAME> ... </IFRAME>
et @ Sputnick
Le guide du script bash avancé que tu m'avais conseillé (ABS )
je me suis apercu qu'il est dans les depots, certe en anglais ( sous hardy) mais j'ai trouvé l'idée amusante.
et puis dernier petits trucs sympa, que certain connaisse d'autres non..mais qui nous facilite tellement la vie quand on les connais, je veux vous parler des:
Commandes de contrôle dans un terminal
http://www-iness.c-strasbourg.fr/tech/inform/linux-user/node5.html#SECTION00510000000000000000
et pour le fun..une vielle applis de notre bon vieux X11
il s'agit de xclock
tout seul il est pas super...
mais...
xclock -bg black -fg green -update 1 -digital -geometry 300x40-0+0 &
http://smecher.ecchi.ca/
Hors ligne
#33 Le 23/12/2009, à 23:29
- sputnick
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
@smecher,
pour le zenity et la selection, je n'en voit pas l'interet.
Concernant selector.pl.bash c'est pas vraiment pour des radios mais des disquaires pour DJs drum"n"bass onlines.
Il faudrait que je fasse la même chose pour des sites d'achat de skeuds comme www.beatport.com mais c'est pas gagné, tout est en flash.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#34 Le 24/12/2009, à 08:58
- smecher
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Salut Sputnick
Pour Zenity, effectivement il n'y a pas grand interet ( c'etait juste le petit truc en plus)....a vouloir trops(tout) simplifier..on en arrive a meme plus savoir se servir du terminal...
Et c'est pas le but ici....donc pour deplacer le script dans le dossier de son choix...un petit CP et ca roule
Merci encore
Et pour la musique, j'avais pas du tout calculé que ce n'etait pas des radios en fait
ca me rappelle un autre de tes scripts ca....
Deezzer &co
j'aime bien ce genre de scripts , grace a ca on voit toute la Grandeur des scripts, on peut quasiment tout faire.
et pour Beatport encre une bonne adresse
Merci bonne continuation a toi
et, si vraiment t'es manques d'idées pour tes scripts...j'en ai perso.... des centaines
@ + bonne continuation
et tiens nous au courant
___________plus serieueseemnt_____________________
Petit question d'ordre general
je voudrais savoir si avec un script bash c'est possible, repond moi juste oui ou non.
je voudrais savoir, si on peut ecrire ce que l'on veut directement dans une page html dans un dossier local.
ex:
j'ai un dossier avec 10 page html ,
1 index.html + 9 classique ( 1.html; 2.html;3.html...etc...)
peut on grace a un script.
lister tous les noms des pages Html ( or index.html)
et les ecrires automatiquement dans le fichier index.html dans une balises <ul> et les rendres cliquables.
( creer une liste /un sommaire de toutes les autres pages html)
l'idée c'est de creer facilement un manuel d'utilisation, et a chaque fois que l'on creé une nouvelle page, elle s'inscrive directement dans le sommaire..
et que dans chaque nouvelle page il puisse y avoir le lien sur la page precedente (avec son nom) et sur la page suivante.
certe il existe des cms etc....
mais ce n'est pas forcement le but de les mettres en lignes..et de plus bien souvant..il ne garde pas l'extension Html et ... or php sur la machine..c'est impossible a lire.
Donc ma question peut , parraitre naive, a savoir si c'est faisable ou non.
Merci encore et bonne journée a toi
http://smecher.ecchi.ca/
Hors ligne
#35 Le 25/12/2009, à 11:29
- smecher
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
@Sputnick
Encore un fan de ton Script
http://ubuntu-pour-tous.sfhost.net/?p=250
Decidement, il plait a beaucoup de gens
bye
http://smecher.ecchi.ca/
Hors ligne
#36 Le 01/01/2010, à 20:47
- UUBBUU_USER
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
très bon travail ....
histoire de mettre une pierre a l'édifice :http://forum.ubuntu-fr.org/viewtopic.ph … 8#p3178448
ps : je suis loin d'avoir fini )
PEACE LOVE UNITY FREE TIBET
Hors ligne
#37 Le 03/01/2010, à 10:37
- smecher
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
@UUBBUU_USER
Effectivement, cette technique de serveur rapide est vraiment sympathique.
Si je comprend bien, ton script, propose de faire la meme chose, directement en Python...
donc compatible directement avec windows(si python installé) ?
si c'est ca.. ca serait chouette, parceque grace a cette technique..plus besoin de doit et autres ( comme pour samba).
Bonne continuation a toi.
@Sptunick le Grand
Voila, je trouve ton script vraiment tres bien, et effectivement je m'en sert souvant.
J''ai une idée de nouvelle version, qui le rendrais encore plus puissant et plus complet.
..laissant tourné le serveur toute une journée.
et ne voulant pas encombré un de mes bureaux , j'ai decidé de le lancer dans un tty....
Mais le fait d'avoir du gtk zenity... me sort une erreur ( c'est tout a fait normal).
Donc m'est venu l'idée de l'amelioration suivante.
( pour toutes les personnes comme moi, decidé a le lancer dans un tty.
serait 'il facile, de rajouter une option a ce script lui permettant ainsi de ne plus avoir de fenetre gtk, mais en gardant tout de meme le grand avantage que t'as rajouté, a savoir d'afficher l'ip interne et externe.
un truc du style:
sputnickserveur -t
ou l'option t permet de le lancer dans le terminal
et de voir:
--------------------------------------
votre adresse ip externe est: xxxxx:8000
votre adresse ip interne est: xxxxx:8000
voulez vous vraiment lancer le lanceur? y/n
--------------------------------------
etc... et..pour la suite, le meme concept qu'avec zenity.
et une autre option qui serait egalement tres utile, serait d'avoir un Log ( c'est quand meme un serveur web, c'est sympa de savoir qui vas ou, qui download quoi etc.... )
d"origine" lorsqu'on lance juste de cette facon le serveur avec nohup
nohup python -m SimpleHTTPServer
ca permet d'avoir le log dans le dossier ou est lancé le script
donc dans l'idée peut etre qu'ajouter une option, marchant aussi bien, pour le script graphique ou tty
du style
sputnickserveur -L /chemin/ou/on/veut/avoir/le/log
serait sympa non?
Donc voila encore une nouvelle idée qui peut etre tres utile pour un grand nombre d'entre nous
et qui permettrais d'ammenner ton script au niveau superieur
qu'en pense tu? interressant?
Si tu passes par la,
Merci deja pour la premiere version et bonne continuation.
@+
http://smecher.ecchi.ca/
Hors ligne
#38 Le 04/01/2010, à 01:00
- sputnick
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Pour lancer en commande et recuperer dans un fichier de log, exemple :
screen -S SimpleHTTPServer
( python -m SimpleHTTPServer ) 2>&1 | tee /tmp/SimpleHTTPServer.log
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#39 Le 15/03/2010, à 14:07
- mermouy
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Salut à tous!
Merci encore pour ce script!
Je poste ma version ci-aprés j'y ai ajouté des boîtes de dialogue zenity pour sélectionner l'interface et le port... Ainsi qu'une boite de dialogue rappellant l'adresse du serveur ainsi créé pour en faciliter l'échange.
J'ai nommé ce script /usr/local/bin/HttpGui.sh et créé une action personnalisée dans Thunar avec le lanceur:
HttpGui.sh %f
Voilà où en est le script:
#!/bin/bash
#
# ------------------------------------------------------------------
# made by sputnick in da FreAkY lApPy lAb (c) 2009
# gilles.quenot <AT> gmail <DOT> com
# Idea from smecher.
#
# Remodifié/adapté pour Debian Sid ZinuD par MerMouY
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 2 of the GNU General Public
# License published by the Free Software Foundation.
# (see http://www.gnu.org/licenses/gpl.html).
# ------------------------------------------------------------------
# ,,_
# o" )@
# ''''
# ------------------------------------------------------------------
#
# vim:ts=4:sw=4
#
#
# Version 0.2
#
#
# Script permettant de lancer un serveur web en dialog zenity a la volee dans le dossier courant.
# Il affiche les IP:PORT interne et externes qui seront disponibles.
# ( Si vous etes derriere un routeur, il faut le configurer pour que le port choisi
# soit redirigée vers votre adresse IP locale.
#
# Questions et infos : http://forum.ubuntu-fr.org/viewtopic.php?id=364489
#
# Prerequis:
# zenity
#
#
DIR=$1
iface=$(zenity --entry --title="Choix de l'interface" --text="Entrez l'interface réseau à utiliser pour votre partage:" --entry-text="eth0")
case $? in
0)
echo "L'interface \"$iface\" sélectionnée.";;
1)
zenity --info --title="Abandon" --text="Aucune interface sélectionnée. Annulation..."; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
if [ -z $iface ]
then
zenity --info --title="Abandon" --text="Aucune interface sélectionnée. Annulation..."
exit 0
fi
PORT=$(zenity --entry --title="Port du serveur" --text="Entrez le port à écouter pour votre partage:" --entry-text="8000")
case $? in
0)
echo "Port \"$PORT\" sélectionné.";;
1)
zenity --info --title="Sélection auto" --text="Aucun port sélectionné. Annulation..."; exit 0;;
-1)
echo "Une erreur inattendue s'est produite. Avez vous choisi un port?"; exit 0;;
esac
if [ -z $PORT ]
then
zenity --info --title="Abandon" --text="Aucun port sélectionné. Annulation..."
exit 0
fi
if nc -z -w2 localhost $PORT; then
zenity --error --title="Erreur\!" --text="Le port $PORT est déjà pris par un autre processus.\n\nChoisissez un autre port d\'écoute..."
exec $0
fi
zenity --question --title="Voulez vous risquer d'exposer ce dossier sur la toile?" --text="Le contenu du dossier \"$DIR\" sera accessible depuis n'importe quel navigateur muni des informations suivantes:
Adresse Publique:\n\nhttp://$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d ' ' -f 2 | cut -d\< -f 1):$PORT
|==>Communiquez cette adresse à vos correspondants internet.
Adresse Privée:\n\nhttp://$(/sbin/ifconfig $iface | awk '/inet/{gsub(" *inet add?r:","");print $1;exit}'):$PORT
|==>Communiquez cette adresse à vos correspondants sur le réseau local.
On continue?" || exit 0
python -m SimpleHTTPServer $PORT & pro=$!
while true; do
zenity --notification --text="Cliquez ici pour arrêter le serveur"
if zenity --question --title="Confirmation" --text="Sûr on arrête le serveur?\n\nÇa va couper chérie\!"; then
kill $pro
exit $?
fi
done
Ensuite j'ai aussi créé une variante avec droopy pour intégrer l'upload le procédé est le même, l'action Thunar:
drooper.sh %f
Et voici le /usr/local/bin/drooper.sh :
#!/bin/bash
#
# ------------------------------------------------------------------
# made by sputnick in da FreAkY lApPy lAb (c) 2009
# gilles.quenot <AT> gmail <DOT> com
# Idea from smecher.
#
# Remodifié/adapté pour Debian Sid ZinuD par MerMouY
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 2 of the GNU General Public
# License published by the Free Software Foundation.
# (see http://www.gnu.org/licenses/gpl.html).
# ------------------------------------------------------------------
# ,,_
# o" )@
# ''''
# ------------------------------------------------------------------
#
# vim:ts=4:sw=4
#
#
# Version 0.2
#
#
# Script permettant de lancer un serveur droopy en dialog zenity a la volee dans le dossier courant. Pour créer un espace d'upload sur sa machine.
#
# Questions et infos : http://forum.ubuntu-fr.org/viewtopic.php?id=364489
#
# Prerequis:
# zenity
#
#
DIR=$1
iface=$(zenity --entry --title="Choix de l'interface" --text="Entrez l'interface réseau à utiliser pour votre partage:" --entry-text="eth0")
case $? in
0)
echo "L'interface \"$iface\" sélectionnée.";;
1)
echo "Aucune interface sélectionnée."; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
PORT=$(zenity --entry --title="Port du serveur" --text="Entrez le port à écouter pour votre partage:" --entry-text="8000")
case $PORT in
0)
echo "Port \"$PORT\" sélectionné.";;
1)
echo "Aucun port sélectionné, port 8000 utilisé"; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
if nc -z -w2 localhost $PORT; then
zenity --error --title="Erreur\!" --text="Le port $PORT est déjà pris par un autre processus.\n\nChoisissez un autre port d\'écoute..."
exec $0
fi
zenity --question --title="Voulez vous ouvrir ce dossier sur la toile pour y recevoir des fichiers?" --text="Le dossier \"$DIR\" sera réceptacle des fichiers envoyés depuis n'importe quel navigateur muni des informations suivantes:
Adresse Publique:\n\nhttp://$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d ' ' -f 2 |cut -d\< -f 1):$PORT
|==>Communiquez cette adresse à vos correspondants internet.
Adresse Privée:\n\nhttp://$(/sbin/ifconfig $iface | awk '/inet/{gsub(" *inet add?r:","");print $1;exit}'):$PORT
|==>Communiquez cette adresse à vos correspondants sur le réseau local.
On continue?" || exit 0
python /usr/local/bin/droopy.py $PORT & pro=$!
while true; do
zenity --notification --text="Cliquez ici pour arrêter le serveur d'upload"
if zenity --question --title="Confirmation" --text="Sûr? on arrête ce service?\n\nÇa va couper chérie\!"; then
kill $pro
exit $?
fi
done
Biensûr il vous faut encore télécharger droopy et le copier dans /usr/local/bin/droopy.py
J'aimerais beaucoup intégrer ces scripts dans la prochaine version de ZinuD personne n'a d'objection?
N'hésitez pas à critiquer/proposer etc ... Tous les retours sont bons à prendre!
Ciao bonne continuation!
Dernière modification par mermouy (Le 17/03/2010, à 04:15)
Hors ligne
#40 Le 18/03/2010, à 11:37
- ElGatoNegro
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Salut,
(dans le droopy.sh, ligne 75)
python /usr/local/bin/droopy.py $PORT & pro=$!
tu as dû oublier le "-d $DIR":
python /usr/local/bin/droopy.py -d $DIR $PORT & pro=$!
(ce qui est plus sympa...)
"Écart est le palindrome de Tracé" (Alain Damasio)
Hors ligne
#41 Le 18/03/2010, à 14:51
- mermouy
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Ouups oui effectivement! Merci de l'avoir repéré, j'imagine que j'ai dû foirer un moment dans mes copier-coller entre deux versions (je découvre les joies du versionning ) et poster une version plus ancienne... Je continue à travailler sur ce script.
Voilà où j'en suis pour les curieux ou interressés... (il comprend quelques améliorations comme le multi-threading et fichier de log, pour utiliser le multi-thread j"utilise le script webserver.py dispo sur le site de stackp et que je remet ici en bas) Tous les fichiers sont à coller dans votre PATH (par exemple /usr/local/bin pour tous les utilisateurs ou ~/bin/ pour vous seul)
HttpGui.sh:
DIR=$1
# User entry verification (not empty or ask again)
while [ -z $DIR ] || [ ! -d $DIR ]
do
DIR=$(zenity --entry --title="Choix du dossier" --text="Veuillez indiquer un dossier à partager:" --entry-text=`pwd` || exit 0)
done
# Interface to listen on
iface=$(zenity --entry --title="Choix de l'interface" --text="Entrez l'interface réseau à utiliser pour votre partage:" --entry-text="eth0")
case $? in
0)
echo "L'interface \"$iface\" sélectionnée.";;
1)
echo "Aucune interface sélectionnée."; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
# Port to listen on
PORT=$(zenity --entry --title="Port du serveur" --text="Entrez le port à écouter pour votre partage:" --entry-text="8000")
case $PORT in
0)
echo "Port \"$PORT\" sélectionné.";;
1)
echo "Aucun port sélectionné, port 8000 utilisé"; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
# Is port already in use?
servpid=$(lsof -t -i :$PORT)
if [ ! -z $servpid ]; then
zenity --error --title="Erreur\!" --text="Le port $PORT est déjà pris par un autre processus.\n\nChoisissez un autre port d\'écoute..."
exec $0
fi
# Last confirmation and summary
zenity --question --title="Voulez vous risquer d'exposer ce dossier sur la toile?" --text="Le contenu du dossier \"$DIR\" sera accessible depuis n'importe quel navigateur muni des informations suivantes:
Adresse Publique:\n\nhttp://$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d ' ' -f 2 | cut -d\< -f 1):$PORT
|==>Communiquez cette adresse à vos correspondants internet.
Adresse Privée:\n\nhttp://$(/sbin/ifconfig $iface | awk '/inet/{gsub(" *inet add?r:","");print $1;exit}'):$PORT
|==>Communiquez cette adresse à vos correspondants sur le réseau local.
On continue?" || exit 0
# Does log file already exist if so rename it
DATE=$(sed -n '1p' $DIR/.simplewebserver.log | cut -d '[' -f2 | cut -d ']' -f1 | sed -e "s/\//./g" | sed -e "s/:/./g" | sed -e "s/ /./g")
cd $DIR
if [ -f .simplewebserver.log ]
then
mv .simplewebserver.log .simplewebserver.$DATE.log
zenity --info --text="Un ancien fichier de log à été trouvé\!\n\nRenommé en $DIR/.simplewebserver.$DATE.log"
fi
# Let's start the server & create the logfile
python webserver.py $PORT 2>&1 | tee $DIR/.simplewebserver.log &
# Create notification area to stop the server
while true; do
zenity --notification --text="Cliquez ici pour arrêter le serveur"
if zenity --question --title="Confirmation" --text="Sûr?\n\nÇa va trancher chérie\!"; then
while [ ! -z `lsof -t -i :$PORT` ]
do
kill `lsof -t -i :$PORT`
done
exit $?
fi
done
et drooper.sh:
#!/bin/bash
#
# ------------------------------------------------------------------
# Pour Debian ZinuD par MerMouY
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 2 of the GNU General Public
# License published by the Free Software Foundation.
# (see http://www.gnu.org/licenses/gpl.html).
# ------------------------------------------------------------------
#
# Questions et infos : http://zinud.youm.org/forums.html
#
# Depends:
# zenity
# droopy.py
#
DIR=$1
# User entry verification (not empty or ask again)
while [ -z $DIR ] || [ ! -d $DIR ]
do
DIR=$(zenity --entry --title="Choix du dossier" --text="Veuillez indiquer un dossier récipient:" --entry-text=`pwd` || exit 0)
done
# User entry verification (for being a writable dir or exit)
if [ ! d $DIR ] || [ ! -w $DIR ]
then
zenity --error --title="Erreur!" --text="Vous devez avoir le droit d'écrire dans ce dossier\!\n\nAbandon..."
exit 0
fi
# Interface to listen on
iface=$(zenity --entry --title="Choix de l'interface" --text="Entrez l'interface réseau à utiliser pour votre partage:" --entry-text="eth0")
case $? in
0)
echo "L'interface \"$iface\" sélectionnée.";;
1)
echo "Aucune interface sélectionnée."; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
# Port to listen on
PORT=$(zenity --entry --title="Port du serveur" --text="Entrez le port à écouter pour votre partage:" --entry-text="8000")
case $PORT in
0)
echo "Port \"$PORT\" sélectionné.";;
1)
echo "Aucun port sélectionné, port 8000 utilisé"; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
# Is port already in use?
servpid=$(lsof -t -i :$PORT)
if [ ! -z $servpid ]; then
zenity --error --title="Erreur\!" --text="Le port $PORT est déjà pris par un autre processus.\n\nChoisissez un autre port d\'écoute..."
exec $0
fi
# Personnal message to display (optional)
Mesg=$(zenity --entry --title="Entrez un mot sympa..." --text="Entrez un message à afficher à vos visiteurs:" --entry-text='Prêt à recevoir vos fichiers, même pas peur')
# Last confirmation and summary
zenity --question --title="Voulez vous ouvrir ce dossier sur la toile pour y recevoir des fichiers?" --text="Le dossier \"$DIR\" sera réceptacle des fichiers envoyés depuis n'importe quel navigateur muni des informations suivantes:
Adresse Publique:\n\nhttp://$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d ' ' -f 2 | cut -d\< -f 1):$PORT
|==>Communiquez cette adresse à vos correspondants internet.
Adresse Privée:\n\nhttp://$(/sbin/ifconfig $iface | awk '/inet/{gsub(" *inet add?r:","");print $1;exit}'):$PORT
|==>Communiquez cette adresse à vos correspondants sur le réseau local.
On continue?" || exit 0
# Does log file already exist if so rename it
DATE=$(sed -n '1p' .drooper.log | cut -d '[' -f2 | cut -d ']' -f1 | sed -e "s/\//./g" | sed -e "s/:/./g" | sed -e "s/ /./g")
if [ -f $DIR/.drooper.log ]
then
mv .drooper.log .drooper.$DATE.log
zenity --info --text="Un ancien fichier de log à été trouvé\!\n\nRenommé en $DIR/.drooper.$DATE.log"
fi
# Let's start the server & create the logfile
python droopy.py -m "$Mesg" -d $DIR $PORT 2>&1 | tee $DIR/.drooper.log &
# Create notification area to stop the server
while true; do
zenity --notification --text="Cliquez ici pour arrêter le serveur d'upload"
if zenity --question --title="Confirmation" --text="Sûr on arrête?\n\nÇa va couper bébé\!"; then
while [ ! -z `lsof -t -i :$PORT` ]
do
kill `lsof -t -i :$PORT`
done
exit $?
fi
done
webserver.py:
#!/bin/bash
#
# ------------------------------------------------------------------
# Pour Debian ZinuD par MerMouY
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 2 of the GNU General Public
# License published by the Free Software Foundation.
# (see http://www.gnu.org/licenses/gpl.html).
# ------------------------------------------------------------------
#
# Questions et infos : http://zinud.youm.org/forums.html
#
# Depends:
# zenity
# droopy.py
#
DIR=$1
# User entry verification (not empty or ask again)
while [ -z $DIR ] || [ ! -d $DIR ]
do
DIR=$(zenity --entry --title="Choix du dossier" --text="Veuillez indiquer un dossier récipient:" --entry-text=`pwd` || exit 0)
done
# User entry verification (for being a writable dir or exit)
if [ ! d $DIR ] || [ ! -w $DIR ]
then
zenity --error --title="Erreur!" --text="Vous devez avoir le droit d'écrire dans ce dossier\!\n\nAbandon..."
exit 0
fi
# Interface to listen on
iface=$(zenity --entry --title="Choix de l'interface" --text="Entrez l'interface réseau à utiliser pour votre partage:" --entry-text="eth0")
case $? in
0)
echo "L'interface \"$iface\" sélectionnée.";;
1)
echo "Aucune interface sélectionnée."; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
# Port to listen on
PORT=$(zenity --entry --title="Port du serveur" --text="Entrez le port à écouter pour votre partage:" --entry-text="8000")
case $PORT in
0)
echo "Port \"$PORT\" sélectionné.";;
1)
echo "Aucun port sélectionné, port 8000 utilisé"; exit 0;;
-1)
echo "Une erreur inattendue s'est produite."; exit 0;;
esac
# Is port already in use?
servpid=$(lsof -t -i :$PORT)
if [ ! -z $servpid ]; then
zenity --error --title="Erreur\!" --text="Le port $PORT est déjà pris par un autre processus.\n\nChoisissez un autre port d\'écoute..."
exec $0
fi
# Personnal message to display (optional)
Mesg=$(zenity --entry --title="Entrez un mot sympa..." --text="Entrez un message à afficher à vos visiteurs:" --entry-text='Prêt à recevoir vos fichiers, même pas peur')
# Last confirmation and summary
zenity --question --title="Voulez vous ouvrir ce dossier sur la toile pour y recevoir des fichiers?" --text="Le dossier \"$DIR\" sera réceptacle des fichiers envoyés depuis n'importe quel navigateur muni des informations suivantes:
Adresse Publique:\n\nhttp://$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d ' ' -f 2 | cut -d\< -f 1):$PORT
|==>Communiquez cette adresse à vos correspondants internet.
Adresse Privée:\n\nhttp://$(/sbin/ifconfig $iface | awk '/inet/{gsub(" *inet add?r:","");print $1;exit}'):$PORT
|==>Communiquez cette adresse à vos correspondants sur le réseau local.
On continue?" || exit 0
# Does log file already exist if so rename it
DATE=$(sed -n '1p' .drooper.log | cut -d '[' -f2 | cut -d ']' -f1 | sed -e "s/\//./g" | sed -e "s/:/./g" | sed -e "s/ /./g")
if [ -f $DIR/.drooper.log ]
then
mv .drooper.log .drooper.$DATE.log
zenity --info --text="Un ancien fichier de log à été trouvé\!\n\nRenommé en $DIR/.drooper.$DATE.log"
fi
# Let's start the server & create the logfile
python droopy.py -m "$Mesg" -d $DIR $PORT 2>&1 | tee $DIR/.drooper.log &
# Create notification area to stop the server
while true; do
zenity --notification --text="Cliquez ici pour arrêter le serveur d'upload"
if zenity --question --title="Confirmation" --text="Sûr on arrête?\n\nÇa va couper bébé\!"; then
while [ ! -z `lsof -t -i :$PORT` ]
do
kill `lsof -t -i :$PORT`
done
exit $?
fi
done
Ça avance ça avance...
Hors ligne
#42 Le 18/03/2010, à 20:48
- joko
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
bonsoir,
je suis un peu nunuche et je voudrais savoir s'il n'est pas possible d'avoir un script qui unifie le download et l'upload. mais déjà le script de spuynick est bien cool.
le test upload est ok
mais ça fait deux scripts à lancer
siouplé ça serait coool de n'en faire qu'un.
respect aux programmeurs
Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks
Hors ligne
#43 Le 01/04/2010, à 18:17
- soupaloignon
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Bon, j'avais un peu oublié ce script...
Et là je viens de retomber dessus. Et hop, un test dans la foulée. Et c'est vraiment une tuerie, BRAVO !!!
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#44 Le 03/04/2010, à 07:39
- soupaloignon
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
> sputnick
Tu pourrais laisser ici le code php de ce fichier ?
http://sputnick-area.net/ip
Merci d'avance
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#45 Le 03/04/2010, à 20:37
- sputnick
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
<?php
echo $_SERVER['REMOTE_ADDR']
?>
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#46 Le 04/04/2010, à 07:38
- soupaloignon
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Merci
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#47 Le 04/04/2010, à 19:33
- sputnick
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
mermouy, si tu ecrit GPL dans tes sources, il faut respecterla license ; citer l'auteur et le nom du script original dans le tiens. http://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#48 Le 22/08/2010, à 21:22
- ewfzapp
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
Salut a tous, le script fonctionne nickel en local, mais pas sur la grande toile!
J'ai pourtant redirigé les port dans ma freebox (tcp et udp), mais impossible de m'y connecter de l'exterieur...
www.indigenecreations.fr
Hors ligne
#49 Le 22/08/2010, à 22:51
- sputnick
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
donne le resultat d'un
netstat -nptl
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#50 Le 23/08/2010, à 22:53
- ewfzapp
Re : [resolu]script bash +zenity: SimpleHTTPServer en - de 10 secondes
netstat -nptl
(Tous les processus ne peuvent être identifiés, les infos sur les processus
non possédés ne seront pas affichées, vous devez être root pour les voir toutes.)
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:37933 0.0.0.0:* LISTEN 2504/beam.smp
tcp 0 0 127.0.0.1:58638 0.0.0.0:* LISTEN 2583/ssl_esock
tcp 0 0 0.0.0.0:50799 0.0.0.0:* LISTEN 2264/skype
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 1937/dropbox
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 127.0.1.1:54977 :::* LISTEN 2743/java
tcp6 0 0 127.0.0.1:9666 :::* LISTEN 2743/java
et avec le serveur python lancé:
netstat -nptl
(Tous les processus ne peuvent être identifiés, les infos sur les processus
non possédés ne seront pas affichées, vous devez être root pour les voir toutes.)
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:37933 0.0.0.0:* LISTEN 2504/beam.smp
tcp 0 0 127.0.0.1:58638 0.0.0.0:* LISTEN 2583/ssl_esock
tcp 0 0 0.0.0.0:50799 0.0.0.0:* LISTEN 2264/skype
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 1937/dropbox
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 3407/python
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 127.0.1.1:54977 :::* LISTEN 2743/java
tcp6 0 0 127.0.0.1:9666 :::* LISTEN 2743/java
Dernière modification par ewfzapp (Le 23/08/2010, à 22:55)
www.indigenecreations.fr
Hors ligne