Giter Club home page Giter Club logo

ikaros's Introduction

简体中文 | English


Ikaros logo

Ikaros [Ίκαρος],专注于ACGMN的内容管理系统(CMS)。

ACGMN全拼是:Anime(动画) + Comic(漫画) + Game(游戏) + Music(音乐) + Novel(小说)

Github Releases GitHub Stargazers Docker pulls code coverage GitHub last commit GitHub workflow build status

特性

  • 统一资源管理: 所有的资源由统一的平台进行管理,再也不用东一个西一个了
  • 元数据支持: 您是否看着全是罗马音的一堆资源不明所以,ikaros 支持资源元数据
  • 快捷的搜索: 即使您有几十万资源,一样可以提供毫秒级的搜索响应
  • 插件支持: ikaros 本体只提供最为基础的功能,其它附加功能由插件提供
  • 客户端支持: 各个主流平台的客户端,包括不限于 Windows, 安卓
  • 文件加密分段上云: 支持主流云端的加密分段备份,在保障数据安全的前提下将云端的优势利用起来

文档

请看:https://docs.ikaros.run/

旧版本 v0.1.0

旧版本仅供体验功能,不推荐正式使用

部署指导文档: docker compose 方式部署指导手册(v0.1.0)

功能介绍:https://github.com/ikaros-dev/ikaros/blob/v0.1.0/docs/introduce/feature.md

许可证

LICENSE

Ikaros 使用 AGPL-v3.0 协议开源,请遵守开源协议。

声明

Ikaros 的作用是为了辅助对资源进行管理,类似于是 C/S 架构的文件管理器。

社区汇总

微信公众号

TG 群组和频道,很多不方便的朋友没法及时收到通知,我们创建了一个微信公众号,欢迎感兴趣的朋友进行订阅

  • 直接扫描下方的二维码
  • 微信=>添加朋友=>微信公众号 搜索 run_ikaros_wx
  • 搜索 Ikaros开源 选择公众号一栏

image

项目进度

Project: https://github.com/orgs/ikaros-dev/projects

Open Issue: https://github.com/orgs/ikaros-dev/projects/4/views/8

相关文档

感谢

JetBrains Logo (Main) logo.

  • Intellij 的开源许可
  • 项目中用到的所有开源项目
  • 参考的所有开源项目

ikaros's People

Contributors

ddsderek avatar dependabot[bot] avatar li-guohao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ikaros's Issues

[Feature] 大文件上传的断点续传支持

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

当上传大文件时,由于网络原因导致的上传失败,需要支持断点续传,而不是又要充头开始上传。

[Feature] 前端封装一个第三方的视频组件

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

  • 前端封装一个第三方的视频组件

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

[Feature] 需要部署官网

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

需要部署Ikaros的官方网站,集项目介绍、项目特性、项目文档于一体,初步考虑使用 VuePress进行构建。

TODO

  • 官网首页
  • 开发版文档页面,包括详细介绍文档、部署文档、使用指南等

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

No response

文件存储数据库建模

详细描述一下此特性

文件存储数据库建模,结合上传下载,完成上传下载删除等API接口。

可供参考的方案

No response

如果你来设计,你会如果去实现?

No response

附加信息

No response

[Feature] 功能性拓展的插件支持

详细描述一下此特性

需要支持可用于拓展功能的插件

可供参考的方案

开源博客solo的插件方案,java的spi机制等

如果你来设计,你会如果去实现?

提供接口,结合spi加载指定包的类,这些类是让插件作者去编写的,可用于拓展功能。

[Bug] 在生产环境下的容器部署情况下,IPV4地址不正确

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

后端组件 (li-guohao/ikaros)

What happened

在生产环境下的容器部署情况下,IPV4地址不正确,获取到的是docker的虚拟网卡的子网IP,如 10.0.3.8

What you expected to happen

预期应该获取到的是宿主机的真实IP地址

How to reproduce

生产环境容器部署,上传图片,图片无法正常访问,IP地址不是宿主机的IP地址

Anything else

No response

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Feture] 在此模型下新增番剧的方案

    在此模型下新增番剧的方案

Originally posted by @li-guohao in #47 (comment)

参考图
其中Metadata的key属性名已经更新为name
model drawio

