plugin-jm-server


Nameplugin-jm-server JSON
Version 0.1.21 PyPI version JSON
download
home_pagehttps://github.com/hect0x7/plugin-jm-server
Summaryplugin_jm_server, a plugin for jmcomic that can be used to view comics in a web browser.
upload_time2024-03-03 09:11:40
maintainer
docs_urlNone
authorhect0x7
requires_python>=3.7
license
keywords python jmcomic 18comic 禁漫天堂 nsfw
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # plugin-jm-server

想法起源:https://github.com/hect0x7/JMComic-Crawler-Python/issues/192

基于原项目:https://github.com/AiCorein/Flask-Files-Server

为了方便修改,将原项目中的文件复制到本项目中,然后进行修改



# 使用方式



## 1. pip安装

```shell
pip install plugin_jm_server
```



## 2. 运行代码

* **HTTP版**

```python
from plugin_jm_server import *

# http
server = JmServer(
    'D:/',
    'password',
)
server.run(
    host='0.0.0.0',
    port=80,
)
```

* **HTTPS版**

```python
from plugin_jm_server import *

# https
server = JmServer(
    'D:/',
    'password',
)
server.run(
    host='0.0.0.0',
    port=443,
    ssl_context='adhoc',
)
```

* 作为jmcomic的插件

```yml
# 配置文件
plugins:
  after_init: 
#  after_album:
    - plugin: jm_server
      kwargs:
        password: ''

```

```python
# 代码
from jmcomic import *

op = create_option('op.yml')
op.download_album(123)
# 运行到这里,虽然主线程代码执行完毕,但程序不会退出,因为服务器线程还没有结束。
# 控制台会输出提示信息如下(atexit时输出的):
# “主线程执行完毕,但插件jm_server的服务器线程仍运行中,可按下ctrl+c结束程序”
# 此时需要你主动按下ctrl+c终止程序。

# python 3.12 特别注意:需要插入下面这行代码,服务器才能继续处理请求
op.wait_all_plugins_finish()
```


# 效果图(文件浏览、整章看图)

## 1. 电脑浏览器访问
![](images/3.png)
![](images/4.png)
![](images/5.png)

