Forum Freedom-IP

Forum d'entraide de la communauté Freedom-IP

Vous n'êtes pas identifié(e).

#1 2015-03-11 10:31:58

Didier-T
Contributeurs Confirmés
Lieu : Argenteuil
Inscription : 2014-02-01
Messages : 323

[Linux & Windows ] [Python] Bibliothèque pour l'API Freedom-IP

Bonjour à tous,
les développements d'interface pour l'utilisation de FIP commencent à s'intensifier, il semblait judicieux de mettre à jour cette bibliothèque et d'en expliquer le fonctionnement.

Il s'agit donc d'une bibliothèque écrite en Python permettant un accès simplifié à l'API Freedom-IP mis à notre disposition par notre cher Xamzab.

Utilisation de la bibliothèque


Dans un premier temp, il nous faut l'importé dans notre script

from freedom_ip_lib import freedom

Ensuite nous ouvrons une instance de dialogue

self.Token=freedom(user, password, path, vtime)

user = nom d'utilisateur VPN
password = mot de passe du VPN
path = chemin ou stoker la clef d'identification pour les requêtes suivantes (Token), ce chemin doit exister (il ne sera pas créé par la bibliothèque)
vtime = durée de vie de la clef d'identification exprimée en heure entre 1 et 24 (cette valeur est optionnelle, par défaut 1 heure)


Enfin demander les informations

self.Token.Dons()
self.Token.FairUse()
self.Token.HTTPSEverywhere()
self.Token.ProxyRules()
self.Token.DNSConfig()
self.Token.StarPass()
self.Token.GetAllServersInfos()
self.Token.IsLogged()

Vous pouvez observer que nous utilisons le nom donné à l'instance précédemment ouverte pour faire nos demandes d'information
Certains retours sont sous forme de tableau, d'autres sous forme de dictionnaire, pour le moment IsLogged ne renvoi qu'une information booléenne (true ou false).

Pour ceux qui comme moi ont des soucis avec les explications, ne vous inquiétez pas, dans l'archive avec la bibliothèque il y a un script qui peut servir d'exemple (avec traitement des données reçu)

Lien vers l'archive

L'archive ce situe ici

Amusez vous bien,
Didier.

Change log

Modification du 11/03/2015 :

  1. ajout du support de la durée de vie d'un token

  2. support Os Linux et Linux

Modification du 01/04/2015 :

  1. Modification de la gestion du Token

  2. Retour d'information sur le terminal

  3. Ajout d'une fonction de test dans la Bibliothèque

Dernière modification par Didier-T (2015-04-01 14:55:43)

Hors ligne

#2 2015-03-11 11:56:26

Polizei
Membres de confiance
Inscription : 2013-12-27
Messages : 403

Re : [Linux & Windows ] [Python] Bibliothèque pour l'API Freedom-IP

À noter que a priori le token possède maintenant une variable "heure" qui est réglable de 1 à 24 correspondant à la durée en heure(s) de la validité du token.

Mais il me semble que ta bibliothèque gère le token indépendamment de sa durée de vie (s’il n’éxiste pas : il le créé, s’il éxiste déjà : il utilise, s’il n’est plus valable : il en créé un autre...) et donc il n’y a rien besoin de modifier à mes yeux pour l’instant.
Edit : du moins c’est ce comportement qu’on observe sur ta traduction/version Windows...

Merci pour ton active participation en passant  kiss

Hors ligne

#3 2015-03-11 15:44:51

Didier-T
Contributeurs Confirmés
Lieu : Argenteuil
Inscription : 2014-02-01
Messages : 323

Re : [Linux & Windows ] [Python] Bibliothèque pour l'API Freedom-IP

Bonjour Polizei,
en fait je n'y avais pas fait attention.
Par contre l'a bibliothèque regarde l'âge du token (si existant), pour savoir s'il faut en générer un nouveau.

Les codes sont à jour.

A+,
Didier.

Edit : Maintenant les scripts fonctionnes sous Windows et Linux

Dernière modification par Didier-T (2015-03-11 18:16:56)

Hors ligne

#4 2015-04-01 10:20:59

Didier-T
Contributeurs Confirmés
Lieu : Argenteuil
Inscription : 2014-02-01
Messages : 323

Re : [Linux & Windows ] [Python] Bibliothèque pour l'API Freedom-IP

