Skip to main content
jm-view-server logo

jm-view-server

“离线版”禁漫天堂,你的纯本地 离线看本神器!

GitHub Stars Forks PyPI PyPI - Downloads Licence

该项目会在你的电脑上启动一个本地文件服务器。你可以直接在浏览器(手机或电脑)中打开它,它会把本地文件夹里的图片转换成类似“禁漫天堂”的章节观看页面。

核心优势:

  • 原生支持连续下拉、单页翻页、无缝双页三种阅读模式,无需额外安装阅读插件。
  • 仍可配合各种浏览器插件和用户脚本,继续扩展个性化阅读能力。
  • 一键开启局域网共享,电脑下载,躺在床上用手机看。

从 v0.2.4 起,本项目正式更名为 jm-view-server,原名 plugin-jm-server ,安装了旧包的老用户请参考文末的 老用户迁移指南 进行升级。

各版本的新增、优化与修复内容统一记录在 CHANGELOG.md。

架构与流程图


🌟 效果展示

1. 文件夹管理

视图 功能特色 使用场景
列表 紧凑展示文件信息,支持排序、书签、多选及文件管理操作。 按文件名快速扫描和批量整理
网格 以文件夹首图作为预览封面,支持多选及文件管理操作。 依靠封面快速识别漫画
分栏 模仿 macOS Finder 分栏识图,桌面端最多同时展示四层目录并自动向左推进,刷新后恢复目录链;支持键盘导航、快捷方式和紧凑 ⋯ 操作菜单,窄屏自动切换为单列导航。 连续浏览多层目录
电脑端:列表视图 电脑端:网格视图 电脑端:Finder 分栏视图 手机端:文件夹列表

2. 看本与阅读体验(模仿JM章节阅读页面)

功能 / 模式 功能特色 使用场景
下拉阅读 分段懒加载图片并自然滚动,支持进度记忆、跳页和护眼模式。 条漫、快速浏览和长章节
单页翻页 支持点击画面左右区或键盘翻页、窗口适应、自定义图片尺寸、进度记忆和跳页。 传统漫画和键盘操作
无缝双页 纵图自动成对、横图自动跨页,支持从左向右与从右向左(日漫)排版方向、无缝衔接、进度记忆和护眼模式。 横屏桌面阅读与日漫对开
缩略图画板 独立可视化卡片画板(Contact Sheet),支持卡片自由拖拽调序、一键整本倒序、悬停插入/删除空白页以调整双页对齐、双页对开预览排版与顺序记忆开关。 漫画对齐校对、章节审阅与跳页
电脑端:无缝双页模式 电脑端:下拉模式 手机端:看本模式
电脑端:缩略图画板总览 电脑端:缩略图双页对开预览

3. 其他功能

功能 特色 使用场景
访问保护 支持登录密码、指定设备 IP 白名单和 HTTPS 自签名证书。 限制局域网内的访问范围
文件上传 支持网页多选、批量拖拽上传,并明确显示文件的目标目录和保存路径。 从手机或其他设备向电脑传文件
消息中心 支持消息记录、复制、昵称记忆以及桌面和网页内通知。 同一局域网内的设备互发文字
登录密码验证 局域网消息界面

🚀 小白快速上手指南

如果你不懂编程,请严格按照以下两步操作即可:

第一步:环境准备

本项目基于 Python 开发,因此你的电脑必须先安装 Python。

  • 请前往 Python 官网 下载并安装最新版 Python(安装时请务必勾选 Add Python to PATH)。

第二步:一键安装与启动

打开你电脑的命令行终端,复制并执行对应的命令:

  • Windows (PowerShell):
    pip install jm-view-server ; jms
    
  • macOS / Linux:
    pip3 install jm-view-server && jms
    

提示:这行命令会帮你自动下载安装必要的组件,并以默认配置启动服务器。如果提示 80 端口无权限,可以参考下方进阶参数指定高位端口(如 -p 8080)。

启动成功后怎么用? 终端里会打印出两行地址,例如:

  • 本机访问:http://127.0.0.1:80
  • 局域网访问:http://192.168.1.100:80

你只需要在电脑的浏览器里打开第一个地址,或者在连着同一个 WiFi 的手机浏览器里打开第二个地址,就可以开始看漫画了!

提示:如果在终端没看清局域网地址也没关系,当你用电脑打开本机地址后,**网页的主页顶部也会直接显示并智能识别当前的局域网地址 **,你可以一键复制发给手机直接访问。


⚙️ 进阶使用(针对有经验的用户)

