python-sbx


Namepython-sbx JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/eooce/Sing-box
SummaryA Python project for network proxy management
upload_time2025-08-13 17:19:44
maintainerNone
docs_urlNone
authoreooce
requires_python>=3.7
licenseMIT
keywords proxy network management
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Python SBX

一个用于网络代理管理的Python项目。

## 功能特性

- 支持多种代理协议(VLESS、VMess、Trojan、Hysteria2、TUIC、Reality)
- 自动节点管理和上传
- 支持哪吒面板监控
- Argo隧道支持
- Telegram机器人推送
- 自动保活功能

## 安装

```bash
pip install python-sbx
```

## 使用方法

### 命令行使用

```bash
python-sbx
```

### 环境变量配置

```bash
# 节点上传地址
export UPLOAD_URL="https://your-domain.com"

# 项目URL(用于自动保活)
export PROJECT_URL="https://your-project.com"

# 自动保活开关
export AUTO_ACCESS="true"

# 哪吒面板配置
export NEZHA_SERVER="nz.serv00.net:8008"
export NEZHA_KEY="your-secret-key"

# Argo隧道配置
export ARGO_DOMAIN="your-domain.com"
export ARGO_AUTH="your-auth-token"

# Telegram配置
export CHAT_ID="your-chat-id"
export BOT_TOKEN="your-bot-token"
```

## 开发

```bash
# 克隆项目
git clone https://github.com/yourusername/python-sbx.git
cd python-sbx

# 安装依赖
pip install -r requirements.txt

# 运行项目
python app.py
```

## 发布为PyPI包

### 🎉 包已成功构建!

项目已配置为可发布的PyPI包。构建文件位于 `dist/` 目录:

- `python_sbx-0.1.0.tar.gz` - 源码分发包
- `python_sbx-0.1.0-py3-none-any.whl` - 轮子分发包

### 下一步操作

1. **修改个人信息**:
   - 编辑 `setup.py` 中的作者名、邮箱、项目URL
   - 编辑 `pyproject.toml` 中的作者信息
   - 编辑 `LICENSE` 中的版权信息

2. **发布到PyPI**:
   ```bash
   # 使用自动化脚本(推荐)
   python publish.py
   
   # 或手动发布
   python -m twine upload dist/*
   ```

3. **测试安装**:
   ```bash
   pip install python-sbx
   python-sbx
   ```

### 发布前检查清单

- [ ] 修改所有配置文件中的个人信息
- [ ] 确保包名在PyPI上是唯一的
- [ ] 测试包是否能正确构建和安装
- [ ] 先在TestPyPI上测试,再发布到正式PyPI

## 项目文件结构

```
python-sbx/
├── app.py                 # 主程序文件
├── requirements.txt       # 依赖列表
├── setup.py              # 包配置(主要)
├── pyproject.toml        # 现代包配置
├── MANIFEST.in           # 包含文件配置
├── README.md             # 项目说明
├── LICENSE               # 许可证
├── publish.py            # 自动化发布脚本
├── test_build.py         # 配置测试脚本
├── PUBLISH_GUIDE.md      # 详细发布指南
└── QUICKSTART.md         # 快速开始指南
```

## 许可证

MIT License

## 贡献

欢迎提交Issue和Pull Request!

## 相关文档

