# hydra-veil — usage ## 1. Create billing code / Crear billing code ```python python3 -c " from core.services.WebServiceApiService import WebServiceApiService subscription = WebServiceApiService.post_subscription(2, operator_id=) print('billing code:', subscription.billing_code) " ``` > Copy the printed `billing_code` — you'll need it in the connect step. > Copiá el `billing_code` impreso, lo vas a necesitar en el paso de conexión. --- consultar estado de invoive python3 -c " from core.services.WebServiceApiService import WebServiceApiService invoice = WebServiceApiService.get_invoice('BILLING_CODE_HERE') print('status:', invoice.status) " ## 2. Patch subscription / Parchear suscripción ```bash sudo docker compose exec laravel php artisan tinker --execute=" \$sub = \App\Models\Subscription::orderBy('id', 'desc')->first(); \$sub->expires_at = '2027-12-31 23:59:59'; \$sub->duration = 720; \$sub->payment_reference = 'bypass_' . uniqid(); \$sub->save(); echo 'OK' . PHP_EOL; " ``` --- ## 3. Connect / Conectar ### VLESS ```python python3 -c " from core.services.WebServiceApiService import WebServiceApiService from core.controllers.encrypted_proxy.VlessController import VlessController from core.observers.EncryptedProxyObserver import EncryptedProxyObserver observer = EncryptedProxyObserver() observer.subscribe('connected', lambda e: print('connected:', e.subject)) observer.subscribe('error', lambda e: print('error:', e.subject)) observer.subscribe('disconnected', lambda e: print('disconnected:', e.subject)) session = WebServiceApiService.post_operator_proxy('MZKD-QWWI-1TS9-KHMD', 3, 'vless') print('session:', session) controller = VlessController(1080) controller.enable(session.links[0], session.username, observer) " ``` ### Hysteria2 ```python python3 -c " from core.services.WebServiceApiService import WebServiceApiService from core.controllers.encrypted_proxy.HysteriaController import HysteriaController from core.observers.EncryptedProxyObserver import EncryptedProxyObserver observer = EncryptedProxyObserver() observer.subscribe('connected', lambda e: print('connected:', e.subject)) observer.subscribe('error', lambda e: print('error:', e.subject)) observer.subscribe('disconnected', lambda e: print('disconnected:', e.subject)) session = WebServiceApiService.post_operator_proxy('MZKD-QWWI-1TS9-KHMD', 3, 'hysteria2') print('session:', session) controller = HysteriaController(1080) controller.enable(session.username, session.password, session.operator_hysteria2_host, observer) " ``` --- ## 4. Disconnect / Desconectar ```python python3 -c " from core.controllers.encrypted_proxy.HysteriaController import HysteriaController from core.observers.EncryptedProxyObserver import EncryptedProxyObserver observer = EncryptedProxyObserver() observer.subscribe('disconnected', lambda e: print('disconnected')) controller = HysteriaController(1080) controller.disable(observer) " ```