安装后系统会注册 jms 命令,无需写代码即可通过丰富的参数进行个性化启动:

# 共享指定目录 ~/comics,并使用 8080 端口(高位端口无需管理员权限)
jms ~/comics -p 8080

# 设置登录密码为 123,并启用 HTTPS
jms ~/comics -P 123 -s

# 仅允许指定 IP 的设备访问
jms ~/comics --ip-whitelist 192.168.1.10,192.168.1.11

# 加载 jmcomic 配置开启在线下载
jms ~/comics -o op.yml

全部参数说明(可通过 jms -h 查看):

参数 说明 默认值
path 要共享的根目录(位置参数) 当前目录
-P, --password 登录密码,空表示免密 空
-H, --host 监听地址 0.0.0.0
-p, --port 监听端口 80
-s, --ssl 启用 HTTPS(adhoc 自签名) 关闭
-o, --option jmcomic 配置文件路径,开启在线下载 无
--ip-whitelist IP 白名单,逗号分隔 不限制
--current-path 初始当前路径 同 path
-e, --env 设置环境变量 KEY=VALUE,可重复 无
--debug 开启 Flask debug 模式 关闭

注:如果你在 Linux/macOS 上启动报错没有权限,是因为绑定默认的 80 端口需要管理员权限。建议加上 -p 8080 参数改用其他端口。


👨‍💻 开发者专属区域

如果你想在自己的 Python 脚本中集成或二次开发该服务,可以通过代码进行调用。

1. HTTP / HTTPS 原生调用

from jm_view_server import *

# 启动 HTTP 服务
server = JmServer('D:/', 'password')
server.run(host='0.0.0.0', port=80)

# 启动 HTTPS 服务 (需要安装 cryptography)
server.run(host='0.0.0.0', port=443, ssl_context='adhoc')

2. 作为 jmcomic 的插件集成

你可以在 jmcomic 的 op.yml 配置文件中配置它:

plugins:
  after_init:
    - plugin: jm_server
      kwargs:
        password: ''

对应的启动脚本注意事项:

from jmcomic import *

op = create_option('op.yml')
op.download_album(123)

# 注意:虽然爬虫主线程执行完毕,但 Web 服务器线程仍在运行中。
# 需要用户手动按 Ctrl+C 退出。
# Python 3.12+ 特别注意:必须插入下面这行代码,Web 服务器才能继续处理请求!
op.wait_all_plugins_finish()

老用户迁移指南

原名 plugin-jm-server 里的 plugin- 前缀会让人误以为它必须搭配 jmcomic 才能用。其实它**首先是一个可独立运行的本地看本服务器 **,jmcomic 插件只是附加能力,因此更名为 jm-view-server。

老用户迁移 —— 一行搞定:

pip uninstall -y plugin_jm_server && pip install jm-view-server

命令行 jms 和 jmcomic 插件 key jm_server 都不变;脚本里把 import plugin_jm_server 换成 import jm_view_server 即可(不换也行,旧包名仍能用)。

旧包 plugin_jm_server 仍保留在 PyPI 上做重定向薄壳:安装它会自动带上 jm-view-server,旧的 import 和 jms 命令继续可用,仅在导入时打印一条弃用提示。建议尽快迁移到新包名。


💡 想法起源

Metadata

Release files for jm-view-server 0.3.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jm-view-server 0.3.6
File Size Uploaded
jm_view_server-0.3.6.tar.gz 7.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jm-view-server 0.3.6
File Interpreter ABI Platform
jm_view_server-0.3.6-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 MB

Release files / jm_view_server-0.3.6.tar.gz

Download URL jm_view_server-0.3.6.tar.gz
Size 7.0 MB
Tags Source
SHA-256 checksum
How to use checksums
164fe366a327b3dde969ce947164c4f6d2ad06f72dd64d1bf33935af266bb384
BLAKE2b-256 checksum
How to use checksums
da84d3a0032c9373fe92e3f5f32a33cb57afd51e33aa014eaf9f2cae814ffc32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release files / jm_view_server-0.3.6-py3-none-any.whl

Download URL jm_view_server-0.3.6-py3-none-any.whl
Size 334.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4b7d292dd4d6f1887c04204879a82a58b21deca82a5f4254101f788190217e3a
BLAKE2b-256 checksum
How to use checksums
f35df9c0fb7055c16d13f22947c72928916682e926b131ccbdb6e40e68352080
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.8

2 release files

0.3.7

2 release files

This release

0.3.6 This release

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page