- [发布指南](PUBLISH_GUIDE.md) - 详细的PyPI发布说明
- [快速开始](QUICKSTART.md) - 5分钟发布指南

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/eooce/Sing-box",
    "name": "python-sbx",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "eooce <eooce@oytlook.com>",
    "keywords": "proxy, network, management",
    "author": "eooce",
    "author_email": "eooce <eooce@oytlook.com>",
    "download_url": "https://files.pythonhosted.org/packages/96/e1/d1391370b58d885138d20b20b2774de9f4d5a786962e867f416a9e4d1acc/python_sbx-1.0.1.tar.gz",
    "platform": null,
    "description": "# Python SBX\r\n\r\n\u4e00\u4e2a\u7528\u4e8e\u7f51\u7edc\u4ee3\u7406\u7ba1\u7406\u7684Python\u9879\u76ee\u3002\r\n\r\n## \u529f\u80fd\u7279\u6027\r\n\r\n- \u652f\u6301\u591a\u79cd\u4ee3\u7406\u534f\u8bae\uff08VLESS\u3001VMess\u3001Trojan\u3001Hysteria2\u3001TUIC\u3001Reality\uff09\r\n- \u81ea\u52a8\u8282\u70b9\u7ba1\u7406\u548c\u4e0a\u4f20\r\n- \u652f\u6301\u54ea\u5412\u9762\u677f\u76d1\u63a7\r\n- Argo\u96a7\u9053\u652f\u6301\r\n- Telegram\u673a\u5668\u4eba\u63a8\u9001\r\n- \u81ea\u52a8\u4fdd\u6d3b\u529f\u80fd\r\n\r\n## \u5b89\u88c5\r\n\r\n```bash\r\npip install python-sbx\r\n```\r\n\r\n## \u4f7f\u7528\u65b9\u6cd5\r\n\r\n### \u547d\u4ee4\u884c\u4f7f\u7528\r\n\r\n```bash\r\npython-sbx\r\n```\r\n\r\n### \u73af\u5883\u53d8\u91cf\u914d\u7f6e\r\n\r\n```bash\r\n# \u8282\u70b9\u4e0a\u4f20\u5730\u5740\r\nexport UPLOAD_URL=\"https://your-domain.com\"\r\n\r\n# \u9879\u76eeURL\uff08\u7528\u4e8e\u81ea\u52a8\u4fdd\u6d3b\uff09\r\nexport PROJECT_URL=\"https://your-project.com\"\r\n\r\n# \u81ea\u52a8\u4fdd\u6d3b\u5f00\u5173\r\nexport AUTO_ACCESS=\"true\"\r\n\r\n# \u54ea\u5412\u9762\u677f\u914d\u7f6e\r\nexport NEZHA_SERVER=\"nz.serv00.net:8008\"\r\nexport NEZHA_KEY=\"your-secret-key\"\r\n\r\n# Argo\u96a7\u9053\u914d\u7f6e\r\nexport ARGO_DOMAIN=\"your-domain.com\"\r\nexport ARGO_AUTH=\"your-auth-token\"\r\n\r\n# Telegram\u914d\u7f6e\r\nexport CHAT_ID=\"your-chat-id\"\r\nexport BOT_TOKEN=\"your-bot-token\"\r\n```\r\n\r\n## \u5f00\u53d1\r\n\r\n```bash\r\n# \u514b\u9686\u9879\u76ee\r\ngit clone https://github.com/yourusername/python-sbx.git\r\ncd python-sbx\r\n\r\n# \u5b89\u88c5\u4f9d\u8d56\r\npip install -r requirements.txt\r\n\r\n# \u8fd0\u884c\u9879\u76ee\r\npython app.py\r\n```\r\n\r\n## \u53d1\u5e03\u4e3aPyPI\u5305\r\n\r\n### \ud83c\udf89 \u5305\u5df2\u6210\u529f\u6784\u5efa\uff01\r\n\r\n\u9879\u76ee\u5df2\u914d\u7f6e\u4e3a\u53ef\u53d1\u5e03\u7684PyPI\u5305\u3002\u6784\u5efa\u6587\u4ef6\u4f4d\u4e8e `dist/` \u76ee\u5f55\uff1a\r\n\r\n- `python_sbx-0.1.0.tar.gz` - \u6e90\u7801\u5206\u53d1\u5305\r\n- `python_sbx-0.1.0-py3-none-any.whl` - \u8f6e\u5b50\u5206\u53d1\u5305\r\n\r\n### \u4e0b\u4e00\u6b65\u64cd\u4f5c\r\n\r\n1. **\u4fee\u6539\u4e2a\u4eba\u4fe1\u606f**\uff1a\r\n   - \u7f16\u8f91 `setup.py` \u4e2d\u7684\u4f5c\u8005\u540d\u3001\u90ae\u7bb1\u3001\u9879\u76eeURL\r\n   - \u7f16\u8f91 `pyproject.toml` \u4e2d\u7684\u4f5c\u8005\u4fe1\u606f\r\n   - \u7f16\u8f91 `LICENSE` \u4e2d\u7684\u7248\u6743\u4fe1\u606f\r\n\r\n2. **\u53d1\u5e03\u5230PyPI**\uff1a\r\n   ```bash\r\n   # \u4f7f\u7528\u81ea\u52a8\u5316\u811a\u672c\uff08\u63a8\u8350\uff09\r\n   python publish.py\r\n   \r\n   # \u6216\u624b\u52a8\u53d1\u5e03\r\n   python -m twine upload dist/*\r\n   ```\r\n\r\n3. **\u6d4b\u8bd5\u5b89\u88c5**\uff1a\r\n   ```bash\r\n   pip install python-sbx\r\n   python-sbx\r\n   ```\r\n\r\n### \u53d1\u5e03\u524d\u68c0\u67e5\u6e05\u5355\r\n\r\n- [ ] \u4fee\u6539\u6240\u6709\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u4e2a\u4eba\u4fe1\u606f\r\n- [ ] \u786e\u4fdd\u5305\u540d\u5728PyPI\u4e0a\u662f\u552f\u4e00\u7684\r\n- [ ] \u6d4b\u8bd5\u5305\u662f\u5426\u80fd\u6b63\u786e\u6784\u5efa\u548c\u5b89\u88c5\r\n- [ ] \u5148\u5728TestPyPI\u4e0a\u6d4b\u8bd5\uff0c\u518d\u53d1\u5e03\u5230\u6b63\u5f0fPyPI\r\n\r\n## \u9879\u76ee\u6587\u4ef6\u7ed3\u6784\r\n\r\n```\r\npython-sbx/\r\n\u251c\u2500\u2500 app.py                 # \u4e3b\u7a0b\u5e8f\u6587\u4ef6\r\n\u251c\u2500\u2500 requirements.txt       # \u4f9d\u8d56\u5217\u8868\r\n\u251c\u2500\u2500 setup.py              # \u5305\u914d\u7f6e\uff08\u4e3b\u8981\uff09\r\n\u251c\u2500\u2500 pyproject.toml        # \u73b0\u4ee3\u5305\u914d\u7f6e\r\n\u251c\u2500\u2500 MANIFEST.in           # \u5305\u542b\u6587\u4ef6\u914d\u7f6e\r\n\u251c\u2500\u2500 README.md             # \u9879\u76ee\u8bf4\u660e\r\n\u251c\u2500\u2500 LICENSE               # \u8bb8\u53ef\u8bc1\r\n\u251c\u2500\u2500 publish.py            # \u81ea\u52a8\u5316\u53d1\u5e03\u811a\u672c\r\n\u251c\u2500\u2500 test_build.py         # \u914d\u7f6e\u6d4b\u8bd5\u811a\u672c\r\n\u251c\u2500\u2500 PUBLISH_GUIDE.md      # \u8be6\u7ec6\u53d1\u5e03\u6307\u5357\r\n\u2514\u2500\u2500 QUICKSTART.md         # \u5feb\u901f\u5f00\u59cb\u6307\u5357\r\n```\r\n\r\n## \u8bb8\u53ef\u8bc1\r\n\r\nMIT License\r\n\r\n## \u8d21\u732e\r\n\r\n\u6b22\u8fce\u63d0\u4ea4Issue\u548cPull Request\uff01\r\n\r\n## \u76f8\u5173\u6587\u6863\r\n\r\n- [\u53d1\u5e03\u6307\u5357](PUBLISH_GUIDE.md) - \u8be6\u7ec6\u7684PyPI\u53d1\u5e03\u8bf4\u660e\r\n- [\u5feb\u901f\u5f00\u59cb](QUICKSTART.md) - 5\u5206\u949f\u53d1\u5e03\u6307\u5357\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Python project for network proxy management",
    "version": "1.0.1",
    "project_urls": {
        "Documentation": "https://github.com/eooce/sing-box#readme",
        "Homepage": "https://github.com/eooce/sing-box",
        "Issues": "https://github.com/eooce/sing-box/issues",
        "Repository": "https://github.com/eooce/sing-box/python"
    },
    "split_keywords": [
        "proxy",
        " network",
        " management"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f6e0cf30a05849d38ff627b4d8c06822b870512835a9b929893f03b92c430220",
                "md5": "e436ab0be2c0934c9ffcc9777cab2656",
                "sha256": "d5f9065b3dd4d572aec6d61c5acefa39479401d3a3a8bc85c06b9045efb25d6a"
            },
            "downloads": -1,
            "filename": "python_sbx-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e436ab0be2c0934c9ffcc9777cab2656",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 20531,
            "upload_time": "2025-08-13T17:19:43",
            "upload_time_iso_8601": "2025-08-13T17:19:43.256492Z",
            "url": "https://files.pythonhosted.org/packages/f6/e0/cf30a05849d38ff627b4d8c06822b870512835a9b929893f03b92c430220/python_sbx-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "96e1d1391370b58d885138d20b20b2774de9f4d5a786962e867f416a9e4d1acc",
                "md5": "a620846f8204d6becd13c8d8600a83c7",
                "sha256": "23ad1cc21e3a05b117b8b8b09b8542822d2dc18f3210445b3f31493ab635956e"
            },
            "downloads": -1,
            "filename": "python_sbx-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a620846f8204d6becd13c8d8600a83c7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 46750,
            "upload_time": "2025-08-13T17:19:44",
            "upload_time_iso_8601": "2025-08-13T17:19:44.952048Z",
            "url": "https://files.pythonhosted.org/packages/96/e1/d1391370b58d885138d20b20b2774de9f4d5a786962e867f416a9e4d1acc/python_sbx-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-13 17:19:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "eooce",
    "github_project": "Sing-box",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "python-sbx"
}
        
Elapsed time: 1.14781s