lea97338 commited on
Commit
2ef6f0b
·
verified ·
1 Parent(s): 737f7c4

Update F.py

Browse files
Files changed (1) hide show
  1. F.py +17 -40
F.py CHANGED
@@ -1,46 +1,23 @@
1
- import os
2
- import sys
3
 
4
- # Désinstalle l'ancien package problématique s'il est détecté et installe le bon SDK
5
 
6
- import ngrok
 
 
 
 
 
 
 
 
 
7
 
8
- # Intégration de votre token d'authentification
9
- AUTHTOKEN = "3IKq23oaCZLQzw7gyReFXkiHOtp_726tyz1mkexyHTHxUtwwb"
10
 
11
- def lancer_tunnel():
12
- try:
13
- # Demande du port à l'utilisateur
14
- port = int(input("Entrez le port local à exposer (ex: 80, 5000, 8080) : "))
15
- except ValueError:
16
- print("Erreur : Veuillez entrer un numéro de port valide.")
17
- return
18
 
19
- print(f"\nConnexion à ngrok pour exposer le port {port}...")
20
- try:
21
- # Configuration globale du token
22
- ngrok.set_auth_token(AUTHTOKEN)
23
-
24
- # Ouverture du tunnel vers localhost:port
25
- listener = ngrok.forward(port, proto="http")
26
-
27
- print("\n" + "="*50)
28
- print(f" Tunnel activé avec succès !")
29
- print(f" URL publique : {listener.url()}")
30
- print("="*50)
31
- print("\nAppuyez sur Ctrl+C pour fermer le tunnel.")
32
-
33
- # Maintien du tunnel actif
34
- while True:
35
- import time
36
- time.sleep(1)
37
-
38
- except KeyboardInterrupt:
39
- print("\nFermeture du tunnel ngrok.")
40
- except Exception as e:
41
- print(f"\nErreur ngrok : {e}")
42
- print("Si l'erreur persiste, relancez la commande de nettoyage dans votre terminal :")
43
- print("pip uninstall ngrok ngrok-api -y && pip install ngrok")
44
 
45
- if __name__ == "__main__":
46
- lancer_tunnel()
 
1
+ import asyncio
2
+ import ngrok
3
 
 
4
 
5
+ async def create_tunnel():
6
+ # 1. Authentification et création de la session
7
+ session = (
8
+ await ngrok.Session.builder()
9
+ .authtoken("3IKq23oaCZLQzw7gyReFXkiHOtp_726tyz1mkexyHTHxUtwwb")
10
+ .connect()
11
+ )
12
+
13
+ # 2. Ouverture du tunnel vers votre port local (ex: 8000)
14
+ tunnel = await session.http_endpoint().listen()
15
 
16
+ print(f" URL publique générée : {tunnel.url()}")
 
17
 
18
+ # 3. Transfert du trafic vers votre serveur local
19
+ await tunnel.forward("localhost:8000")
 
 
 
 
 
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
+ # Lancement du script asynchrone
23
+ asyncio.run(create_tunnel())