Bonjour…
je veux faire un script shell pour activer free server vpn
du site https://freevpn.it/accounts/
pour cela il me faut le username et le password qui se trouve quelque part dans la page source html
j'ai utilisé cette commande avec sed mes helas ca na pas fonctionner j'espère bien que vous pourriez peut-être m'aider
fichie a extraire
cfg.config:
pptp
RVvm5SCUtmoR
HTTPSERV="https://freevpn.it/accounts/"
wget -O $FreeServertmpa $HTTPSERV > /dev/null 2>&1
sed -ne '/<li><b>Password:</b> / s/.*<li><b>Password: </b>\(.*\)<\/</li><li><b>.*/\1/p' $FreeServertmpa > $FreeServertmpb
# Jamais deux sans trois
Posté par _kaos_ . Évalué à 7.
Salut :)
Au grand risque de me répéter encore une fois… tenter de parser du HTML à coups de sed tue des bébés phoques
Blunk. Là c'est mon parser interne qui a planté. :)
Comme d'habitude, il y aura peut-être des gens pour te donner une solution rapide. Qui marchera dans ton cas.
Je ne sais pas pourquoi tu t'obstine avec sed.
Matricule 23415
# Eviter le travail
Posté par gUI (Mastodon) . Évalué à 2. Dernière modification le 29 mars 2019 à 09:04.
Oui, faut pas parser du HTML c'est rapidement casse-gueule. Ou alors faut le faire bien avec une vraie lib, mais c'est hors sujet.
Pourquoi tu veux parser du HTML ? Pour trouver une information qui est en clair dans la page rendue ? Alors utilise un browser en ligne de commande :
lynx
!lynx https://freevpn.it/accounts/ --dump
va te faire un fichier texte du rendering de ta page. Du coup, un simplegrep Password
marchera !En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Eviter le travail
Posté par mino60 . Évalué à 0. Dernière modification le 29 mars 2019 à 11:47.
merci mais ca ne fonctionne pas
lynx https://freevpn.it/accounts/ --dump
-bash: lynx: command not found
[^] # Re: Eviter le travail
Posté par bux (site web personnel, Mastodon) . Évalué à 1.
lynx n'est généralement pas installé par défaut sur le système, ex debian like:
apt-get install lynx
🦀🐍 http://github.com/buxx 🖥 https://algoo.fr 📋 https://tracim.fr
[^] # Re: Eviter le travail
Posté par mino60 . Évalué à 1.
je suis sur linux enigma2
not install lynx
https://i.imgur.com/nB0pqAg.png?1
[^] # Re: Eviter le travail
Posté par bux (site web personnel, Mastodon) . Évalué à 1.
Ah oui, alors là je sais pas comment installer lynx sur enigma2. MAis du coups, vu le système je comprend pourquoi tu souhaite faire ça en bash.
Regarde pour faire ton extraction depuis html avec xpath: https://stackoverflow.com/questions/4984689/bash-xhtml-parsing-using-xpath
Sinon, à tout hasard est-ce qu'il y a du python sur cette machine ? (teste d'entrer python --version). Mais je ne pense pas.
🦀🐍 http://github.com/buxx 🖥 https://algoo.fr 📋 https://tracim.fr
[^] # Re: Eviter le travail
Posté par _kaos_ . Évalué à 5.
Salut :)
Et bah, t'es pas sorti de la galère…
Comme tu n'as pas suivi les liens proposés dans ton post précédent ou je parlais d'outils plus adaptés que sed pour parser du HTML, bah sors ta rame et rame galérien.
Je n'ai pas de tambour ni de fouet, mais rame ! Un peu plus vite !
Matricule 23415
# ouch
Posté par fearan . Évalué à 2.
mise à part les usage de sed pour parser du html, tu fais une erreur de la taille d'un éléphant
Je parse ta commande sed
tu as fais l'erreur de faire la commande sed puis ta regex
il vallait mieux faire
sed -ne '#Password:# s#.Password: (.)<\/.*#\1#p'
tu n'es pas obligé d'utiliser / avec sed, généralement ça te plante très facilement ;)
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: ouch (bis)
Posté par zipe31 . Évalué à 1.
Salut,
Autant pour le délimiteur de commandes (substitution (s#…#…#)), on peut le changer tel quel. Autant pour le délimiteur de motif (/…/{commande sed}), il est impératif de protéger le 1er caractère faisant office de nouveau délimiteur.
;-)sed -ne '\#Password:# s#.Password: (.)<\/.*#\1#p'
[^] # Re: ouch (bis)
Posté par mino60 . Évalué à 0.
malheureusement rien ne marche
fichier FreeServertmpb 0kb
[^] # Re: ouch (bis)
Posté par fearan . Évalué à 2.
il manque une * dans la re (.) => (.*)
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: ouch (bis)
Posté par zipe31 . Évalué à 1.
[^] # Re: ouch (bis)
Posté par mino60 . Évalué à 1.
merci beaucoup ça marche ton truc
une autre question si vous le voulez bien comment faire pour avoir le username en première ligne et le Password dans la deuxième ligne
[^] # Re: ouch (bis)
Posté par mino60 . Évalué à 1. Dernière modification le 30 mars 2019 à 19:07.
voila mon script
```
!/bin/sh
*******************************************
/etc/init.d/openvpn stop > /dev/null 2>&1
rm -r -f /etc/openvpn; mkdir /etc/openvpn
wget -q -O- --trust-server-names "https://ia600702.us.archive.org/26/items/dreamosat /cfg.itconf" > /etc/openvpn/cfg.conf
DTMP=`mktemp -d`
CLT='/etc/openvpn/client.conf'
cd $DTMP
vph="https://freevpnme.b-cdn.net/FreeVPN.me-OpenVPN- Bundle.zip"
wget -q -O 'vpn.zip' $vph
find . -type f -name "vpn.zip" -exec unzip {} + > /dev/null 2>&1
for i in */; do find "$i" -type f -exec mv {} "$i" \; && rm -r "$i"*/; done
cd FreeVPN.me-OpenVPN-Bundle
OVPN=`find . -maxdepth 1 -name "*it-UDP-443*" -print`
echo $OVPN
mv $OVPN client.conf
sed -i 's/auth-user-pass/auth-user-pass cfg.itconf/g' client.conf
cp -f client.conf $CLT
echo "Current IP:
wget -qO- http://ipecho.net /plain;echo
"/etc/init.d/openvpn start > /dev/null 2>&1
sleep 8
echo "New IP :
wget -qO- http://ipecho.net /plain;echo
"rm -r -f $DTMP
exit 0
```mais comme le password change souvent j'ai besoin d'extraire l'username et le password de la page html du site et le mettre dans un fichie cfg dans etc/openvpn
[^] # Re: ouch (bis)
Posté par Marc Quinton . Évalué à 2.
souvent, c'est quelle période ?
[^] # Re: ouch (bis)
Posté par mino60 . Évalué à 1. Dernière modification le 30 mars 2019 à 23:26.
j'ai utiliser cette commande
sed -ne 's#.*Username:</b>\([^<]*\).*#\1#p'
et j'ai comme résultat (j'ai juste supprimer l'espace entre le
""
et
"\"
 freevpnit
par contre je veux juste freevpnit ou pptp
[^] # Re: ouch (bis)
Posté par zipe31 . Évalué à 1.
J'ai pas tout pigé à tes explications ;-(
Par contre c'est vraiment dommage que tu ne puisses pas installer lynx ou w3m ;-\$ wget -q -O- https://freevpn.it/accounts/ | sed -ne 's#.*Username:</b>[[:print:]]\([^<]*\).*#\1#p'
freevpnit
```
$ lynx -dump https://freevpn.it/accounts/ | grep -Po '(Password|Username):( |\xA0)\K[^ ]*'
pptp
RVvm5SCUtmoR
freevpnit
RVvm5SCUtmoR
$ w3m -dump -T text/html https://freevpn.it/accounts/ | grep -Po '(Password|Username):( |\xA0)\K[^ ]*'
pptp
RVvm5SCUtmoR
freevpnit
RVvm5SCUtmoR
```
[^] # Re: ouch (bis)
Posté par mino60 . Évalué à 1.
cette commande ne fonctionne pas sur ma machine vu solo 4k linux system python 2.7.13
la commande:
rersultat = Â freevpnitsed -ne 's#.*Username:</b>\([^<]*\).*#\1#p
j'ai utiliser
rien n'a été supprimésed 's/Â.//'
[^] # Re: ouch (bis)
Posté par mino60 . Évalué à 1. Dernière modification le 01 avril 2019 à 21:39.
Finalmente ce si marche bien merci pour votre aide
résulta:
freevpnit
RVvm5SCUtmoR
# avec un parser HTML
Posté par palm123 (site web personnel) . Évalué à 7.
python accounts.py
pptp
RVvm5SCUtmoR
le programme
ウィズコロナ
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.