{"repo":"scenery/mediax","free":true,"listed":false,"github":"https://github.com/scenery/mediax","clone":"git clone https://github.com/scenery/mediax.git","description":"A self-hosted tracker for books, movies, TV shows, anime, and games. # 一款轻量的个人阅读/观影/看剧/追番/游戏记录 Web 管理工具。","language":"Go","stars":46,"topics":[],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"mediaX mediaX 是一款使用 Go 语言开发的个人阅读/观影/看剧/追番/游戏记录 Web 管理工具。 特点： - Go 原生 Web 开发，无外部框架 - 轻量，简单，无任何 JavaScript 代码 - 数据库使用 SQLite + 纯 Go 实现的驱动 glebarez/sqlite，无 CGO 依赖 - 支持从豆瓣或 Bangumi 导入已有历史记录 - 支持新增条目时自动从豆瓣或 Bangumi 获取数据 - 支持导出内部记录为 JSON 数据 查看详细介绍 \\ 该项目主要是为了满足个人学习和使用需要，暂不接受新功能建议，如果有额外功能需求欢迎 fork 修改（MIT 协议）。 使用说明 mediaX 从 v0.6.0 版本开始通过配置文件启动，默认加载程序目录下的 config.json 文件，也可通过 --config 参数指定。配置文件格式如下： 其中： - address: 监听地址，默认 0.0.0.0 - port: 监听端口，默认 8080 - use https: 启用安全连接，默认 false，建议在 HTTPS 环境下开启 - username: 用户名，限制 1 至 64 个字符 - password: 密码，限制 4 至 64 个字符 - session timeout: 登录过期时间，默认 168h（7天） - categories: 开启的分类模块，默认全部开启 - page size: 分页条目数量，限制 10 至 50 长度 - api key: 默认为空，不启用 API 功能 配置文件中用户名和密码不能为空，且密码使用 BCrypt 加密，可使用 --bcrypt 参数加密，例如： 将输出的值填入配置文件 password 字段中即可。 mediaX 支持导入豆瓣（图书/电影/剧集）或 Bangumi 番组计划（图书/电影/剧集/番剧/游戏）数据来源的个人历史记录，其中 Bangumi 的电影和剧集记录因 API 返回内容限制未做详细区分，简单的判断如果只有一集归类为电影，大于一集则归类为剧集。 - 导入豆瓣数据：首先使用「豆伴」导出数据，安装好插件后，进入设置连接账号，然后点击浏览器任务栏插件图标选择 新建任务 ，选择备份的项目中只勾选第一个 影/音/书/游/剧 ，等待任务完成后，点击右上方 浏览备份 - 备份数据库 ，解压下载的文件，其中的 tofu[xxxxxx].json 为需要的文件。 - 导入 Bangumi 数据：可以直接使用 Bangumi 提供的 API 获得数据，在返回结果最后的 total 属性中可以看到你的记录总数，由于单次请求最多返回 50 条记录，如果超过 50 条需要修改 offset 分页参数多获取几次，最后将所有数据汇总保存为 JSON 文件。 导入数据 将 JSON 文件放到 mediaX 程序相同目录下，执行命令： 最后的 --download-image 为可选参数，如果加上则导入的时候会尝试下载封面图片，如果数据量大的话会比较耗时（为了避免 IP 被 ban 下载间隔为 1s），请耐心等待。 不推荐重复导入一个文件，如果重复导入文件，目前只是简单的比对已导入的记录（原链接）和已下载的图片文件是否已经存在，如果存在则跳过导入。 导出数据 mediaX 支持导出内部数据为 JSON 文件，数据格式如下： 其中 status 表示条目标记状态 - 1: 想看, 2: 在看, 3: 已看, 4: 搁置, 5: 抛弃。导出命令： 导出的文件将保存在程序目录下。","default_branch":null,"files":null,"tree":[],"storefront":"/r/scenery","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/scenery/mediax/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}