diff --git a/README.md b/README.md index 65d70c0..1b087db 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ Polaris 是一个电视剧和电影的追踪软件。配置好了之后,当剧集或者电影播出后,会第一时间下载对应的资源。支持本地存储或者webdav。 -![main_page](assets/main_page.png) -![detail_page](assets/detail_page.png) +![main_page](./doc/assets/main_page.png) +![detail_page](./doc/assets/detail_page.png) 交流群: https://t.me/+8R2nzrlSs2JhMDgx @@ -13,75 +13,21 @@ Polaris 是一个电视剧和电影的追踪软件。配置好了之后,当剧 - [x] 电影自动追踪下载 - [x] webdav 存储支持,配合 [alist](https://github.com/alist-org/alist) 或阿里云等实现更多功能 +## 使用 + +使用此程序参考 [【快速开始】](./doc/quick_start.md) + + ## 对比 sonarr/radarr * 更好的中文支持 +* 对于动漫、日剧的良好支持,配合国内站点基本能匹配上对应资源 * 支持 webdav 后端存储,可以配合 alist 或者阿里云来实现下载后实时传到云上的功能。这样外出就可以不依靠家里的宽带来看电影了,或者实现个轻 NAS 功能,下载功能放在本地,数据放在云盘 * golang 实现后端,相比于 .NET 更节省资源 * 一个程序同时实现了电影、电视剧功能,不需要装两个程序 * 当然 sonarr/radarr 也是非常优秀的开源项目,目前 Polaris 功能还没有 sonarr/radarr 丰富 -## 快速开始 - -最简单部署 Polaris 的方式是使用 docker compose - -```yaml -services: - polaris: - image: ghcr.io/simon-ding/polaris:latest - restart: always - volumes: - - ./config/polaris:/app/data #程序配置文件路径 - - /downloads:/downloads #下载路径,需要和下载客户端配置一致 - - /data:/data #媒体数据存储路径,也可以启动自己配置webdav存储 - ports: - - 8080:8080 - transmission: #下载客户端,也可以不安装使用已有的 - image: lscr.io/linuxserver/transmission:latest - container_name: transmission - environment: - - PUID=1000 - - PGID=1000 - - TZ=Asia/Shanghai - volumes: - - ./config/transmission:/config - - /downloads:/downloads #此路径要与polaris下载路径保持一致 - ports: - - 9091:9091 - - 51413:51413 - - 51413:51413/udp -``` - -拉起之后访问 http://< ip >:8080 的形式访问 - -## 配置 - -要正确使用此程序,需要配置好以下设置: - -### TMDB设置 -因为此程序需要使用到 TMDB 的数据,使用此程序首先要申请一个 TMDB 的 Api Key - -### 索引器 - -索引器是资源提供者,目前支持 torznab 协议,意味着 polarr 或者 jackett 都可以支持。请自行部署相关程序。 - -推荐使用 linuxserver 的镜像:https://docs.linuxserver.io/images/docker-jackett/ - -### 下载器 - -资源由谁下载,目前可支持 tansmission,需要配置好对应下载器 - -### 存储设置 - -程序默认所有剧集和电影存储在 /data 路径下,如果想修改路径或者webdav存储,需要在存储配置下修改 - -## 开始使用 - -配置完了这些,开始享受使用此程序吧!可以搜索几部自己想看的电影或者电视机,加入想看列表。当剧集有更新或者电影有资源是就会自动下载对应资源了。 - - - ------------- ## 请我喝杯咖啡 - + diff --git a/db/db.go b/db/db.go index db59a53..ccbc716 100644 --- a/db/db.go +++ b/db/db.go @@ -63,6 +63,10 @@ func (c *Client) init() { log.Infof("set default log level") c.SetSetting(SettingLogLevel, "info") } + // if tr := c.GetTransmission(); tr == nil { + // log.Warnf("no download client, set default download client") + // c.SaveTransmission("transmission", "http://transmission:9091", "", "") + // } } func (c *Client) generateJwtSerectIfNotExist() { diff --git a/doc/assets/add_indexer.png b/doc/assets/add_indexer.png new file mode 100644 index 0000000..b1d705d Binary files /dev/null and b/doc/assets/add_indexer.png differ diff --git a/doc/assets/copy_feed.png b/doc/assets/copy_feed.png new file mode 100644 index 0000000..a925ff0 Binary files /dev/null and b/doc/assets/copy_feed.png differ diff --git a/assets/detail_page.png b/doc/assets/detail_page.png similarity index 100% rename from assets/detail_page.png rename to doc/assets/detail_page.png diff --git a/doc/assets/downloader.png b/doc/assets/downloader.png new file mode 100644 index 0000000..b583632 Binary files /dev/null and b/doc/assets/downloader.png differ diff --git a/doc/assets/jackett_api_key.png b/doc/assets/jackett_api_key.png new file mode 100644 index 0000000..0f5d5ca Binary files /dev/null and b/doc/assets/jackett_api_key.png differ diff --git a/doc/assets/local_storage.png b/doc/assets/local_storage.png new file mode 100644 index 0000000..520f795 Binary files /dev/null and b/doc/assets/local_storage.png differ diff --git a/assets/main_page.png b/doc/assets/main_page.png similarity index 100% rename from assets/main_page.png rename to doc/assets/main_page.png diff --git a/doc/assets/polaris_add_indexer.png b/doc/assets/polaris_add_indexer.png new file mode 100644 index 0000000..842fb7a Binary files /dev/null and b/doc/assets/polaris_add_indexer.png differ diff --git a/doc/assets/search_add.png b/doc/assets/search_add.png new file mode 100644 index 0000000..5413cbe Binary files /dev/null and b/doc/assets/search_add.png differ diff --git a/doc/assets/webdav_storage.png b/doc/assets/webdav_storage.png new file mode 100644 index 0000000..1aff735 Binary files /dev/null and b/doc/assets/webdav_storage.png differ diff --git a/assets/wechat.JPG b/doc/assets/wechat.JPG similarity index 100% rename from assets/wechat.JPG rename to doc/assets/wechat.JPG diff --git a/doc/configuration.md b/doc/configuration.md new file mode 100644 index 0000000..9e0b4a8 --- /dev/null +++ b/doc/configuration.md @@ -0,0 +1,52 @@ +# 配置 + +要正确使用此程序,需要配置好以下设置: + +### TMDB设置 +1. 因为此程序需要使用到 TMDB 的数据,使用此程序首先要申请一个 TMDB 的 Api Key. 申请教程请 google [tmdb api key申请](https://www.google.com/search?q=tmdb+api+key%E7%94%B3%E8%AF%B7) + +2. 拿到 TMDB Api Key之后,请填到 *设置 -> 常规设置 -> TMDB Api Key里* + +### 索引器 + +索引器是资源提供者,目前支持 torznab 协议,意味着 polarr 或者 jackett 都可以支持。请自行部署相关程序,或者使用的 docker compose 配置一起拉起 + +推荐使用 linuxserver 的镜像:https://docs.linuxserver.io/images/docker-jackett/ + +#### 索引器配置 + +索引器配置这里以 jackett 为例。使用默认 docker compose 配置拉起后以 http://< ip >:9117 可访问 jackett 的主页。 + +1. 打开 jackett 主页后,点击页面上面的 Add indexer,会出现 BT/PT 站点列表,选择你需要的站点点击+号添加。如果是PT,请自行配置好相关配置 + +![add indexer](./assets/add_indexer.png) + +![search add](./assets/search_add.png) + + +2. 添加后主页即会显示相应的BT/PT站点,点击 *Copy Torznab Feed* 即得到了我们需要的地址 + +![copy feed](./assets/copy_feed.png) + +3. 回到我们的主程序 Polaris 当中,点击 *设置 -> 索引器设置* -> 点击+号增加新的索引器,输入一个名称,拷贝我们第2步得到的地址到地址栏 + +![polaris add indexer](./assets/polaris_add_indexer.png) + +4. 选相框中我们可以看到,还需要一个 API Key,我们回到 Jackett 中,在页面右上角,复制我们需要的 API Key: +![api key](./assets/jackett_api_key.png) + +5. 恭喜!你已经成功完成了索引器配置。如需要更多的站点,请重复相同的操作完成配置 + +### 下载器 + +资源下载器,目前可支持 tansmission,请配置好对应配置 + +![transmission](./assets/downloader.png) + +### 存储设置 + +默认配置了名为 local 的本地存储,如果你不知道怎么配置。请使用默认配置 + +![local_storage](./assets/local_storage.png) + +类型里选择 webdav 可以使用 webdav 存储,配合 alist/clouddrive 等,可以实现存储到云盘里的功能。 \ No newline at end of file diff --git a/doc/quick_start.md b/doc/quick_start.md index e69de29..cae3c82 100644 --- a/doc/quick_start.md +++ b/doc/quick_start.md @@ -0,0 +1,64 @@ +## 快速开始 + +最简单部署 Polaris 的方式是使用 docker compose,Polaris要完整运行另外需要一个索引客户端和一个下载客户端。索引客户端支持 polarr 或 jackett,下载客户端目前只支持 transmission。 + +下面是一个示例 docker-compose 配置,为了简单起见,一起拉起了 transmission 和 jackett,你也可选择单独安装 + + **注意:** transmission 的下载路径映射要和 polaris 保持一致,如果您不知道怎么做,请保持默认设置。 + +```yaml +services: + polaris: + image: ghcr.io/simon-ding/polaris:latest + restart: always + volumes: + - ./config/polaris:/app/data #程序配置文件路径 + - /downloads:/downloads #下载路径,需要和下载客户端配置一致 + - /data:/data #媒体数据存储路径,也可以启动自己配置webdav存储 + ports: + - 8080:8080 + transmission: #下载客户端,也可以不安装使用已有的 + image: lscr.io/linuxserver/transmission:latest + environment: + - PUID=1000 + - PGID=1000 + - TZ=Asia/Shanghai + volumes: + - ./config/transmission:/config + - /downloads:/downloads #此路径要与polaris下载路径保持一致 + ports: + - 9091:9091 + - 51413:51413 + - 51413:51413/udp + jackett: #索引客户端,也可以不安装使用已有的 + image: lscr.io/linuxserver/jackett:latest + environment: + - PUID=1000 + - PGID=1000 + - TZ=Asia/Shanghai + volumes: + - ./config/jackett:/config + ports: + - 9117:9117 + restart: unless-stopped +``` + +拉起之后访问 http://< ip >:8080 的形式访问 + + +![](./assets/main_page.png) + +## 配置 + +详细配置请看 [配置篇](./configuration.md) + + +## 开始使用 + +1. 完成配置之后,我们就可以在右上角的搜索按钮里输入我们想看的电影、电视剧。 +2. 找到对应电影电视剧后,点击加入想看列表 +3. 当电影有资源、或者电视剧有更新时,程序就会自动下载对应资源到指定的存储。对于剧集,您也可以进入剧集的详细页面,点击搜索按钮来自己搜索对应集的资源。 + +到此,您已经基本掌握了此程序的使用方式,请尽情体验吧! + +