diff --git a/clients/python/wcferry/DISCLAIMER.md b/clients/python/wcferry/DISCLAIMER.md new file mode 100644 index 0000000..520a4ac --- /dev/null +++ b/clients/python/wcferry/DISCLAIMER.md @@ -0,0 +1,18 @@ +# 免责声明 + +1. **本工具为开源项目,仅提供基础功能,供用户进行合法的学习、研究和非商业用途**。禁止将本工具用于任何违法或侵权行为。 + +2. **二次开发者的责任**: + - 任何基于本工具进行的二次开发、修改或衍生产品,其行为及后果由二次开发者独立承担,与本工具贡献者无关。 + - **禁止使用贡献者的姓名、项目名称或相关信息作为二次开发产品的背书或推广手段**。 + - 建议二次开发者在其衍生产品中添加自己的免责声明,明确责任归属。 + +3. **用户责任**: + - 使用本工具或其衍生产品的所有后果由用户自行承担。原贡献者不对因直接或间接使用本工具而导致的任何损失、责任或争议负责。 + +4. **法律约束**: + - 用户和二次开发者须遵守《中华人民共和国网络安全法》、《中华人民共和国著作权法》等相关法律法规。 + - 本工具涉及的所有第三方商标或产品名称,其权利归权利人所有,作者与第三方无任何直接或间接关联。 + +5. **作者保留权利**: + - 本工具作者保留随时修改、更新、删除或终止本工具的权利,无需事先通知或承担任何义务。 diff --git a/clients/python/wcferry/client.py b/clients/python/wcferry/client.py index 6583014..507026e 100644 --- a/clients/python/wcferry/client.py +++ b/clients/python/wcferry/client.py @@ -13,8 +13,11 @@ import re import sys from queue import Queue from threading import Thread +import shutil from time import sleep from typing import Callable, Dict, List, Optional +from pathlib import Path +import importlib.resources as pkg_resources # Python 3.9+ import pynng import requests @@ -77,6 +80,7 @@ class Wcf(): if host is None: self._local_mode = True self.host = "127.0.0.1" + self._copy_disclaimer_to_cwd() self.sdk = ctypes.cdll.LoadLibrary(f"{self._wcf_root}/sdk.dll") if self.sdk.WxInitSDK(debug, port) != 0: self.LOG.error("初始化失败!") @@ -115,6 +119,17 @@ class Wcf(): def __del__(self) -> None: self.cleanup() + def _copy_disclaimer_to_cwd(self): + """复制免责声明到工作目录""" + try: + target_path = Path.cwd() / "DISCLAIMER.md" + with pkg_resources.path("wcferry", "DISCLAIMER.md") as disclaimer_path: + if not target_path.exists(): + shutil.copy(disclaimer_path, target_path) + except Exception as e: + self.LOG.error(f"复制免责声明失败:{e}") + os._exit(-3) + def cleanup(self) -> None: """关闭连接,回收资源""" if not self._is_running: