Spaces:
Running
Running
Update F.py
Browse files
F.py
CHANGED
|
@@ -1,46 +1,23 @@
|
|
| 1 |
-
import
|
| 2 |
-
import
|
| 3 |
|
| 4 |
-
# Désinstalle l'ancien package problématique s'il est détecté et installe le bon SDK
|
| 5 |
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
-
|
| 9 |
-
AUTHTOKEN = "3IKq23oaCZLQzw7gyReFXkiHOtp_726tyz1mkexyHTHxUtwwb"
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
| 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 |
-
|
| 46 |
-
|
|
|
|
| 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())
|