保存单季度番剧的思路

保存番剧

1 拿到前端表单参数,查询是否已经存在,已存在则更新,不存在则继续下面步骤
2. 拿到番剧信息,从前端表单或者请求第三方,封面图片保存为资源记录
3. 组装一个类型为番剧的BoxEntity,name值为番剧名称,获取到保存后的 box_id
4. 单季度番剧再创建类型为剧集的盒子,父ID为上一步中创建的盒子ID,name值为正篇,并获取到保存后的 box_id
5. 组装成一个类型为box的MetadataEntity,同时host_id为上一步获取的 box_id值

保存剧集

  1. 查询相关剧集信息,已经存在则查出来更新,不存在则新增
  2. 拿到剧集信息,从前端表单或者请求第三方,封面图片保存为资源记录
  3. 组装类型为剧集的BoxEntity,获取到保存后的 box_id,需要注意的是 parent_id为番剧的box_id,
  4. 组装成一个类型为box的MetadataEntity, 同时host_id为步骤一获取的 box_id值

[Feature] V1.0 OpenApi

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

  • 提供RestApi供管理页面调用,V1.0暂时不进行细分。

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

贡献文档中的git命令格式问题

Describe the bug
使用贡献文档中的git命令,会报没有权限的错误,需要更新下文档

To Reproduce
提交新代码,合并分支创建PR时,拉取最新的主分支更新报错。使用命令如下:

git fetch upstream/develop
git merge upstream/develop
git push origin {YOU_BRANCH_NAME}

Expected behavior
正常更新主分支

Expected update
命令格式应该如下:

git fetch upstream develop
git merge upstream develop
git push origin {YOU_BRANCH_NAME}

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows10
  • Version 0.1.0

[Bug] 文件上传在生产环境下URL错误

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

后端组件 (li-guohao/ikaros)

What happened

文件上传在生产环境下URL错误
错误的URL:
http://10.0.3.8:9090uploadhttp://10.0.3.8:90902022http://10.0.3.8:909010http://10.0.3.8:909023http://10.0.3.8:90909http://10.0.3.8:90900d65141e5d68443a9d98574116c8d494.jpg

What you expected to happen

正确的URL:http://ip:port/upload/2022/10/23/17/xxxxx.postfix

How to reproduce

生产环境上传一个图片即可

Anything else

当前问题commit: 08c94aa

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Bug] 文件标签正则匹配有误

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

后端组件 (li-guohao/ikaros)

What happened

文件标签正则匹配有误,目前匹配文件标签的正则是 \[[A-Za-z0-9_-]+\]
然而当文件标签中带有空格时,无法匹配到,比如文件名称[Lilith-Raws] SPYxFAMILY - 15 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4].mp4 中的 [AVC AAC] 匹配不到

What you expected to happen

能正确匹配所有文件名称中的中括号的内容为文件的标签

How to reproduce

使用文件名称[Lilith-Raws] SPYxFAMILY - 15 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4].mp4进行匹配

Anything else

No response

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Feature] 添加LICENSE文件头

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

给所有文件,添加LICENSE文件头

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

No response

[Bug] 大文件上传时,如果关闭上传弹框,进度就会中断

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

前端后台组件 (li-guohao/ikaros-admin)

What happened

大文件上传时,如果关闭上传弹框,进度就会中断,建议改成右边抽屉式的

What you expected to happen

大文件上传时,可以去其它页面,而不用在上传弹框那等着。文件传输不会中断

How to reproduce

上传一个大文件,在上传途中点击其它区域关掉上传的弹出,上传会中断

Anything else

No response

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Feature] Web管理端番剧剧集URL字段编辑优化

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

Web管理端番剧剧集URL字段编辑优化,应该打开一个表格,显示较为完整的文件名称和URL

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

No response

[Feature] 文件管理相关功能开发

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

  • 文件上传
  • 文件列表
  • 文件查询
  • 文件快速选择:期望能通过一个按钮,打开文件快速选择页面,快速获取(或者复制)文件的ID或者URL

[Bug] Web端管理组件动画编辑页数据无法响应式更新

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

前端后台组件 (li-guohao/ikaros-admin)

What happened

