Retourner à l'accueil du site  
Design:
Accueil
Actu Freenews
FAQ
Forums
Glossaire
Etat du réseau
Dossiers
Dialogue en direct
Liens ADUF
Newsletter
Livre d'or
Statistiques
A propos de l'ADUF
Script autowifi Free/Neuf pour Mac/Linux
Aller en bas de la page
ADUF Index du Forum » Liaison sans fil (Wifi) Aller à la page Précédente  1, 2
Répondre au sujet Voir le sujet précédent : Voir le sujet suivant 
MessagePosté le: Lundi 4 Octobre 2010 19:20:34 NRA : VES78 (Le Vesinet) V2 Tous les DSLAM de ce NRA sont joignablesMembres sur ce NRADétails sur ce NRA Ligne : 2086 m (31 dB) Répondre en citantReporter le post à l'équipe de modération
Trex78
Affirmé
Affirmé

Hors-ligne

Inscrit le : 09 Juin 2010
Messages : 199
Sexe :

Forfait : Freebox Dégroupage Total
Freebox : v5





Kdesu ouvre une fenêtre de demande de mot de passe, ce qui n'était pas le but recherché.
J'ai retrouvé mon fichier de l'époque :
Code:
# sudoers file.
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias WEB=/sbin/ifup eth0, /sbin/ifdown eth0

# Defaults specification

# Runas alias specification

# User privilege specification
root   ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel   ALL=(ALL)   ALL

# Same thing without a password
# %wheel   ALL=(ALL)   NOPASSWD: ALL

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now
%adm localhost=NOPASSWD:WEB

Il permettait aux membres du groupe "adm" d'exécuter les commandes /sbin/ifup eth0, /sbin/ifdown eth0 sans avoir de mot de passe à fournir :
Code:
sudo /sbin/ifup eth0

J'avais mis ça dans une paire de fichiers .desktop (KDE3 à l'époque) et ça roulait.
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Lundi 15 Août 2011 01:19:22 Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne Répondre en citantReporter le post à l'équipe de modération
jeremyp3
Affirmé
Affirmé

Hors-ligne

Inscrit le : 25 Nov 2007
Messages : 133
Sexe :
Ville : Pau

Forfait : Freebox Dégroupage Total





bonjour a tous,

l'interface neuf ayant changer le script ne fonctionne plus sur les hotspots neuf.

quelqu'un aurai un script actualiser?

j'ai essayé de regarder un peu mais bon j'ai pas eu un grand succès

merci d'avances
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Mercredi 18 Janvier 2012 16:35:05 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
Kirol
Nouveau
Nouveau

Hors-ligne

Inscrit le : 18 Jan 2012
Messages : 4
Sexe :

Forfait : Freebox Dégroupage Total





Bonjour, merci pour ce script qui m'a bien été utile pour mon MAC sous OSX 10.6.8 Very Happy

Je l'ai modifié pour répondre à mes besoins et en ai fait une application MAC à l'aide du logiciel "Platypus" où le script ci-desous y est intégré et que vous pouvez trouver là:
http://www.filedropper.com/freesfr

Application FreeSFR:


C'est un .dmg avec l'application à "Glisser" dans les "Applications" et un Fichier Lisez-Moi.txt expliquant comment paramétrer le Login/Password des Compte FreeWifi ou SFR wifi Pubic

.dmg FreeSFR:


De rien à celui à qui cela servira Wink

Je vous joins le script que j'ai modifié:
Code:

#!/bin/bash
source ~/.bash_profile

#original script:
#http://www.aduf.org/viewtopic.php?t=220363&start=0&postdays=0&postorder=asc&highlight=

typeset USER_SFR="user"
typeset PASS_SFR="pass"

typeset USER_FREE="user"
typeset PASS_FREE="pass"

typeset -i TIME_BOUCLE=10