## 2. 手机浏览器访问
![](images/1.jpeg)
![](images/2.jpeg)
![](images/7.jpeg)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hect0x7/plugin-jm-server",
    "name": "plugin-jm-server",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "python,jmcomic,18comic,\u7981\u6f2b\u5929\u5802,NSFW",
    "author": "hect0x7",
    "author_email": "93357912+hect0x7@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/1b/72/669a27359200bfe6fdac946c97665d45d89c1015b7dc0fa18ac24e117e18/plugin_jm_server-0.1.21.tar.gz",
    "platform": null,
    "description": "# plugin-jm-server\n\n\u60f3\u6cd5\u8d77\u6e90\uff1ahttps://github.com/hect0x7/JMComic-Crawler-Python/issues/192\n\n\u57fa\u4e8e\u539f\u9879\u76ee\uff1ahttps://github.com/AiCorein/Flask-Files-Server\n\n\u4e3a\u4e86\u65b9\u4fbf\u4fee\u6539\uff0c\u5c06\u539f\u9879\u76ee\u4e2d\u7684\u6587\u4ef6\u590d\u5236\u5230\u672c\u9879\u76ee\u4e2d\uff0c\u7136\u540e\u8fdb\u884c\u4fee\u6539\n\n\n\n# \u4f7f\u7528\u65b9\u5f0f\n\n\n\n## 1. pip\u5b89\u88c5\n\n```shell\npip install plugin_jm_server\n```\n\n\n\n## 2. \u8fd0\u884c\u4ee3\u7801\n\n* **HTTP\u7248**\n\n```python\nfrom plugin_jm_server import *\n\n# http\nserver = JmServer(\n    'D:/',\n    'password',\n)\nserver.run(\n    host='0.0.0.0',\n    port=80,\n)\n```\n\n* **HTTPS\u7248**\n\n```python\nfrom plugin_jm_server import *\n\n# https\nserver = JmServer(\n    'D:/',\n    'password',\n)\nserver.run(\n    host='0.0.0.0',\n    port=443,\n    ssl_context='adhoc',\n)\n```\n\n* \u4f5c\u4e3ajmcomic\u7684\u63d2\u4ef6\n\n```yml\n# \u914d\u7f6e\u6587\u4ef6\nplugins:\n  after_init: \n#  after_album:\n    - plugin: jm_server\n      kwargs:\n        password: ''\n\n```\n\n```python\n# \u4ee3\u7801\nfrom jmcomic import *\n\nop = create_option('op.yml')\nop.download_album(123)\n# \u8fd0\u884c\u5230\u8fd9\u91cc\uff0c\u867d\u7136\u4e3b\u7ebf\u7a0b\u4ee3\u7801\u6267\u884c\u5b8c\u6bd5\uff0c\u4f46\u7a0b\u5e8f\u4e0d\u4f1a\u9000\u51fa\uff0c\u56e0\u4e3a\u670d\u52a1\u5668\u7ebf\u7a0b\u8fd8\u6ca1\u6709\u7ed3\u675f\u3002\n# \u63a7\u5236\u53f0\u4f1a\u8f93\u51fa\u63d0\u793a\u4fe1\u606f\u5982\u4e0b\uff08atexit\u65f6\u8f93\u51fa\u7684\uff09\uff1a\n# \u201c\u4e3b\u7ebf\u7a0b\u6267\u884c\u5b8c\u6bd5\uff0c\u4f46\u63d2\u4ef6jm_server\u7684\u670d\u52a1\u5668\u7ebf\u7a0b\u4ecd\u8fd0\u884c\u4e2d\uff0c\u53ef\u6309\u4e0bctrl+c\u7ed3\u675f\u7a0b\u5e8f\u201d\n# \u6b64\u65f6\u9700\u8981\u4f60\u4e3b\u52a8\u6309\u4e0bctrl+c\u7ec8\u6b62\u7a0b\u5e8f\u3002\n\n# python 3.12 \u7279\u522b\u6ce8\u610f\uff1a\u9700\u8981\u63d2\u5165\u4e0b\u9762\u8fd9\u884c\u4ee3\u7801\uff0c\u670d\u52a1\u5668\u624d\u80fd\u7ee7\u7eed\u5904\u7406\u8bf7\u6c42\nop.wait_all_plugins_finish()\n```\n\n\n# \u6548\u679c\u56fe\uff08\u6587\u4ef6\u6d4f\u89c8\u3001\u6574\u7ae0\u770b\u56fe\uff09\n\n## 1. \u7535\u8111\u6d4f\u89c8\u5668\u8bbf\u95ee\n![](images/3.png)\n![](images/4.png)\n![](images/5.png)\n\n## 2. \u624b\u673a\u6d4f\u89c8\u5668\u8bbf\u95ee\n![](images/1.jpeg)\n![](images/2.jpeg)\n![](images/7.jpeg)\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "plugin_jm_server, a plugin for jmcomic that can be used to view comics in a web browser.",
    "version": "0.1.21",
    "project_urls": {
        "Homepage": "https://github.com/hect0x7/plugin-jm-server"
    },
    "split_keywords": [
        "python",
        "jmcomic",
        "18comic",
        "\u7981\u6f2b\u5929\u5802",
        "nsfw"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "690b059c042dccef70fe989d549e8cc1c8faf245193738036ef524b683c7c86a",
                "md5": "a3a83a03a5aea1ff0941d0679fadd65e",
                "sha256": "5ec7997a33083d497976611b511eef6dd1a36ea73797dc5ead67b2fa23c776ce"
            },
            "downloads": -1,
            "filename": "plugin_jm_server-0.1.21-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a3a83a03a5aea1ff0941d0679fadd65e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 805371,
            "upload_time": "2024-03-03T09:11:38",
            "upload_time_iso_8601": "2024-03-03T09:11:38.688549Z",
            "url": "https://files.pythonhosted.org/packages/69/0b/059c042dccef70fe989d549e8cc1c8faf245193738036ef524b683c7c86a/plugin_jm_server-0.1.21-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b72669a27359200bfe6fdac946c97665d45d89c1015b7dc0fa18ac24e117e18",
                "md5": "14471f2625123b0d07e6fd435afe2a3c",
                "sha256": "318ef1a0504b8f05fda2e610124fc85c5d40e0ff9d9cf847b62bac7902ed1dc8"
            },
            "downloads": -1,
            "filename": "plugin_jm_server-0.1.21.tar.gz",
            "has_sig": false,
            "md5_digest": "14471f2625123b0d07e6fd435afe2a3c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 794202,
            "upload_time": "2024-03-03T09:11:40",
            "upload_time_iso_8601": "2024-03-03T09:11:40.820503Z",
            "url": "https://files.pythonhosted.org/packages/1b/72/669a27359200bfe6fdac946c97665d45d89c1015b7dc0fa18ac24e117e18/plugin_jm_server-0.1.21.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-03 09:11:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hect0x7",
    "github_project": "plugin-jm-server",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "plugin-jm-server"
}
        
Elapsed time: 0.19259s