Web端管理组件,在剧集和文件快速匹配后,编辑页面的剧集信息没有更新,需要从动漫列表重新进入

What you expected to happen

快速匹配剧集后,在匹配成功后,编辑页面的剧集的URL字段自动更新,不需要重新从动漫列表页进入到对应动漫的编辑页。

How to reproduce

  1. 进入动漫列表页
  2. 选择需要匹配剧集文件的动漫
  3. 在动漫编辑页面进行快速匹配
  4. 匹配成功后发现剧集的URL字段没有更新

暂时的办法:从动漫列表页重进

Anything else

No response

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Feature] 客户端开发

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

客户端的开发,也是主要使用的客户端,包括番剧播放,内容简单管理啥的。
WEB端的前台只做简单的展示,只开发了一个简单的主题。

Use case

  • 番剧的管理
  • 登录后番剧的播放
  • 调用设备显卡实时转码,基于ffmpeg

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

No response

[Feature] BT下载需要调用qbittorent的API

需要封装qbittorent的API调用

  • 获取应用版本
  • 获取API版本
  • 获取所有分类
  • 添加新的分类
  • 编辑分类
  • 批量移除分类
  • 从URL添加Torrent文件
  • 重命名Torrent的文件(单个)
  • Resume torrents
  • Get torrent contents
  • Delete torrents

[Feature] i18n国际化

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

各个组件的国际化、以及相关配套的设施如文档、站点等的国际化,主要是添加英语。

To Do List

[Feature] 通知管理

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

[Bug] 文件分片上传时的请求头乱码问题

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

前端后台组件 (li-guohao/ikaros-admin)

What happened

文件分片上传时的请求头乱码问题,中文或者冒号直接会导致上传失败,如下图

前端:
image

后端:
image

What you expected to happen

正常上传没问题

How to reproduce

上传一个文件名带有中文或者冒号的文件

Anything else

No response

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Feature] 番剧元数据剧集和文件快速关联

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

番剧元数据剧集和文件快速关联,在番剧编辑页面,快速关联番剧的剧集文件URL,并保存番剧剧集信息。

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

[Feature] 美观性拓展的主题支持

详细描述一下此特性

支持前端页面的多个可选主题,后台界面可调节主题

可供参考的方案

开源博客halo的主题方案等

如果你来设计,你会如果去实现?

前台用模板引擎渲染,后台用vue框架的可选主题

列表

  • #68
  • 服务端对多主题的支持
  • 管理端主题选择页面
  • 管理端主题编辑页面

[Feature] 用户管理相关功能开发

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

用户信息更新

  • 个人介绍
  • 用户名

用户安全更新

  • 密码更新
  • 手机号更新,暂时不做,后面和通知模块一起做

Use case

管理页面能进行用户的相关信息更新

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

[Feature] 最简前台番剧展示

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

  • 功能性大于美观性,尽可能简单的展示番剧,要求能对简单的文件格式进行播放。

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

[Feature] 需要更为灵活合理的底层模型

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

需要更为灵活合理的底层模型,要求的点如下:

  • Resource即为资源
  • Box即为盒子
  • 资源对应操作系统的文件,资源表有盒子id字段
  • 盒子对应操作系统的目录,盒子表有父ID字段
  • 资源和盒子,都是属于对象,一切皆对象
  • 资源在操作系统的映射为UFL统一文件定位符
  • 所有的资源都在盒子里,默认在根盒子里
  • 歌单,季度,番剧等都属于附带特殊元数据的特殊盒子,也能新增其它特殊盒子
  • 针对资源的权限控制以盒子为准
  • 能自由添加和删除盒子
  • 能自由往盒子里添加资源
  • 添加一个盒子类型表,,支持自定义盒子类型,内置番剧盒子,正篇第一季盒子啥的,字段有name和id,带parent id字段,支持父子盒子类型;对应的盒子表加个盒子类型表id字段
  • 添加一个资源类型表,支持自定义资源类型,带parent id 字段,支持父子资源类型,内置有基础的资源类型,如视频资源,文件资源等;对应的资源表需要加个资源类型字段
  • 比番剧盒子更高一级的是IP盒子,IP盒子下有番剧盒子,音乐盒子,漫画盒子等等
  • 添加番剧的步骤,通过bgmtv的subjectId查询是否有复杂关系,根据复杂关系创建番剧盒子,根据所有条目id查到的创建对应的盒子,根据条目的具体剧集创建没有ufl的资源;在资源编辑页面关键文件,赋值ufl,资源在ufl就绪后正式可用。
  • 盒子里可以装盒子或者资源,树形结构,每个盒子都可以上述到根盒子
  • 加元数据表,字段有:自身id,type(1=box;2=resource),host_id(根据type分别为resource_id或者box_id),key和value,这样就可以动态增删元数据;
  • UFL: 统一文件定位符(Uniform File Locator),资源里关于文件的字段名称, 对应文件表的URL
  • 其它待定的点