reqhttp()
{
   local URL=$1
   local -i TIMEOUT=$2
   local DATATYPE=$3
   local ARGS=""
   local -i RET=0
   local html=""   
   
   if [[ "$URL" == "" ]]
   then
     URL="http://www.google.fr"
   fi
   
   if [[ $TIMEOUT == 0 ]]
   then
     TIMEOUT=10
   fi
   
   if [[ $# > 3 ]]
   then
     shift 3
 
     while [[ $# > 0 ]]
     do
       if [[ "$DATATYPE" == "DATA" ]]
       then
         ARGS="$ARGS -d $1"
       elif [[ "$DATATYPE" == "ENTETE" ]]
       then
         ARGS="$ARGS -F $1"
       else
         echo "   * ReqHttp: Erreur type Data non géré"
       fi
       
       shift 1
     done
   fi
   
   
   html=$(curl -s -k -L $ARGS --connect-timeout $TIMEOUT --max-time $TIMEOUT "$URL" )
   RET=$?
     
   if [[ $RET == 0 ]]
   then
     PAGEBRUTE=$html
     PAGE=$(echo "$html" | tr -u "[:lower:]" "[:upper:]" 2>/dev/null)
     return $RET
     
   elif [[ $RET == 28 ]]
   then
     echo "   * ReqHttp: Erreur sur GET $URL TIMEOUT (timeout=$TIMEOUT)"
     return $RET
     
   else
     echo "   * ReqHttp: Erreur sur GET $URL ($RET)"
     return $RET
   fi
   
}

testpage()
{
   local -i RET=0
   
   echo " - Test page www.google.fr"
   
   reqhttp "http://www.google.fr" 10
   RET=$?
   
   if [[ $RET == 0 ]]
   then
     RET=255
     echo "$PAGE" | grep -q "<TITLE>GOOGLE</TITLE>" && RET=0
   fi
   
   return $RET
}

freewifi()
{
  local url="https://wifi.Free.fr/Auth"
  local okmatch="CONNEXION AU SERVICE REUSSIE"
  local username="$USER_FREE"
  local password="$PASS_FREE"
   
  SUCCESS="no"
   
  echo "PROGRESS:50"
  echo " - Authentification sur $ESSID ..."

  reqhttp "$url" 10 "ENTETE" "login=$username" "password=$password"
  RET=$?
   
  if [[ $RET == 0 ]]
  then
    echo "$PAGE" | grep -q "$okmatch" && SUCCESS="yes"
   
    if [[ "$SUCCESS" == "yes" ]]
    then
      echo "   Authentification OK"
    else
      echo " * Erreur Authentification (nomath)"
    fi
   
  else
    echo " * Erreur Authentification sur $ESSID (RET=$RET)"
  fi
}

neufwifi()
{
  local url="https://hotspot.neuf.fr/nb4_crypt.php" 
  local username="$USER_SFR"
  local password="$PASS_SFR"
  local newurl=""
  local repauth=""
 
  SUCCESS="no"
 
  echo "PROGRESS:50"
  echo " - Authentification sur $ESSID ..."
 
  #local challenge=$(echo "$PAGE"| sed -En 's|.*&CHALLENGE=([0-9A-Z]+)&.*|\1|p')
  local challenge=$(echo "$PAGEBRUTE"| sed -En 's|.*&challenge=([0-9a-z]+)&.*|\1|p')

   
  if [[ "$challenge" == "" ]]
  then
   
    echo " * Erreur challenge non trouvé dans la page d'authentification"
  else
 
    echo "   - CHALLENGE=$challenge"
 
    reqhttp "$url" 10 "DATA" "username=$username&password=$password&challenge=$challenge&userurl=http%3A%2F%2Fwww.google.fr"
    RET=$?
   
    if [[ $RET == 0 ]]
    then
     
      #newurl=$(echo "$PAGE"| sed -En 's|.*WINDOW.LOCATION.*"(.*)";.*|\1|p')
      newurl=$(echo "$PAGEBRUTE"| sed -En 's|.*window.location.*"(.*)";.*|\1|p')
     
      if [[ "$newurl" > "" ]]
      then
     
        echo "PROGRESS:75"
     
        reqhttp "$newurl" 10
        RET=$?
        if [[ $RET == 0 ]]
        then
       
          repauth=$(echo "$PAGE" | sed -En 's|.*<REPLYMESSAGE>(.*)</REPLYMESSAGE>.*|\1|p')
         
          if [[ "$repauth" == "AUTHENTICATION SUCCESS" ]]
          then
            SUCCESS="yes"
          fi
   
          if [[ "$SUCCESS" == "yes" ]]
          then
            echo "   Authentification OK"
          else
            echo " * Erreur Authentification (repauth=$repauth)"
          fi
         
        else
          echo " * Erreur Authentification sur $ESSID (RET=$RET newurl=$newurl)"
        fi
           
      else
       echo " * Erreur Authentification (pas de newurl)"
      fi
 
    else
      echo " * Erreur Authentification sur $ESSID (RET=$RET)"
    fi
   
  fi
}

getessid()
{
  local -i RET=0
  local TITRE=""
 
  echo "PROGRESS:25" 
  echo " - getessid sur www.google.fr"
 
  reqhttp "http://www.google.fr/" 10
  RET=$?
   
 if [[ $RET == 0 ]]
 then
   TITRE=$(echo "$PAGE" | sed -En 's|.*<TITLE>(.*)</TITLE>.*|\1|p')
   
   if [[ "$TITRE" == "" ]]
   then
     TITRE=$(echo "$PAGE" | sed -En 's|.*<H1>(.*)</H1>.*|\1|p')
   fi
   
   if [[ "$TITRE" == "GOOGLE" ]]
   then
      # connexion active OK
      RET=0
   else
      # On a été redirigé sur une autre page -> page d'authentification
      ESSID="UNKNOWN"
      RET=255
     
      echo "$TITRE" | grep -q "SFR wifi" && ESSID="SFR wifi Public"
      echo "$TITRE" | grep -q "FREEWIFI" && ESSID="FreeWifi"
     
      if [[  "$ESSID" == "UNKNOWN" ]]
      then
         echo " * Erreur getessid TITRE:$TITRE non géré"
         #echo "$PAGE"
      fi
     
   fi
 fi
   
   
  return $RET
}


convcarxml()
{
    local TXT="$1"
   
    TXT=$(echo "$TXT" | sed 's/&lt;/</gp')
    TXT=$(echo "$TXT" | sed 's/&gt;/>/gp')
    TXT=$(echo "$TXT" | sed 's/&quot;/"/gp')
    TXT=$(echo "$TXT" | sed 's/&amp;/&/gp')
   
    echo "$TXT"
}

chargeinfoplist()
{
    local FICINFO="$1"
    local VARIABLE=""
    local VARIABLES=""
    local KEY=""
    local VAL=""
    local VALPARSE=""
   
    if [[ -e "$FICINFO" ]]
    then
           
      VARIABLES=$(cat "$FICINFO" | tr -d "\t\r\n" | sed -En 's|.*<key>LSEnvironment</key><dict>(.*)</dict></dict>.*|\1|p' | sed -n 's|</string>|</string>%|gp' | sed 'y|%|\n|')
     
      #echo "$VARIABLES"
     
      while read VARIABLE
      do
        KEY=$(echo "$VARIABLE" | sed -En 's|.*<key>(.*)</key>.*|\1|p')
        VAL=$(echo "$VARIABLE" | sed -En 's|.*<string>(.*)</string>.*|\1|p')
        VALPARSE=$(convcarxml "$VAL")
       
        #echo "$KEY=$VAL"
        if [[ "$KEY" > "" ]]
        then
          export $KEY="$VALPARSE"
        fi
       
      done < <(echo "$VARIABLES")
     
    fi
}

typeset -i RET=0
typeset ESSID="UNKNOWN"
typeset SUCCESS="no"
typeset PAGE=""
typeset PAGEBRUTE=""

echo "PROGRESS:0"

chargeinfoplist "../info.plist"

if [[ "$SFR_USER" > "" ]]; then USER_SFR="$SFR_USER";  fi;
if [[ "$SFR_PASS" > "" ]]; then PASS_SFR="$SFR_PASS"; fi;
if [[ "$FREE_USER" > "" ]]; then USER_FREE="$FREE_USER"; fi;
if [[ "$FREE_PASS" > "" ]]; then PASS_FREE="$FREE_PASS"; fi;
if [[ "$CHECK_TIME" > "" ]]; then TIME_BOUCLE="$CHECK_TIME"; fi;

#echo "USER_SFR=$USER_SFR"
#echo "PASS_SFR=$PASS_SFR"
#echo "USER_FREE=$USER_FREE"
#echo "PASS_FREE=$PASS_FREE"
#echo "TIME_BOUCLE=$TIME_BOUCLE"



while true
do
  clear 2>/dev/null
  echo "Test de connexion en cours, veuillez patienter..."
  getessid
  RET=$?

  if [[ $RET == 0 ]]
  then
    echo "PROGRESS:100"
    echo "connexion OK"
 
  elif [[ $RET == 255 ]]
  then
    SUCCESS="no"
   
    echo "PROGRESS:0"

    echo "Authentification en cours sur $ESSID ..."

    case "${ESSID}" in
       ("FreeWifi") freewifi ;;
       ("Neuf wifi"|"SFR wifi Public") neufwifi ;;
       (*) echo " * ESSID non géré (${ESSID})" ;;
    esac
 
    if [[ "$SUCCESS" == "yes" ]]
    then
      echo "PROGRESS:100"
      echo "Authentification sur $ESSID OK"
    else
      echo "PROGRESS:0"
      echo " * Erreur sur authentification $ESSID"
    fi
 
  else
    echo "PROGRESS:0"
    echo " * Erreur connexion KO (RET=$RET)"
  fi
 
  #exit 0
  sleep $TIME_BOUCLE
 
done

exit 0
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Vendredi 1 Juin 2012 13:41:49 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
dump
Nouveau
Nouveau

Hors-ligne

Inscrit le : 01 Juin 2012
Messages : 5
Sexe :

Forfait : Freebox Only IP/ADSL Max2





Bonjour à tous !
Je cherche à mettre en place une passerelle pour que mes clients (PC + SmartPhones) puissent se connecter sur un SSID Home qui proxifie sur SFR wifi Public.

J'ai installé OpenWRT sur mon WRT54GL.
En créant un profil en mode Sta bridgé sur WAN et un profil AP bridgé sur LAN, ça fonctionne ; j'ai bien la page d'authentification wifi SFR Public.

Je cherche un script qui va authentifier ma box pour que n'avoir aucune action a réaliser sur mes clients.
C'est là que ça se complique ...

J'ai essayé les 2 scripts mais ils ne fonctionnent pas ;
Le premier ressemble à ce qui pourrait être interprétable par le bustbox d'OpenWRT mais l'url de SFR semble avoir changé.

Y aurait il quelqu'un pour m'aider à rentre le script fonctionnel ?

Merci
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Vendredi 1 Juin 2012 13:59:53 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
Kirol
Nouveau
Nouveau

Hors-ligne

Inscrit le : 18 Jan 2012
Messages : 4
Sexe :

Forfait : Freebox Dégroupage Total





local url="https://hotspot.neuf.fr/nb4_crypt.php"
par
local url="https://hotspot.wifi.sfr.fr/nb4_crypt.php"


de rien Wink
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Vendredi 1 Juin 2012 14:23:16 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
dump
Nouveau
Nouveau

Hors-ligne

Inscrit le : 01 Juin 2012
Messages : 5
Sexe :

Forfait : Freebox Only IP/ADSL Max2





Kirol a écrit:
local url="https://hotspot.neuf.fr/nb4_crypt.php"
par
local url="https://hotspot.wifi.sfr.fr/nb4_crypt.php"


de rien Wink


Il me semble que j'avais testé ... mais je reteste ce soir.
Merci
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Vendredi 1 Juin 2012 19:49:18 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
dump
Nouveau
Nouveau

Hors-ligne

Inscrit le : 01 Juin 2012
Messages : 5
Sexe :

Forfait : Freebox Only IP/ADSL Max2





J'ai modifier le curl pour récupérer le ssid mais j'ai droit à un :

line 56: curl: not found
not the login page

une idée ?
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Samedi 2 Juin 2012 14:00:33 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
Kirol
Nouveau
Nouveau

Hors-ligne

Inscrit le : 18 Jan 2012
Messages : 4
Sexe :

Forfait : Freebox Dégroupage Total





le programme curl est introuvable ?

Sur MAC il est par défaut accessible alors soit sur ta version de linux il n'y est pas, soit il n'est pas accessible depuis l'endroit ou tu lance ton script ?
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Samedi 2 Juin 2012 19:43:05 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
dump
Nouveau
Nouveau

Hors-ligne

Inscrit le : 01 Juin 2012
Messages : 5
Sexe :

Forfait : Freebox Only IP/ADSL Max2





Kirol a écrit:
le programme curl est introuvable ?

Sur MAC il est par défaut accessible alors soit sur ta version de linux il n'y est pas, soit il n'est pas accessible depuis l'endroit ou tu lance ton script ?


Bien vu !
j'ai installé curl et maintenant j'ai not the login page.
je pense que le curl -s -k -L "http://192.168.2.1:3990/logon?username=ssowifi.neuf.fr/${username}&response=${response}&uamip=192.168.2.1&userurl=http%3A%2F%2Fwww.fon.com%2Ffr%2Flanding%2Ffoneroneufbox%3Bfon%3B%3B&lang=fr&ARCHI" | \ a du changer ....
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Lundi 4 Juin 2012 09:29:50 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
Kirol
Nouveau
Nouveau

Hors-ligne

Inscrit le : 18 Jan 2012
Messages : 4
Sexe :

Forfait : Freebox Dégroupage Total





Prends le script ci dessus que j'ai adapté pour mac en remplaçant l'url que je t'ai dit

Fais attention c'est un script bash pour mac et certaines commandes non pas forcement les même arguments genre par exemple
sed -En -> sed -nr (sous linux je crois)

Sinon effectivement l'url ne doit pas être bonne et dans le script ci-dessus elle est récupérée dans la page HTML par la commande : newurl=$(echo "$PAGEBRUTE"| sed -En 's|.*window.location.*"(.*)";.*|\1|p')
ce qui devrait donner un truc comme ca dans le premier script de ce forum :

../..
local url="https://hotspot.wifi.sfr.fr/nb4_crypt.php"
local okmatch="licitations"
local username="9876543210"
local password="password_neuf"


response=$(curl -s -k -L -d "username=$username&password=$password&challenge=$challenge&userurl=http%3A%2F%2Fwww.google.fr" --connect-timeout 20 --max-time 20 "$url" )

newurl=$(echo "$response"| sed -nr 's|.*window.location.*"(.*)";.*|\1|p')

curl -s -k -L --connect-timeout 20 --max-time 20 "$newurl"
../..


Dernière édition par Kirol le Lundi 4 Juin 2012 09:42:24; édité 2 fois
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Mercredi 6 Juin 2012 08:49:48 Aucun numéro de ligne indiqué dans le profil Répondre en citantReporter le post à l'équipe de modération
dump
Nouveau
Nouveau

Hors-ligne

Inscrit le : 01 Juin 2012
Messages : 5
Sexe :

Forfait : Freebox Only IP/ADSL Max2





Merci Kirol
Je teste ça des que possible.
Voir le profil de l'utilisateur Envoyer un message privé
 ADUF Index du Forum »  Liaison sans fil (Wifi) Aller en haut de la page
Toutes les heures sont à l'heure légale française  
Page 2 sur 2  
Aller à la page Précédente  1, 2
  
Sauter vers:  
Répondre au sujet  


Déclaration CNIL n°1012304 Partiellement basé sur phpBB © 2001, 2006 phpBB Group Traduction par : phpBB-fr.com