feat(python): add disclaimer

This commit is contained in:
Changhua 2025-02-12 00:53:20 +08:00
parent 32876209a4
commit cdd9fe9a91
2 changed files with 33 additions and 0 deletions

18
clients/python/wcferry/DISCLAIMER.md vendored Normal file
View File

@ -0,0 +1,18 @@
# 免责声明
1. **本工具为开源项目,仅提供基础功能,供用户进行合法的学习、研究和非商业用途**。禁止将本工具用于任何违法或侵权行为。
2. **二次开发者的责任**
- 任何基于本工具进行的二次开发、修改或衍生产品,其行为及后果由二次开发者独立承担,与本工具贡献者无关。
- **禁止使用贡献者的姓名、项目名称或相关信息作为二次开发产品的背书或推广手段**
- 建议二次开发者在其衍生产品中添加自己的免责声明,明确责任归属。
3. **用户责任**
- 使用本工具或其衍生产品的所有后果由用户自行承担。原贡献者不对因直接或间接使用本工具而导致的任何损失、责任或争议负责。
4. **法律约束**
- 用户和二次开发者须遵守《中华人民共和国网络安全法》、《中华人民共和国著作权法》等相关法律法规。
- 本工具涉及的所有第三方商标或产品名称,其权利归权利人所有,作者与第三方无任何直接或间接关联。
5. **作者保留权利**
- 本工具作者保留随时修改、更新、删除或终止本工具的权利,无需事先通知或承担任何义务。

View File

@ -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: