Describe the bug
Hi team hiddify,
It's an awesome xtlsapi you created. It works well on windows, but there were issues when I tried to deploy it on docker. I encountered the following problem in python:alpine container, causing the container to fail to start:
>>> from xtlsapi import XrayClient
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
from xtlsapi import XrayClient
File "/usr/local/lib/python3.13/site-packages/xtlsapi/__init__.py", line 2, in <module>
from xtlsapi.client.SingboxClient import SingboxClient
File "/usr/local/lib/python3.13/site-packages/xtlsapi/client/SingboxClient.py", line 3, in <module>
from xtlsapi.singbox_api_services import APIService
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api_services/__init__.py", line 1, in <module>
from .stats import StatsAPIService
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api_services/stats/__init__.py", line 1, in <module>
from .get_client_upload_traffic import GetClientUploadTraffic
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api_services/stats/get_client_upload_traffic.py", line 2, in <module>
from xtlsapi.singbox_api import stats_pb2
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api/stats_pb2.py", line 14, in <module>
from . import extensions_pb2 as extensions__pb2
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api/extensions_pb2.py", line 22, in <module>
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(message_opt)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'MessageOptions' has no attribute 'RegisterExtension'
This seems to be related to mlflow/mlflow#11811. Legacy singbox protobuf gencode prevents further loading when using protobuf without C descriptors, even if not singbox module is imported.
To Reproduce
It's easy to reproduce:
docker run -it python:alpine /bin/sh
pip install xtlsapi
from xtlsapi import XrayClient
Expected behavior
Upgrade singbox protobuf gencode, or lazy import singbox part.
Desktop (please complete the following information):
- docker image python:3.13.2-alpine3.21
- OS: Alpine Linux 3.21
- Python 3.13.2
- using protobuf without C descriptors, like protobuf-5.28.3-py3-none-any.whl
Describe the bug
Hi team hiddify,
It's an awesome xtlsapi you created. It works well on windows, but there were issues when I tried to deploy it on docker. I encountered the following problem in python:alpine container, causing the container to fail to start:
This seems to be related to mlflow/mlflow#11811. Legacy singbox protobuf gencode prevents further loading when using protobuf without C descriptors, even if not singbox module is imported.
To Reproduce
It's easy to reproduce:
Expected behavior
Upgrade singbox protobuf gencode, or lazy import singbox part.
Desktop (please complete the following information):