Bonjour à tous,
Mise a jour de la bibliothèque (en fait il s’agit d'une réécriture).

Utilisation identique a l'ancienne bibliothèque.
Ajout d'une fonction de démonstration, et d'exploration des retours de l'API.

Code source

#! /usr/bin/python
# -*- coding: utf-8 -*-
# Par Didier-T pour les utilisateurs de Freedom-IP

########################################################################
#                                                                      #
#                            UTILISATION                               #
#                                                                      #
########################################################################
#                                                                      #
# from freedom_ip_lib import freedom                                   #
#                                                                      #
# user="Identifiant VPN"                                               #
# password="Mot de passe VPN"                                          #
# path="Chemin de stockage clef VPN" (nom généré automatiquement)      #
# Time="temp de validité du Token entre 1 et 24 heure(s)"              #
#                                                                      #
# Token=freedom(user, password, path, Time)                            #
#                                                                      #
# IsLogged=Token.IsLogged()                                            #
# FairUse=Token.FairUse()                                              #
# DNSConfig=Token.DNSConfig()                                          #
# Dons=Token.Dons()                                                    #
# StarPass=Token.StarPass()                                            #
# ProxyRules=Token.ProxyRules()                                        #
# HTTPSEverywhere=Token.HTTPSEverywhere()                              #
# GetAllServersInfos=Token.GetAllServersInfos()                        #
#                                                                      #
########################################################################

########################################################################
#                                                                      #
#                   UTILISATION FONCTION TEST API                      #
#                                                                      #
########################################################################
#                                                                      #
# python freedom_ip_lib .py user password                               #
#                                                                      #
########################################################################

import urllib, urllib2, os, time, platform, json
import marshal
from re import search, compile
try:
    import ssl
except:
    pass

class freedom():
    def __init__(self, user, password, path, vtime=1):
        self.user=user
        self.password=password
        self.path=path
        self.vtime=int(vtime)
        self.token=None
        self.delais=self.vtime*3600
        self.file_token=self.path+"/"+self.user+".token"
        # Si le fichier Freedom.token existe, on regarde l'heure de sa dernière modification
        if os.path.isfile(self.file_token):
            self.dernier_token=int(os.path.getmtime(self.file_token))
        else:
            self.dernier_token=0
        self._token("ok")

    def _past(self, url, args):
        params = urllib.urlencode(args)
        req = urllib2.Request(url, params)
        if platform.system() != 'Linux':
            gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
            response = urllib2.urlopen(req, context=gcontext)
        else:
            response = urllib2.urlopen(req)
        data=json.loads(response.read())
        return data

    def _token(self, status):
        print("[\033[33mINFO\033[0m] Récupération clef Token")
        token={}
        def _recherchetoken(token):
            #token=eval(token)
            if token['created_token']=="null":
                expire=compile("expire on (.*)").search(token['reason']).group(1)
                self.dernier_token=int(time.mktime(time.strptime(expire, "%d/%m/%Y at %H:%M:%S")))-self.delais
                return token['token']
            else:
                return token['created_token']

        # si le fichier Freedom-IP.token a été modifier il y a 1 heure ou plus demande d'un nouveau Token
        if int(time.time())-self.dernier_token >= self.delais or status=="bad":
            if status=="bad":
                print("[\033[33mINFO\033[0m] Demande nouvelle clef Token suite erreur")
            else:
                print("[\033[33mINFO\033[0m] Demande nouvelle clef Token suite fin de validité")
            token=self._past('https://freedom-ip.com/api/login.fip', {'username':self.user, 'password':self.password, 'expire_long':self.vtime})
            self.token=_recherchetoken(token)
            self.dernier_token=int(time.time())
            fiche = open(self.file_token, "wb")
            marshal.dump(token, fiche)
            fiche.close()

        else:
            if self.token is None:
                fiche = open(self.file_token, "rb")
                try:
                    token=marshal.load(fiche)
                except:
                    print("[\033[31mFAIL\033[0m] Fichier Token incorrecte")
                    print("[\033[33mINFO\033[0m] Création d'un nouveau fichier Token")
                    self._token("bad")
                    print("[\033[32m OK \033[0m] Nouvelle clef Token obtenu")
                    return
                self.token=_recherchetoken(token)
                fiche.close()

        print("[\033[32m OK \033[0m] clef Token obtenu")

    def _info(self, recherche):
        print("[\033[33mINFO\033[0m] Demande "+recherche)

        if recherche=="IsLogged" or recherche=="GetFairUse" or recherche=="GetDNSConfig":
            response=self._past('https://freedom-ip.com/api/vpn.fip', {'token':self.token, 'method':recherche})
        elif recherche=="GetDons" or recherche=="GetStarPass":
            response=self._past('https://freedom-ip.com/api/users.fip', {'token':self.token, 'method':recherche})
        elif recherche=="GetProxyRules" or recherche=="GetHTTPSEverywhere":
            response=self._past('https://freedom-ip.com/api/proxy.fip', {'token':self.token, 'method':recherche})
        elif recherche=="GetAllServersInfos":
            response=self._past('https://freedom-ip.com/api/servers.fip', {'token':self.token, 'method':recherche})

        return response

    def _verif(self, informations, recherche):
        try:
            status=informations["status"]
        except:
            status="ok"
        if status=="ok":
            print("[\033[32m OK \033[0m] "+recherche)
            return informations
        else:
            print("[\033[31mFAIL\033[0m] Demande d'un nouveau Token")
            self._token(status)
            response=self._info(recherche)
            print("[\033[32m OK \033[0m] "+recherche)
            return response


    def IsLogged(self):
        response=self._info("IsLogged")
        return self._verif(response, "IsLogged")

    def FairUse(self):
        response=self._info("GetFairUse")
        return self._verif(response, "GetFairUse")

    def DNSConfig(self):
        response=self._info("GetDNSConfig")
        return self._verif(response, "GetDNSConfig")

    def Dons(self):
        response=self._info("GetDons")
        return self._verif(response, "GetDons")

    def StarPass(self):
        response=self._info("GetStarPass")
        return self._verif(response, "GetStarPass")

    def ProxyRules(self):
        response=self._info("GetProxyRules")
        return self._verif(response, "GetProxyRules")

    def HTTPSEverywhere(self):
        response=self._info("GetHTTPSEverywhere")
        return self._verif(response, "GetHTTPSEverywhere")

    def GetAllServersInfos(self):
        response=self._info("GetAllServersInfos")
        return self._verif(response, "GetAllServersInfos")

def arbres(jstr):
    tableau=[]

    def decoupage(nom, valeur):
        if type(valeur)==list:
            nb=0
            for x in valeur:
                decoupage(nom+"["+str(nb)+"]", x)
                nb+=1
        elif type(valeur)==dict:
            for x in valeur:
                decoupage(nom+"["+x+"]", valeur[x])
        else:
            try:
                tableau.append(nom+"="+valeur)
            except:
                tableau.append(nom+"="+str(valeur))

    if type(jstr)==list:
        nb=0
        for x in jstr:
            decoupage("["+str(nb)+"]", x)
            nb+=1
    elif type(jstr)==dict:
        for x in jstr:
            decoupage("["+x+"]", jstr[x])
    else:
        tableau.append(str(jstr))

    return tableau




def _test():
    import sys

    class Timer(object):
        def start(self):
            if hasattr(self, 'interval'):
                del self.interval
            self.start_time = time.time()
        def inter(self):
            if hasattr(self, 'start_time'):
                self.interval = time.time() - self.start_time
        def stop(self):
            if hasattr(self, 'start_time'):
                self.interval = time.time() - self.start_time
                del self.start_time

    timer = Timer()
    path=os.path.dirname(os.path.abspath(__file__))
    user=str(sys.argv[1])
    password=str(sys.argv[2])

    timer.start()
    api=[]
    Token=freedom(user, password, path, 1)
    list_api=['IsLogged','FairUse','DNSConfig','Dons','StarPass','StarPass','ProxyRules','HTTPSEverywhere','GetAllServersInfos']
    api.append(Token.IsLogged())
    api.append(Token.FairUse())
    api.append(Token.DNSConfig())
    api.append(Token.Dons())
    api.append(Token.StarPass())
    api.append(Token.ProxyRules())
    api.append(Token.HTTPSEverywhere())
    api.append(Token.GetAllServersInfos())

    timer.inter()
    t1=timer.interval

    for x in range(0,len(api)):
        print("\033[41mArbre retour fonction \033[1m{}()\033[0;41m :\033[0m".format(list_api[x]))
        print('\n'.join(arbres(api[x])))
        print('\n')

    print("\033[41mChronomètre :\033[0m")
    timer.stop()
    print 'Temp consultation API :', t1
    print 'Temp exploration arbres :', timer.interval-t1
    print 'Temp consultation API + exploration arbres :', timer.interval


if __name__ == '__main__':
    _test()

Exemple de retour de la fonction de test

[== Indéfini ==]
[INFO] Récupération clef Token
[ OK ] clef Token obtenu
[INFO] Demande IsLogged
[ OK ] IsLogged
[INFO] Demande GetFairUse
[ OK ] GetFairUse
[INFO] Demande GetDNSConfig
[ OK ] GetDNSConfig
[INFO] Demande GetDons
[ OK ] GetDons
[INFO] Demande GetStarPass
[ OK ] GetStarPass
[INFO] Demande GetProxyRules
[ OK ] GetProxyRules
[INFO] Demande GetHTTPSEverywhere
[ OK ] GetHTTPSEverywhere
[INFO] Demande GetAllServersInfos
[ OK ] GetAllServersInfos
Arbre retour fonction IsLogged() :
True


Arbre retour fonction FairUse() :
[status]=ok
[ReceivedData]=48426911008
[UsedFairUse]=52961124221
[LeftFairUse]=779349850652.6
[SentData]=4534213213
[IsOverFairUse]=0
[SpeedOverFaiUse]=128
[IsUnmeteredFairUse]=False
[FairUse]=832310974873.6


Arbre retour fonction DNSConfig() :
[primary_dns]=195.154.46.20
[secondary_dns]=195.154.35.181


Arbre retour fonction Dons() :
[0][category]=bonus
[0][email]=xxxxxx@xxxxx.xxx
[0][montant]=10
[0][datetime]=1422399600
[1][category]=lepotcommun
[1][email]=xxxxxx@xxxxx.xxx
[1][montant]=35.2
[1][datetime]=1420844400
[2][category]=lepotcommun
[2][email]=xxxxxx@xxxxx.xxx
[2][montant]=1.8
[2][datetime]=1412373600
[3][category]=lepotcommun
[3][email]=xxxxxx@xxxxx.xxx
[3][montant]=1.8
[3][datetime]=1409608800
[4][category]=lepotcommun
[4][email]=xxxxxx@xxxxx.xxx
[4][montant]=1.8
[4][datetime]=1407016800
[5][category]=bankeez
[5][email]=xxxxxx@xxxxx.xxx
[5][montant]=1.25
[5][datetime]=1404338400
[6][category]=bankeez
[6][email]=xxxxxx@xxxxx.xxx
[6][montant]=1.25
[6][datetime]=1401573600
[7][category]=bonus
[7][email]=xxxxxx@xxxxx.xxx
[7][montant]=3.3
[7][datetime]=1393630688
[8][category]=bankeez
[8][email]=xxxxxx@xxxxx.xxx
[8][montant]=10,00
[8][datetime]=1393110000


Arbre retour fonction StarPass() :



Arbre retour fonction StarPass() :



Arbre retour fonction ProxyRules() :
[IsHTTPSEveryWhereEnabled]=1


Arbre retour fonction HTTPSEverywhere() :
[0][server_id]=FR1
[0][server_ports][0]=443|TCP
[0][server_ports][1]=443|UDP
[0][server_ports][2]=53|TCP
[0][server_ports][3]=53|UDP
[0][server_ports][4]=1194|TCP
[0][server_ports][5]=1194|UDP
[0][server_ports][6]=8080|TCP
[0][server_ports][7]=110|TCP
[0][server_ports][8]=995|TCP
[0][nb_users]=45
[0][server_status]=1
[0][server_pptp]=1
[0][server_upload]=5290038
[0][server_download]=5328749
[0][server_country]=France
[0][server_proxy]=1
[0][server_openvpn]=1
[0][server_ipv4][0]=195.154.36.19
[1][server_id]=FR2
[1][server_ports][0]=443|TCP
[1][server_ports][1]=443|UDP
[1][server_ports][2]=53|TCP
[1][server_ports][3]=53|UDP
[1][server_ports][4]=1194|TCP
[1][server_ports][5]=1194|UDP
[1][server_ports][6]=8080|TCP
[1][server_ports][7]=110|TCP
[1][server_ports][8]=995|TCP
[1][nb_users]=5
[1][server_status]=1
[1][server_pptp]=1
[1][server_upload]=78241
[1][server_download]=51428
[1][server_country]=France
[1][server_proxy]=1
[1][server_openvpn]=1
[1][server_ipv4][0]=5.196.248.208
[1][server_ipv4][1]=5.196.248.209
[1][server_ipv4][2]=5.196.248.210
[2][server_id]=NL1
[2][server_ports][0]=443|TCP
[2][server_ports][1]=443|UDP
[2][server_ports][2]=53|TCP
[2][server_ports][3]=53|UDP
[2][server_ports][4]=1194|TCP
[2][server_ports][5]=1194|UDP
[2][server_ports][6]=8080|TCP
[2][server_ports][7]=110|TCP
[2][server_ports][8]=995|TCP
[2][nb_users]=59
[2][server_status]=1
[2][server_pptp]=1
[2][server_upload]=2396275
[2][server_download]=2359748
[2][server_country]=Pays-Bas
[2][server_proxy]=1
[2][server_openvpn]=1
[2][server_ipv4][0]=5.196.186.108
[2][server_ipv4][1]=5.196.186.109
[2][server_ipv4][2]=5.196.186.110
[3][server_id]=NL2
[3][server_ports][0]=443|TCP
[3][server_ports][1]=443|UDP
[3][server_ports][2]=53|TCP
[3][server_ports][3]=53|UDP
[3][server_ports][4]=1194|TCP
[3][server_ports][5]=1194|UDP
[3][server_ports][6]=8080|TCP
[3][server_ports][7]=110|TCP
[3][server_ports][8]=995|TCP
[3][nb_users]=33
[3][server_status]=1
[3][server_pptp]=1
[3][server_upload]=598454
[3][server_download]=619033
[3][server_country]=Pays-Bas
[3][server_proxy]=1
[3][server_openvpn]=1
[3][server_ipv4][0]=5.196.184.16
[3][server_ipv4][1]=5.196.184.17
[3][server_ipv4][2]=5.196.184.18
[4][server_id]=NL3
[4][server_ports][0]=443|TCP
[4][server_ports][1]=443|UDP
[4][server_ports][2]=53|TCP
[4][server_ports][3]=53|UDP
[4][server_ports][4]=1194|TCP
[4][server_ports][5]=1194|UDP
[4][server_ports][6]=8080|TCP
[4][server_ports][7]=110|TCP
[4][server_ports][8]=995|TCP
[4][nb_users]=32
[4][server_status]=1
[4][server_pptp]=1
[4][server_upload]=1820436
[4][server_download]=1875261
[4][server_country]=Pays-Bas
[4][server_proxy]=1
[4][server_openvpn]=1
[4][server_ipv4][0]=5.196.184.0
[4][server_ipv4][1]=5.196.184.1
[4][server_ipv4][2]=5.196.184.2
[5][server_id]=NL4
[5][server_ports][0]=443|TCP
[5][server_ports][1]=443|UDP
[5][server_ports][2]=53|TCP
[5][server_ports][3]=53|UDP
[5][server_ports][4]=1194|TCP
[5][server_ports][5]=1194|UDP
[5][server_ports][6]=8080|TCP
[5][server_ports][7]=110|TCP
[5][server_ports][8]=995|TCP
[5][nb_users]=25
[5][server_status]=1
[5][server_pptp]=1
[5][server_upload]=512269
[5][server_download]=488157
[5][server_country]=Pays-Bas
[5][server_proxy]=1
[5][server_openvpn]=1
[5][server_ipv4][0]=178.33.89.168
[5][server_ipv4][1]=178.33.89.169
[5][server_ipv4][2]=178.33.89.170
[6][server_id]=DE1
[6][server_ports][0]=443|TCP
[6][server_ports][1]=443|UDP
[6][server_ports][2]=53|TCP
[6][server_ports][3]=53|UDP
[6][server_ports][4]=1194|TCP
[6][server_ports][5]=1194|UDP
[6][server_ports][6]=8080|TCP
[6][server_ports][7]=110|TCP
[6][server_ports][8]=995|TCP
[6][nb_users]=32
[6][server_status]=1
[6][server_pptp]=1
[6][server_upload]=1522087
[6][server_download]=1517243
[6][server_country]=Allemagne
[6][server_proxy]=1
[6][server_openvpn]=1
[6][server_ipv4][0]=5.135.29.52
[6][server_ipv4][1]=5.135.29.53
[6][server_ipv4][2]=5.135.29.54
[7][server_id]=DE2
[7][server_ports][0]=443|TCP
[7][server_ports][1]=443|UDP
[7][server_ports][2]=53|TCP
[7][server_ports][3]=53|UDP
[7][server_ports][4]=1194|TCP
[7][server_ports][5]=1194|UDP
[7][server_ports][6]=8080|TCP
[7][server_ports][7]=110|TCP
[7][server_ports][8]=995|TCP
[7][nb_users]=12
[7][server_status]=1
[7][server_pptp]=1
[7][server_upload]=376476
[7][server_download]=327999
[7][server_country]=Allemagne
[7][server_proxy]=1
[7][server_openvpn]=1
[7][server_ipv4][0]=5.135.29.56
[7][server_ipv4][1]=5.135.29.57
[7][server_ipv4][2]=5.135.29.58
[8][server_id]=ES1
[8][server_ports][0]=443|TCP
[8][server_ports][1]=443|UDP
[8][server_ports][2]=53|TCP
[8][server_ports][3]=53|UDP
[8][server_ports][4]=1194|TCP
[8][server_ports][5]=1194|UDP
[8][server_ports][6]=8080|TCP
[8][server_ports][7]=110|TCP
[8][server_ports][8]=995|TCP
[8][nb_users]=14
[8][server_status]=1
[8][server_pptp]=1
[8][server_upload]=4684618
[8][server_download]=4823376
[8][server_country]=Espagne
[8][server_proxy]=1
[8][server_openvpn]=1
[8][server_ipv4][0]=5.196.111.184
[8][server_ipv4][1]=5.196.111.185
[8][server_ipv4][2]=5.196.111.186
[9][server_id]=UK1
[9][server_ports][0]=443|TCP
[9][server_ports][1]=443|UDP
[9][server_ports][2]=53|TCP
[9][server_ports][3]=53|UDP
[9][server_ports][4]=1194|TCP
[9][server_ports][5]=1194|UDP
[9][server_ports][6]=8080|TCP
[9][server_ports][7]=110|TCP
[9][server_ports][8]=995|TCP
[9][nb_users]=9
[9][server_status]=1
[9][server_pptp]=1
[9][server_upload]=1028145
[9][server_download]=1029798
[9][server_country]=Royaume-Uni
[9][server_proxy]=1
[9][server_openvpn]=1
[9][server_ipv4][0]=37.59.93.36
[9][server_ipv4][1]=37.59.93.37
[9][server_ipv4][2]=37.59.93.38
[10][server_id]=IE1
[10][server_ports][0]=443|TCP
[10][server_ports][1]=443|UDP
[10][server_ports][2]=53|TCP
[10][server_ports][3]=53|UDP
[10][server_ports][4]=1194|TCP
[10][server_ports][5]=1194|UDP
[10][server_ports][6]=8080|TCP
[10][server_ports][7]=110|TCP
[10][server_ports][8]=995|TCP
[10][nb_users]=8
[10][server_status]=1
[10][server_pptp]=1
[10][server_upload]=1539900
[10][server_download]=1531240
[10][server_country]=Irlande
[10][server_proxy]=1
[10][server_openvpn]=1
[10][server_ipv4][0]=5.39.46.188
[10][server_ipv4][1]=5.39.46.189
[10][server_ipv4][2]=5.39.46.190
[11][server_id]=CZ1
[11][server_ports][0]=443|TCP
[11][server_ports][1]=443|UDP
[11][server_ports][2]=53|TCP
[11][server_ports][3]=53|UDP
[11][server_ports][4]=1194|TCP
[11][server_ports][5]=1194|UDP
[11][server_ports][6]=8080|TCP
[11][server_ports][7]=110|TCP
[11][server_ports][8]=995|TCP
[11][nb_users]=10
[11][server_status]=1
[11][server_pptp]=1
[11][server_upload]=1195586
[11][server_download]=1124769
[11][server_country]=Republique-Tcheque
[11][server_proxy]=1
[11][server_openvpn]=1
[11][server_ipv4][0]=5.196.186.112
[11][server_ipv4][1]=5.196.186.113
[11][server_ipv4][2]=5.196.186.114
[12][server_id]=LT1
[12][server_ports][0]=443|TCP
[12][server_ports][1]=443|UDP
[12][server_ports][2]=53|TCP
[12][server_ports][3]=53|UDP
[12][server_ports][4]=1194|TCP
[12][server_ports][5]=1194|UDP
[12][server_ports][6]=8080|TCP
[12][server_ports][7]=110|TCP
[12][server_ports][8]=995|TCP
[12][nb_users]=14
[12][server_status]=1
[12][server_pptp]=1
[12][server_upload]=956419
[12][server_download]=911251
[12][server_country]=Lituanie
[12][server_proxy]=1
[12][server_openvpn]=1
[12][server_ipv4][0]=5.196.202.64
[12][server_ipv4][1]=5.196.202.65
[12][server_ipv4][2]=5.196.202.66
[13][server_id]=BE1
[13][server_ports][0]=443|TCP
[13][server_ports][1]=443|UDP
[13][server_ports][2]=53|TCP
[13][server_ports][3]=53|UDP
[13][server_ports][4]=1194|TCP
[13][server_ports][5]=1194|UDP
[13][server_ports][6]=8080|TCP
[13][server_ports][7]=110|TCP
[13][server_ports][8]=995|TCP
[13][nb_users]=12
[13][server_status]=1
[13][server_pptp]=1
[13][server_upload]=1949431
[13][server_download]=1981795
[13][server_country]=Belgique
[13][server_proxy]=1
[13][server_openvpn]=1
[13][server_ipv4][0]=5.196.186.116
[13][server_ipv4][1]=5.196.186.117
[13][server_ipv4][2]=5.196.186.118
[14][server_id]=PL1
[14][server_ports][0]=443|TCP
[14][server_ports][1]=443|UDP
[14][server_ports][2]=53|TCP
[14][server_ports][3]=53|UDP
[14][server_ports][4]=1194|TCP
[14][server_ports][5]=1194|UDP
[14][server_ports][6]=8080|TCP
[14][server_ports][7]=110|TCP
[14][server_ports][8]=995|TCP
[14][nb_users]=3
[14][server_status]=1
[14][server_pptp]=1
[14][server_upload]=684214
[14][server_download]=787410
[14][server_country]=Pologne
[14][server_proxy]=1
[14][server_openvpn]=1
[14][server_ipv4][0]=5.196.154.92
[14][server_ipv4][1]=5.196.154.93
[14][server_ipv4][2]=5.196.154.94
[15][server_id]=CH1
[15][server_ports][0]=443|TCP
[15][server_ports][1]=443|UDP
[15][server_ports][2]=53|TCP
[15][server_ports][3]=53|UDP
[15][server_ports][4]=1194|TCP
[15][server_ports][5]=1194|UDP
[15][server_ports][6]=8080|TCP
[15][server_ports][7]=110|TCP
[15][server_ports][8]=995|TCP
[15][nb_users]=10
[15][server_status]=1
[15][server_pptp]=1
[15][server_upload]=635367
[15][server_download]=625037
[15][server_country]=Suisse
[15][server_proxy]=1
[15][server_openvpn]=1
[15][server_ipv4][0]=5.196.103.136
[15][server_ipv4][1]=5.196.103.137
[15][server_ipv4][2]=5.196.103.138
[16][server_id]=IT1
[16][server_ports][0]=443|TCP
[16][server_ports][1]=443|UDP
[16][server_ports][2]=53|TCP
[16][server_ports][3]=53|UDP
[16][server_ports][4]=1194|TCP
[16][server_ports][5]=1194|UDP
[16][server_ports][6]=8080|TCP
[16][server_ports][7]=110|TCP
[16][server_ports][8]=995|TCP
[16][nb_users]=3
[16][server_status]=1
[16][server_pptp]=1
[16][server_upload]=125204
[16][server_download]=86638
[16][server_country]=Italie
[16][server_proxy]=1
[16][server_openvpn]=1
[16][server_ipv4][0]=37.59.88.92
[16][server_ipv4][1]=37.59.88.93
[16][server_ipv4][2]=37.59.88.94
[17][server_id]=LU1
[17][server_ports][0]=443|TCP
[17][server_ports][1]=443|UDP
[17][server_ports][2]=53|TCP
[17][server_ports][3]=53|UDP
[17][server_ports][4]=1194|TCP
[17][server_ports][5]=1194|UDP
[17][server_ports][6]=8080|TCP
[17][server_ports][7]=110|TCP
[17][server_ports][8]=995|TCP
[17][nb_users]=6
[17][server_status]=1
[17][server_pptp]=1
[17][server_upload]=139772
[17][server_download]=115015
[17][server_country]=Luxembourg
[17][server_proxy]=1
[17][server_openvpn]=1
[17][server_ipv4][0]=5.196.183.184
[17][server_ipv4][1]=5.196.183.185
[17][server_ipv4][2]=5.196.183.186
[18][server_id]=FI1
[18][server_ports][0]=443|TCP
[18][server_ports][1]=443|UDP
[18][server_ports][2]=53|TCP
[18][server_ports][3]=53|UDP
[18][server_ports][4]=1194|TCP
[18][server_ports][5]=1194|UDP
[18][server_ports][6]=8080|TCP
[18][server_ports][7]=110|TCP
[18][server_ports][8]=995|TCP
[18][nb_users]=2
[18][server_status]=1
[18][server_pptp]=1
[18][server_upload]=46724
[18][server_download]=11071
[18][server_country]=Finlande
[18][server_proxy]=1
[18][server_openvpn]=1
[18][server_ipv4][0]=176.31.52.124
[18][server_ipv4][1]=176.31.52.125
[18][server_ipv4][2]=176.31.52.126
[19][server_id]=PT1
[19][server_ports][0]=443|TCP
[19][server_ports][1]=443|UDP
[19][server_ports][2]=53|TCP
[19][server_ports][3]=53|UDP
[19][server_ports][4]=1194|TCP
[19][server_ports][5]=1194|UDP
[19][server_ports][6]=8080|TCP
[19][server_ports][7]=110|TCP
[19][server_ports][8]=995|TCP
[19][nb_users]=1
[19][server_status]=1
[19][server_pptp]=1
[19][server_upload]=45640
[19][server_download]=9169
[19][server_country]=Portugal
[19][server_proxy]=1
[19][server_openvpn]=1
[19][server_ipv4][0]=5.196.187.0
[19][server_ipv4][1]=5.196.187.1
[19][server_ipv4][2]=5.196.187.2
[20][server_id]=GR1
[20][server_ports][0]=443|TCP
[20][server_ports][1]=443|UDP
[20][server_ports][2]=53|TCP
[20][server_ports][3]=53|UDP
[20][server_ports][4]=1194|TCP
[20][server_ports][5]=1194|UDP
[20][server_ports][6]=8080|TCP
[20][server_ports][7]=110|TCP
[20][server_ports][8]=995|TCP
[20][nb_users]=3
[20][server_status]=1
[20][server_pptp]=1
[20][server_upload]=115144
[20][server_download]=83219
[20][server_country]=Grèce
[20][server_proxy]=1
[20][server_openvpn]=1
[20][server_ipv4][0]=5.39.58.112
[20][server_ipv4][1]=5.39.58.113
[20][server_ipv4][2]=5.39.58.114
[21][server_id]=MT1
[21][server_ports][0]=443|TCP
[21][server_ports][1]=443|UDP
[21][server_ports][2]=53|TCP
[21][server_ports][3]=53|UDP
[21][server_ports][4]=1194|TCP
[21][server_ports][5]=1194|UDP
[21][server_ports][6]=8080|TCP
[21][server_ports][7]=110|TCP
[21][server_ports][8]=995|TCP
[21][nb_users]=5
[21][server_status]=1
[21][server_pptp]=1
[21][server_upload]=84464
[21][server_download]=49323
[21][server_country]=Malte
[21][server_proxy]=1
[21][server_openvpn]=1
[21][server_ipv4][0]=178.32.185.12
[21][server_ipv4][1]=178.32.185.13
[21][server_ipv4][2]=178.32.185.14
[22][server_id]=SE1
[22][server_ports][0]=443|TCP
[22][server_ports][1]=443|UDP
[22][server_ports][2]=53|TCP
[22][server_ports][3]=53|UDP
[22][server_ports][4]=1194|TCP
[22][server_ports][5]=1194|UDP
[22][server_ports][6]=8080|TCP
[22][server_ports][7]=110|TCP
[22][server_ports][8]=995|TCP
[22][nb_users]=6
[22][server_status]=1
[22][server_pptp]=1
[22][server_upload]=54285
[22][server_download]=22849
[22][server_country]=Suède
[22][server_proxy]=1
[22][server_openvpn]=1
[22][server_ipv4][0]=5.196.103.160
[22][server_ipv4][1]=5.196.103.161
[22][server_ipv4][2]=5.196.103.162
[23][server_id]=US1
[23][server_ports][0]=443|TCP
[23][server_ports][1]=443|UDP
[23][server_ports][2]=53|TCP
[23][server_ports][3]=53|UDP
[23][server_ports][4]=1194|TCP
[23][server_ports][5]=1194|UDP
[23][server_ports][6]=8080|TCP
[23][server_ports][7]=110|TCP
[23][server_ports][8]=995|TCP
[23][nb_users]=3
[23][server_status]=1
[23][server_pptp]=1
[23][server_upload]=348433
[23][server_download]=412525
[23][server_country]=Etats-Unis
[23][server_proxy]=1
[23][server_openvpn]=1
[23][server_ipv4][0]=142.4.192.140
[23][server_ipv4][1]=142.4.192.141
[23][server_ipv4][2]=142.4.192.142
[24][server_id]=US3
[24][server_ports][0]=443|TCP
[24][server_ports][1]=443|UDP
[24][server_ports][2]=53|TCP
[24][server_ports][3]=53|UDP
[24][server_ports][4]=1194|TCP
[24][server_ports][5]=1194|UDP
[24][server_ports][6]=8080|TCP
[24][server_ports][7]=110|TCP
[24][server_ports][8]=995|TCP
[24][nb_users]=2
[24][server_status]=1
[24][server_pptp]=1
[24][server_upload]=3967
[24][server_download]=715
[24][server_country]=Etats-Unis
[24][server_proxy]=1
[24][server_openvpn]=1
[24][server_ipv4][0]=192.95.51.216
[24][server_ipv4][1]=192.95.51.217
[24][server_ipv4][2]=192.95.51.218
[25][server_id]=CA1
[25][server_ports][0]=443|TCP
[25][server_ports][1]=443|UDP
[25][server_ports][2]=53|TCP
[25][server_ports][3]=53|UDP
[25][server_ports][4]=1194|TCP
[25][server_ports][5]=1194|UDP
[25][server_ports][6]=8080|TCP
[25][server_ports][7]=110|TCP
[25][server_ports][8]=995|TCP
[25][nb_users]=3
[25][server_status]=1
[25][server_pptp]=1
[25][server_upload]=4141
[25][server_download]=886
[25][server_country]=Canada
[25][server_proxy]=1
[25][server_openvpn]=1
[25][server_ipv4][0]=192.95.43.4
[25][server_ipv4][1]=192.95.43.5
[25][server_ipv4][2]=192.95.43.6
[26][server_id]=CA2
[26][server_ports][0]=443|TCP
[26][server_ports][1]=443|UDP
[26][server_ports][2]=53|TCP
[26][server_ports][3]=53|UDP
[26][server_ports][4]=1194|TCP
[26][server_ports][5]=1194|UDP
[26][server_ports][6]=8080|TCP
[26][server_ports][7]=110|TCP
[26][server_ports][8]=995|TCP
[26][nb_users]=8
[26][server_status]=1
[26][server_pptp]=1
[26][server_upload]=428428
[26][server_download]=416080
[26][server_country]=Canada
[26][server_proxy]=1
[26][server_openvpn]=1
[26][server_ipv4][0]=198.50.171.232
[26][server_ipv4][1]=198.50.171.233
[26][server_ipv4][2]=198.50.171.234
[27][server_id]=CA3
[27][server_ports][0]=443|TCP
[27][server_ports][1]=443|UDP
[27][server_ports][2]=53|TCP
[27][server_ports][3]=53|UDP
[27][server_ports][4]=1194|TCP
[27][server_ports][5]=1194|UDP
[27][server_ports][6]=8080|TCP
[27][server_ports][7]=110|TCP
[27][server_ports][8]=995|TCP
[27][nb_users]=3
[27][server_status]=1
[27][server_pptp]=1
[27][server_upload]=89668
[27][server_download]=89244
[27][server_country]=Canada
[27][server_proxy]=1
[27][server_openvpn]=1
[27][server_ipv4][0]=192.95.53.76
[27][server_ipv4][1]=192.95.53.77
[27][server_ipv4][2]=192.95.53.78


Chronomètre :
Temp consultation API : 2.60035800934
Temp exploration arbres : 0.00382685661316
Temp consultation API + exploration arbres : 2.60418486595


------------------
(program exited with code: 0)
Press return to continue

Sur le retour, on ne le vois pas, mais les [INFO] [ OK ], et éventuels [FAIL] sont colorés ainsi.

aller une petite capture big_smile
1427881136.png

Je mettrais le premiers message, ainsi que l'archive à jour dans la journée.

A+,
Didier.

Edit : MAJ effectuée

Dernière modification par Didier-T (2015-04-01 14:56:24)

Hors ligne

Pied de page des forums