Use case

底层模型非常灵活,可以通过增删数据库表记录支持更为高级的模型

Related issues

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

[Feature] 需要类似自动化追番

详细描述一下此特性

自动下载功能:用于追新番,有必要考虑实现,订阅源+bt+上载到db,订阅源需要比较灵活,比如rss或者telegram channel等

可供参考的方案

rss + qb + 上载入库+ push通知

[Bug] 前端文件上传组件进度展示有问题

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

前端后台组件 (li-guohao/ikaros-admin)

What happened

前端文件上传组件进度展示有问题,进度不能反映真实的上传进度,上传时进度条会卡住,上传成功后会短时间内很快转到100%

What you expected to happen

进度能真实反映文件的上传进度

How to reproduce

上传50M~150M大小文件

Anything else

No response

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Feature] 番剧管理相关功能开发

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

  • #45
  • #46
  • 番剧管理页面展示
  • 番剧删除:根据ID删除,同时删除对应的剧集元数据
  • 番剧简单查询:根据番剧名查询番剧
  • 自动管理剧集文件:打开文件快速选择页面,根据文件名关键字选择对应的文件与剧集关联
  • #47

Use case

No response

Related issues

  • 番剧的前台展示:#27

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Reated Pull Request

[Feature] 大文件分片上传支持

高分辨率的番剧剧集的文件通常都很大,上传时不做分片会导致服务器内存不足,从而上传失败,需要支持分片上传。

[Feature] 系统管理相关功能开发

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

Use case

  • 系统第一次初始化时,同时初始化预置的系统配置项
  • 能够在管理页面进行配置项的维护

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

[Feature] 文件URL需要限制访问权限

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

文件URL需要限制访问权限,需要对文件URL加上权限,只有登录后才可访问。

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

No response

[Feature] 和Jellyfin的联动功能

    和Jellyfin的联动功能:

匹配好剧集文件的番剧,如果当前应用目录和Jellyfin的媒体目录是在一个文件系统下的,
可以通过完整的番剧信息,创建文件硬链接和按照jellyfin的格式生成对应的nfo文件

与复制文件不同的是,文件硬链接,只需要占用一份磁盘空间即可,具体可以参考:硬链接百度百科
而nfo文件通常非常的小,直接生成即可,
这样jellyfin可以直接读取对应的番剧信息

Originally posted by @li-guohao in #65 (comment)

新增文件存储功能模块

详细描述一下此特性

需要支持本地文件存储和MinIO对象存储

可供参考的方案

No response

如果你来设计,你会如果去实现?

No response

附加信息

No response

[Feature] 包名更新和包结构优化

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

  • 服务端项目包名更新为 run.ikaros.server
  • 包结构优化

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Related pull requests

No response

[Feature] 前端封装一个第三方的音乐播放组件

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

  • 前端封装一个第三方的音乐播放组件

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

[Bug] 编译指南不正确

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Ikaros Component

后端组件 (li-guohao/ikaros)

What happened

编译指南不正确,按照指南无法正常进行编译运行,需要进行修改

What you expected to happen

能正常编译运行

How to reproduce

暂无

Anything else

No response

Are you willing to submit PR?

  • 是的我想要提交个PR!

[Feature] 更新GitHub的 Feture Issue模板

Search before asking

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

Description

更新GitHub的Issue模板,加上相关的PR输入框,和提示

Use case

新创建 feature issue 时,有对应的相关的PR的输入框,能让开发者输入对应的PR链接,快速定位

Related issues

No response

Are you willing to submit a PR?

  • 是的我想要提交个PR!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.