Forum d'entraide de la communauté Freedom-IP VPN
Vous n'êtes pas identifié(e).
Dernière modification par lezardking (2015-03-02 07:38:06)
Hors ligne
Bonjour lezardking,
Pourrais-tu joindre le code source (et oui, je suis curieux ) ?
A+,
Didier.
Hors ligne
Hors ligne
Pas de souci.
J'ai appris comme toi.
Hors ligne
Bonjour tout le monde,
Excellente nouvelle d'avoir de la "concurrence", à nous tous on va bien réussir à faire quelque chose de top
J'ai mis à jour mon 1er post avec l'évolution du 1er script.
Je réponds en avance à Didier-T, le code source est disponible dans l'install mais que si tu es un minimum curieux donc je me fais pas de soucis.
Ce nouveau programme est développé en PowerShell que je connaissais avant mais pas à ce niveau là moi c'était plus pour faire des petits scripts tout mignon. Donc le code est surement à améliorer (hmz s'est moqué de moi, le méchant... ).
Pour le moment les serveurs sont configurés en dur dans le script, et donc la prochaine évolution sera d'utiliser l'API de hmz (histoire de lui faire plaisir )
Allez je vous laisse tester et me faire des retours.
Cordialement. ptit_poulet
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Bonjour,
Petit retour sur ces 2 superbes applis FIP:
ptit_poulet :
Les plus
-Gestion des protocoles et ports
-Indépendant des fichiers de configurations installés (se lance depuis n'importe où et crée un fichier de conf customisé)
-Fonctionne sous Windows XP et au dessus (32 et 64 bits)
Les moins
-Pas d'icône dans la taskbar indiquant l'activité et le statut (il faut ré-ouvrir l'appli pour connaître le status)
lezardking :
Les plus
-Interface graphique bien élaborée
-Création d'un fichier pass.txt via l'appli
-Utilise le GUI OpenVPN donc icône dans la taskbar
Les moins
-Ne fonctionne pas sous 32 bits (testé uniquement sous XP, donc peut-être fonctionnel sous un 8.1 ou 7 32bits)
-Totalement dépendant des fichiers de conf installés dans votre répertoire OpenVPN (si les fichiers ne sont pas installés = message d'erreur)
-Pour la gestion des ports et des protocoles il faut modifier manuellement vos fichiers de conf
Voila, on attend les évolutions avec impatience
Hors ligne
Bonjour,
et merci pour le retour
Pour les 32 bits, effectivement, sous XP ça fonctionne pas (désolé...) par contre, en 32 bits sous un autre OS supérieur, ça fonctionne. D'ailleurs, il ne fonctionne que sous Windows.
La relation avec les fichiers de "conf" ne me paraissait pas importante, je suis partis du principe que si on se servait du log, c'est qu'on avait OpenVPN, et que si on voulait rajouter d'autres fichier de conf, l'utilisateur saurait le faire manuellement.
Peux-tu, stp, me dire dans quelle mesure les fichiers peuvent ne pas être installés, pour que si je trouve un solution (je dis bien si), j'adapte mes codes...
Sinon, pour la gestion des ports et protocoles, pas de pb, ça devrait pouvoir se faire . J'ai du coup 2 questions :
- comment savoir si nous passons par de l'udp ou du tcp ?
- quel est le mieux des 2 (si on peut dire mieux) ?
Merci de tes (ou vos) réponses.
Cordialement,
LezardKing
Dernière modification par lezardking (2015-03-03 08:48:02)
Hors ligne
Bonjour,
@ lezardking,
je suppose que c'est l'une de tes premières applications. Je pense ça car quand on doit faire du débogage on devient vite faignants et tous les blocs qui ce répètes deviennent des fonctions.
Alors je n'ai pas encore lu tout ton code, qui est bien détaillé (c'est très agréable pour la compréhension de l'action de chaque bloc), mais il y a un truc qui pourrait t'aider pour la suite.
Je ne pourrais pas t'apporter la solution car je n'ai jamais fait de Visual Basic (en dehors d'excel)
Dans "connexion_Click" tu répètes le même bloc de commande pour chaque serveur, si tu décides d’implanter la gestion des ports et protocole de connexion il faudra donc le faire x fois.
ceci gagnerait donc à devenir une fonction
If FR1.IsChecked Then
Dim nom_pays As String
nom_pays = "FR1"
Dim pays As String
pays = "-(France)"
Dim lnk As String
lnk = "lnk"
Dim ovpn As String
ovpn = "ovpn"
'tuer un processus (arrêt d'OpenVPN si il est déjà démarré, pour pouvoir se connecter à un nouveau serveur) :
Dim strComputer As String
Dim objWMIService As Object
Dim colProcessList As Object
strComputer = "."
objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'openvpn-gui.exe'")
For Each objProcess In colProcessList
objProcess.Terminate()
Next
Dim raccourcis As String
raccourcis = "C:.\config\" & Dir("C:.\config\" & nom_pays & "-*" & "." & lnk) ' cherche les raccourcis dans le dossier
Dim Folder, System
Folder = "C:.\config\" ' Répertoire de recherche
System = CreateObject("Scripting.FileSystemObject")
Dim counter = My.Computer.FileSystem.GetFiles(Folder, FileIO.SearchOption.SearchTopLevelOnly, nom_pays & "-*" & "." & lnk) ' compte le nb de fichier recherchés
'MsgBox(CStr(counter.Count))
If CStr(counter.Count) = 0 Then
MsgBox("Seul le fichier d'origine exist, il vous faudra donc vos identifiants pour vous connecter au serveur.")
If Exists("C:.\config_origine\" & nom_pays & pays & ".ovpn") Then
My.Computer.FileSystem.MoveFile("C:.\config_origine\" & nom_pays & pays & ".ovpn", "C:.\config\" & nom_pays & pays & ".ovpn")
End If
' création du raccourci
Dim VarTrav1 As String
Dim option_du_raccourcis As String
option_du_raccourcis = " --connect " & nom_pays & pays & ".ovpn" ' sera l'option du raccourci
Dim Bureau As IWshRuntimeLibrary.WshShell
Dim Raccourci As IWshRuntimeLibrary.WshShortcut
'Dim VarTrav As String
Bureau = New IWshRuntimeLibrary.WshShell
' Chemin et nom du raccourci (il doit forcément être sur le bureau pour pouvoir être lancé avec une élévation de droit)
VarTrav1 = "C:\Users\" & nomuser & "\Desktop\" & nom_pays & pays & ".lnk" ' indique l'emplacement et le nom du future raccourci
Raccourci = Bureau.CreateShortcut(VarTrav1)
' Cible
Raccourci.WorkingDirectory = My.Application.Info.DirectoryPath & "\bin" ' nécéssaire pour le démarrage avec une élévation de droit
Raccourci.Arguments = option_du_raccourcis
Raccourci.TargetPath = My.Application.Info.DirectoryPath & "\bin\openvpn-gui.exe" ' représente la cible de l'exe à lancer
' Icône
Raccourci.IconLocation = My.Application.Info.DirectoryPath & "\icon.ico" ' représente le fichier icone pour le raccourci
' Enregistrement
Raccourci.Save()
Dim process As System.Diagnostics.Process = Nothing
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = VarTrav1 ' chemin du fichier à lancer avec des droit élevés
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
procExecuting = process.Start(procStartInfo)
My.Computer.FileSystem.DeleteFile(VarTrav1) ' suppression du raccourci qui s'est créé sur le bureau
ElseIf CStr(counter.Count) = 1 Then
'MsgBox("cool, il n'y en a qu' " & CStr(counter.Count) & ".")
My.Computer.FileSystem.CopyFile(raccourcis, "C:\Users\" & nomuser & "\Desktop\vpn.lnk")
Dim process As System.Diagnostics.Process = Nothing
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = "C:\Users\" & nomuser & "\Desktop\vpn.lnk" ' nom du fichier à lancer avec des droit élevés
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
procExecuting = process.Start(procStartInfo)
My.Computer.FileSystem.DeleteFile("C:\Users\" & nomuser & "\Desktop\vpn.lnk")
Else
MsgBox("Vous avez " & CStr(counter.Count) & " fichiers correspondant à des identifiants différents pour une connexion automatique." & vbCrLf & "" & vbCrLf &
"Cliquer sur OK pour faire défiler le nom des différents fichiers. Une fois que vous aurez trouvé votre fichier, il vous faudra cliquer 2 fois sur OK, SANS CHANGER LE TEXTE de la boite de dialogue")
Dim resultat As String
Dim fileNames = My.Computer.FileSystem.GetFiles(Folder, FileIO.SearchOption.SearchAllSubDirectories, nom_pays & "-*" & "." & lnk) ' cherche tous les fichiers en fonction de l'extension, dans le répertoire indiqué
For Each fileName As String In fileNames ' récupère, cherche, tous les fichiers
resultat = IO.Path.GetFileNameWithoutExtension(fileName) ' récupère le nom sans l'extension
' affichage d'une fenêtre avec successivement les nom des fichiers
Select Case MsgBox(Chr(34) & resultat & ".txt" & Chr(34) & " est-il le fichier contenant vos identifiants pour la connexion au serveur " & nom_pays & " ?", MsgBoxStyle.YesNoCancel, "affichage des fichiers texte")
Case vbYes
Clipboard.Clear() ' éffacement du presse papier
Dim nom_fich1 As String
' affiche une fenêtre avec le nom de chaque fichier, et fait un copier du résultat
nom_fich1 = InputBox("Cliquer sur OK si le nom de fichier ci-dessous est celui contenant vos identifiants pour vous connecter à " & nom_pays & ".", "recherche du nom du fichier contenant les identifiants", resultat)
Clipboard.SetText(nom_fich1)
Exit For
Exit Select
Case vbNo ' on va à next, et on affiche le nom du fichier suivant
On Error Resume Next
Case Else
'Me.Close()
End Select
Next fileName
Dim nom_fich As String
' on colle le nom de fichier choisit plus haut
nom_fich = InputBox("Cliquer ENCORE sur OK si le nom de fichier ci-dessous est celui contenant vos identifiants pour vous connecter à " & nom_pays & ".", "validation du nom de fichier contenant les identifiants", Clipboard.GetText())
My.Computer.FileSystem.CopyFile(Folder & nom_fich & ".lnk", "C:\Users\" & nomuser & "\Desktop\vpn.lnk")
Dim process As System.Diagnostics.Process = Nothing
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = "C:\Users\" & nomuser & "\Desktop\vpn.lnk" ' nom du fichier à lancer avec des droit élevés
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
procExecuting = process.Start(procStartInfo)
My.Computer.FileSystem.DeleteFile("C:\Users\" & nomuser & "\Desktop\vpn.lnk")
End If
FR1.IsChecked = False
Me.Close()
End If
qui pourrait ressembler a cela
Private Sub connexion(nom_pays As String, pays As String, lnk As String, ovpn As String)
'tuer un processus (arrêt d'OpenVPN si il est déjà démarré, pour pouvoir se connecter à un nouveau serveur) :
Dim strComputer As String
Dim objWMIService As Object
Dim colProcessList As Object
strComputer = "."
objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'openvpn-gui.exe'")
For Each objProcess In colProcessList
objProcess.Terminate()
Next
Dim raccourcis As String
raccourcis = "C:.\config\" & Dir("C:.\config\" & nom_pays & "-*" & "." & lnk) ' cherche les raccourcis dans le dossier
Dim Folder, System
Folder = "C:.\config\" ' Répertoire de recherche
System = CreateObject("Scripting.FileSystemObject")
Dim counter = My.Computer.FileSystem.GetFiles(Folder, FileIO.SearchOption.SearchTopLevelOnly, nom_pays & "-*" & "." & lnk) ' compte le nb de fichier recherchés
'MsgBox(CStr(counter.Count))
If CStr(counter.Count) = 0 Then
MsgBox("Seul le fichier d'origine exist, il vous faudra donc vos identifiants pour vous connecter au serveur.")
If Exists("C:.\config_origine\" & nom_pays & pays & ".ovpn") Then
My.Computer.FileSystem.MoveFile("C:.\config_origine\" & nom_pays & pays & ".ovpn", "C:.\config\" & nom_pays & pays & ".ovpn")
End If
' création du raccourci
Dim VarTrav1 As String
Dim option_du_raccourcis As String
option_du_raccourcis = " --connect " & nom_pays & pays & ".ovpn" ' sera l'option du raccourci
Dim Bureau As IWshRuntimeLibrary.WshShell
Dim Raccourci As IWshRuntimeLibrary.WshShortcut
'Dim VarTrav As String
Bureau = New IWshRuntimeLibrary.WshShell
' Chemin et nom du raccourci (il doit forcément être sur le bureau pour pouvoir être lancé avec une élévation de droit)
VarTrav1 = "C:\Users\" & nomuser & "\Desktop\" & nom_pays & pays & ".lnk" ' indique l'emplacement et le nom du future raccourci
Raccourci = Bureau.CreateShortcut(VarTrav1)
' Cible
Raccourci.WorkingDirectory = My.Application.Info.DirectoryPath & "\bin" ' nécéssaire pour le démarrage avec une élévation de droit
Raccourci.Arguments = option_du_raccourcis
Raccourci.TargetPath = My.Application.Info.DirectoryPath & "\bin\openvpn-gui.exe" ' représente la cible de l'exe à lancer
' Icône
Raccourci.IconLocation = My.Application.Info.DirectoryPath & "\icon.ico" ' représente le fichier icone pour le raccourci
' Enregistrement
Raccourci.Save()
Dim process As System.Diagnostics.Process = Nothing
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = VarTrav1 ' chemin du fichier à lancer avec des droit élevés
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
procExecuting = process.Start(procStartInfo)
My.Computer.FileSystem.DeleteFile(VarTrav1) ' suppression du raccourci qui s'est créé sur le bureau
ElseIf CStr(counter.Count) = 1 Then
'MsgBox("cool, il n'y en a qu' " & CStr(counter.Count) & ".")
My.Computer.FileSystem.CopyFile(raccourcis, "C:\Users\" & nomuser & "\Desktop\vpn.lnk")
Dim process As System.Diagnostics.Process = Nothing
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = "C:\Users\" & nomuser & "\Desktop\vpn.lnk" ' nom du fichier à lancer avec des droit élevés
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
procExecuting = process.Start(procStartInfo)
My.Computer.FileSystem.DeleteFile("C:\Users\" & nomuser & "\Desktop\vpn.lnk")
Else
MsgBox("Vous avez " & CStr(counter.Count) & " fichiers correspondant à des identifiants différents pour une connexion automatique." & vbCrLf & "" & vbCrLf &
"Cliquer sur OK pour faire défiler le nom des différents fichiers. Une fois que vous aurez trouvé votre fichier, il vous faudra cliquer 2 fois sur OK, SANS CHANGER LE TEXTE de la boite de dialogue")
Dim resultat As String
Dim fileNames = My.Computer.FileSystem.GetFiles(Folder, FileIO.SearchOption.SearchAllSubDirectories, nom_pays & "-*" & "." & lnk) ' cherche tous les fichiers en fonction de l'extension, dans le répertoire indiqué
For Each fileName As String In fileNames ' récupère, cherche, tous les fichiers
resultat = IO.Path.GetFileNameWithoutExtension(fileName) ' récupère le nom sans l'extension
' affichage d'une fenêtre avec successivement les nom des fichiers
Select Case MsgBox(Chr(34) & resultat & ".txt" & Chr(34) & " est-il le fichier contenant vos identifiants pour la connexion au serveur " & nom_pays & " ?", MsgBoxStyle.YesNoCancel, "affichage des fichiers texte")
Case vbYes
Clipboard.Clear() ' éffacement du presse papier
Dim nom_fich1 As String
' affiche une fenêtre avec le nom de chaque fichier, et fait un copier du résultat
nom_fich1 = InputBox("Cliquer sur OK si le nom de fichier ci-dessous est celui contenant vos identifiants pour vous connecter à " & nom_pays & ".", "recherche du nom du fichier contenant les identifiants", resultat)
Clipboard.SetText(nom_fich1)
Exit For
Exit Select
Case vbNo ' on va à next, et on affiche le nom du fichier suivant
On Error Resume Next
Case Else
'Me.Close()
End Select
Next fileName
Dim nom_fich As String
' on colle le nom de fichier choisit plus haut
nom_fich = InputBox("Cliquer ENCORE sur OK si le nom de fichier ci-dessous est celui contenant vos identifiants pour vous connecter à " & nom_pays & ".", "validation du nom de fichier contenant les identifiants", Clipboard.GetText())
My.Computer.FileSystem.CopyFile(Folder & nom_fich & ".lnk", "C:\Users\" & nomuser & "\Desktop\vpn.lnk")
Dim process As System.Diagnostics.Process = Nothing
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = "C:\Users\" & nomuser & "\Desktop\vpn.lnk" ' nom du fichier à lancer avec des droit élevés
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
procExecuting = process.Start(procStartInfo)
My.Computer.FileSystem.DeleteFile("C:\Users\" & nomuser & "\Desktop\vpn.lnk")
End If
End Sub
et pour chaque appel un truc du genre
If FR1.IsChecked Then
connexion("FR1", "-(France)", "lnk", "ovpn")
FR1.IsChecked = False
Me.Close()
ElseIf FR2.IsChecked Then
connexion("FR2", "-(France)", "lnk", "ovpn")
FR1.IsChecked = False
Me.Close()
...
End If
Je te laisse regarder ça de plus pret, je n'aurais pas le temps aujoud'hui
@ ptit_poulet,
je dois me fair vieux, je n'ai pas trouvé le code source pourtant j'ai mis mes lunettes
A+,
Didier.
Hors ligne
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Re,
merci Didier-T, j'ai jamais osé faire de fonction et effectivement, c'est ma 2nd appli... (la 1ère me sert à installer (en dur ou en portable) plusieurs appli (genre office, antivirus, ccleaner,...) sur des pc que je refait pour les amis. Il n'est plus à jour), enfin bref...
Je vais me pencher dessus mais j'suis plus en vacances (bouhouhouh ) )
Merci du retour en tout cas, comme ça je vais encore faire des découvertes, des recherches,
LezardKing
Hors ligne
if ($serverSelected -eq "FR1-(France)") {$serverFinal = "fr1.freedom-ip.com"}
if ($serverSelected -eq "FR2-(France)") {$serverFinal = "fr2.freedom-ip.com"}
if ($serverSelected -eq "NL1-(Pays-Bas)") {$serverFinal = "nl1.freedom-ip.com"}
if ($serverSelected -eq "NL2-(Pays-Bas)") {$serverFinal = "nl2.freedom-ip.com"}
if ($serverSelected -eq "NL3-(Pays-Bas)") {$serverFinal = "nl3.freedom-ip.com"}
if ($serverSelected -eq "NL4-(Pays-Bas)") {$serverFinal = "nl4.freedom-ip.com"}
if ($serverSelected -eq "DE1-(Allemagne)") {$serverFinal = "de1.freedom-ip.com"}
if ($serverSelected -eq "DE2-(Allemagne)") {$serverFinal = "de2.freedom-ip.com"}
if ($serverSelected -eq "ES1-(Espagne)") {$serverFinal = "es1.freedom-ip.com"}
if ($serverSelected -eq "UK1-(Royaume-Uni)") {$serverFinal = "uk1.freedom-ip.com"}
if ($serverSelected -eq "IE1-(Irlande)") {$serverFinal = "ie1.freedom-ip.com"}
if ($serverSelected -eq "CZ1-(Republique-Tcheque)") {$serverFinal = "cz1.freedom-ip.com"}
if ($serverSelected -eq "LT1-(Lituanie)") {$serverFinal = "lt1.freedom-ip.com"}
if ($serverSelected -eq "BE1-(Belgique)") {$serverFinal = "be1.freedom-ip.com"}
if ($serverSelected -eq "PL1-(Pologne)") {$serverFinal = "pl1.freedom-ip.com"}
if ($serverSelected -eq "CH1-(Suisse)") {$serverFinal = "ch1.freedom-ip.com"}
if ($serverSelected -eq "IT1-(Italie)") {$serverFinal = "it1.freedom-ip.com"}
if ($serverSelected -eq "LU1-(Luxembourg)") {$serverFinal = "lu1.freedom-ip.com"}
if ($serverSelected -eq "FI1-(Finlande)") {$serverFinal = "fi1.freedom-ip.com"}
if ($serverSelected -eq "PT1-(Portugal)") {$serverFinal = "pt1.freedom-ip.com"}
if ($serverSelected -eq "GR1-(Grèce)") {$serverFinal = "gr1.freedom-ip.com"}
if ($serverSelected -eq "MT1-(Malte)") {$serverFinal = "mt1.freedom-ip.com"}
if ($serverSelected -eq "DK1-(Danemark)") {$serverFinal = "dk1.freedom-ip.com"}
if ($serverSelected -eq "SE1-(Suède)") {$serverFinal = "se1.freedom-ip.com"}
if ($serverSelected -eq "US1-(Etats-Unis)") {$serverFinal = "us1.freedom-ip.com"}
if ($serverSelected -eq "US2-(Etats-Unis)") {$serverFinal = "us2.freedom-ip.com"}
if ($serverSelected -eq "US3-(Etats-Unis)") {$serverFinal = "us3.freedom-ip.com"}
if ($serverSelected -eq "CA1-(Canada)") {$serverFinal = "ca1.freedom-ip.com"}
if ($serverSelected -eq "CA2-(Canada)") {$serverFinal = "ca2.freedom-ip.com"}
if ($serverSelected -eq "CA3-(Canada)") {$serverFinal = "ca3.freedom-ip.com"}
Dernière modification par Didier-T (2015-03-03 22:10:51)
Hors ligne
Bonsoir,
@Didier-T : Oui je te confirme tout est fait main, sans logiciel d'aide à la création de GUI. Tout à fait d'accord avec toi, y a carrément moyen d'améliorer le code
Pour le moment pas de gestion de l'API mais c'est la prochaine évolution
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Bonjour,
@Didier-T : je viens d'intégrer ta modif du code, je n'y avais même pas pensé. J'ai déjà utilisé cette méthode dans des scripts shell mais là j'ai complètement zappé . Bon au moins ça allège le code. C'est pas beau ça le partage autour d'un même programme.
D'ailleurs aujourd'hui je mettrai une nouvelle version, customisée par chico. Cette nouvelle version sera entièrement portable c'est-à-dire qu'OpenVPN et le driver TAP seront intégrés et il n'y aura plus besoin de les installer avant l'utilisation du programme
Cordialement. ptit_poulet
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Freedom_API_2.exe -a pass_vpn -g all -f
Hors ligne
Outch du python...
Si tu as le même en PowerShell je te fais un bisous
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Pour le coup ça risque pas grand-chose, la première fois que j'ai entendue parler de PowerShell c'est dans cette conversation
Mais là tu as un retour dans un fichier texte, il n'y a plus qu'a ce servir
Edit : je vais quand même regarder ce que je peux faire
Dernière modification par Didier-T (2015-03-04 17:40:59)
Hors ligne
Ah ah il veut son bisous Didier-T
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Je ne céderais pas sous la menace
Je ne sais pas où tu en es de l'obtention des informations avec l'API, mais voici déjà pour obtenir le Token
$url='https://freedom-ip.com/api/login.fip'
$user='fip_xxxxxxxxxx'
$pass='xxxxxxxxxxxxxxxxxxx'
$postParams = @{username=$user;password=$pass}
Invoke-WebRequest -Uri $url -Method POST -Body $postParams
ça te renverra entre autres choses ton Token nécessaires pour la suite
avec ça le plus dur est fait
Hors ligne
Merci Didier-T, je regarderai ça prochainement
Sinon j'ai mis à jour mon 1er post avec la nouvelle version du programme.
Mais cette fois-ci avec l'aide de chico, on a mis le paquet
Nous avons préparé une version complètement portable du programme, c'est-à-dire que vous n'avez pas besoin d'installer OpenVPN-GUI ou le pilote TAP. Tout est intégré dans Freedom-IP.exe. Vous trouverez une version compilé en 32Bits et une autre en 64Bits. Le seul travail que vous aurez à faire est de remplir le fichier pass.txt avant la 1ère utilisation.
Bon test
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Dernière modification par Polizei (2015-03-04 20:53:34)
Hors ligne
Bonsoir Polizei,
normalement oui, c'est le code que j’emploie sous Linux et il fonctionne très bien.
Le seul moment ou sa foire, c'est quand on change d'IP (le token n'est plus valable et le delais n'est pas passé) la il suffit de supprimer le .token et tous roulent.
Pourquoi, tu as rencontré un soucis ?
Hors ligne
Justement non, je ne rencontre aucun soucis et c’est pourquoi je trouvais ça louche !
Tu seras d’accord avec moi qu’un mec qui te pond un truc de derrière les fagots et tout fonctionne du premier coup c’est pas normal en informatique !
Pour le changement d’IP entre temps, pas de soucis en effet en écrasant / supprimant le fichier en .token
Merci beaucoup, il va servir à pas mal de monde pour éviter les codages des serveurs en dur ou la récupération d’information à l’ancienne en « greppant » dans le code source de la page d’informations !
Bien joué Didier !
Edit : Je vais jeter un œil au truc du binôme Chico / ptit_poulet mais à ce rythme il va surtout falloir penser à ouvrir un projet commun sur GitHub pour éviter d’éparpiller tous les participants !
Dernière modification par Polizei (2015-03-04 20:58:14)
Hors ligne
Merci.
En même temps sa fait un moment que j'ai écrit ce code, mais je ne l'avais simplement pas testé sous Windows.
Par contre il était disponible sur le forum.
Hors ligne
@ptit_poulet,
pour ton API tu n'as besoin que des infos serveurs.
Voici un bout de code qui te donne accès à ces infos de manière brute, je te laisse faire le traitement à ta guise.
$user='fip_xxxxxxxxxxx'
$pass='xxxxxxxxxxxxxxxxxxx'
function _past{
param ($url,$postParams)
Invoke-WebRequest -Uri $url -Method POST -Body $postParams
}
# Récupération du token
$ret=_past 'https://freedom-ip.com/api/login.fip' @{username=$user;password=$pass}
$token=$ret.Content.Split(':')[-1].replace('"',"").replace("}","")
# Récupération des infos serveur
$info_serveur=_past 'https://freedom-ip.com/api/servers.fip' @{token=$token;method='GetAllServersInfos'}
echo $info_serveur.Content
Amuse toi bien,
Didier.
Dernière modification par Didier-T (2015-03-05 06:05:53)
Hors ligne
Bonsoir, je suis avec discrétion tout ce que vous faites pour améliorer FIP et je vous tire mon chapeau. Je ne participe pas beaucoup au discutions mais mes connaissances en programmation sont tres limité .
Sinon j'essaye toutes vos versions ( je suis avec W7 32bits...), ce qui serait bien sur votre programme petit poulet et Chico c'est une icone dans la barre de tache pour voir si on est toujours bien connecté.
Une petite question en plus, si j'utilise le logiciel sur une clé et sur mon autre pc qui n'a pas openvpn d'installer est ce que je suis obligé de telecharger les fichier de config des serveurs sur le site?
Voila, mais vraiment je trouve qu'il y a une super communauté ici, merci a vous tous.
Hors ligne