Giter VIP home page Giter VIP logo

yajuhua / podcast2 Goto Github PK

View Code? Open in Web Editor NEW
77.0 2.0 7.0 212.38 MB

将视频网站转换成播客订阅 Convert a video website into a podcast subscription 支持 哔哩哔哩、YouTube、vimeo、干净世界和girigirilove 图形化界面

Home Page: https://yajuhua.github.io

License: Apache License 2.0

Java 99.95% HTML 0.01% Dockerfile 0.01% Shell 0.01% JavaScript 0.01% Vue 0.04%
podcasts podsync rss anime youtube yt-dlp bilibili vimeo docker alist

podcast2's Introduction


Release docker-pull JDK apache-licenses test latest

Podcast2


项目说明

  • 基于spring boot开发
  • 将视频网站转换成播客订阅

快速开始

使用Docker

  1. 安装并启动Docker
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && systemctl start docker
  1. 创建并启动Docker
docker volume create podcast2
docker run -id --name=podcast2 \
-p 8088:8088 \
--restart=always \
--mount source=podcast2,destination=/data \
yajuhua/podcast2:latest
  1. 防火墙放行端口
#以下是centos7,其他系统自行搜索。
firewall-cmd --add-port=8088/tcp --permanent
firewall-cmd --reload

使用Windows

  1. 下载podcast2压缩包
  1. 双击启动 windows-start

使用macOS

  1. 下载podcast2压缩包
  1. 解压得到 platform文件夹
  2. 赋执行权限
chmod -R a+x platform
  1. 启动
#进入platform/osx
./start.sh

进入面板

默认访问地址 http://你的IP地址:8088

默认用户名:admin
默认密码:123456

登录

安装插件

项目默认是没有添加插件的,自行按需添加

支持网站

网站 状态
干净世界
vimeo
ntdm
girigirilove
youtube
bilibili
抖音
  1. 安装插件 安装插件

  2. 设置插件,如果有的话 设置插件

添加订阅

以干净世界为例

  1. 复制主页链接 复制主页链接

  2. 粘贴并点击Add 添加订阅

  3. 点击二维码 二维码

  4. 扫描二维码添加到播客APP(如:AntennaPod)

链接地址AntennaPod-2

播客APP

Apple Podcasts Podcast Addict AntennaPod

常见问题

哔哩哔哩设置

风控太严,只能选择授权的方式

参考

风控太严,只能选择授权的方式,参考 Web端Cookie刷新

打开浏览器登录哔哩哔哩,最好无痕窗口

登录哔哩哔哩

复制cookie

复制cookie

复制ac_time_value

复制ac_time_valu

注意!这样子相当于登录了,复制后要清理哔哩哔哩浏览器记录,否则会与本插件冲突

忘记密码

进入数据卷目录
[root@centos7 ~]# docker volume inspect podcast2
[
    {
        "CreatedAt": "2024-03-23T19:57:47+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/podcast2/_data",
        "Name": "podcast2",
        "Options": null,
        "Scope": "local"
    }
]
[root@centos7 ~]# cd /var/lib/docker/volumes/podcast2/_data
[root@centos7 _data]# ls
cert  config  database  logs  plugin  resources  tmp
[root@centos7 _data]# cd config/
修改config.json
#改成true
{"initUserNameAndPassword":true}
重启后将恢复默认用户名和密码

用户名 admin 密码 123456

开启HTTPS

目前仅支持通过上传证书和密钥文件来实现

文件格式要求
#证书文件格式必须是crt
#密钥文件格式必须是key
重启后并以https访问

更新podcast2

数据保留

# 停止容器
docker stop podcast2

# 删除容器
docker rm podcast2

# 删除本地镜像
docker rmi yajuhua/podcast2:latest

# 拉取最新镜像
docker pull yajuhua/podcast2:latest

#创建新的容器
docker run -id --name=podcast2 \
-p 8088:8088 \
--restart=always \
--mount source=podcast2,destination=/data \
yajuhua/podcast2:latest
重新开始

如果使用最新版都无法解决,可以试试删除所有数据

# 停止容器
docker stop podcast2

# 删除容器
docker rm podcast2

# 删除本地镜像
docker rmi yajuhua/podcast2:latest

# 删除数据
docker volume rm podcast2

# 拉取最新镜像
docker pull yajuhua/podcast2:latest

#创建新的容器
docker run -id --name=podcast2 \
-p 8088:8088 \
--restart=always \
--mount source=podcast2,destination=/data \
yajuhua/podcast2:latest

Invidious API

yt-dlp可能会出现Sign in to confirm you’re not a bot. This helps protect our community导致无法下载的情况。 目前只能通过设置invidious API进行下载,下面是invidious API列表,找一个能有用的设置即可。

插件bug或失效

由于插件是并非使用官方接口,难免存在不稳定性。若发现插件失效,请issues

Star History

Star History

使用到的项目

使用的加速站

参考

免责声明

此项目仅供研究、学习和交流,请勿用于商业或非法用途, 开发者与协作者不对使用者负任何法律责任, 使用者自行承担因不当使用所产生的后果与责任。

鸣谢

特别感谢 JetBrains 为开源项目提供免费的 IntelliJ IDEA的授权

🐧交流群

945797272

podcast2's People

Contributors

yajuhua 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

Watchers

 avatar  avatar

podcast2's Issues

关于自定义剧集

自定义的是视频列表,如1,2,3,4,5会下载列表中序号1-5的视频
image
要使用英文逗号

下载视频内容出错

在podcast客户端下载视频节目时提示“节目下载有误,详细情况查看服务”。在后台“下载 | 上传错误”页面也可看到错误的提示,但“详细”里面没有介绍错误的原因。

音频类内容无出现类似错误。

关于bilibili下载失败以及无法有些频道无法更新

我订阅了YouTube 和 bilibili

YouTube的频道更新及时且完整不报错

bilibili订阅了两个频道,其中一个可以更新,但有些剧集无法下载 显示失败 另外一个都下载不下来。

下面是我重启后的日志

-06-11 07:21:14.222 INFO 1 --- [ main] i.g.y.podcast2.Podcast2Application : Starting Podcast2Application using Java 1.8.0_412 on shanghai-aliyun with PID 1 (/app.jar started by root in /)
2024-06-11 07:21:14.231 INFO 1 --- [ main] i.g.y.podcast2.Podcast2Application : The following 1 profile is active: "pro"
2024-06-11 07:21:16.235 WARN 1 --- [ main] com.zaxxer.hikari.HikariConfig : HikariPool-1 - idleTimeout has been set but has no effect because the pool is operating as a fixed size pool.
2024-06-11 07:21:16.236 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2024-06-11 07:21:16.430 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2024-06-11 07:21:16.612 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http)
2024-06-11 07:21:16.630 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2024-06-11 07:21:16.631 INFO 1 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65]
2024-06-11 07:21:16.738 INFO 1 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2024-06-11 07:21:16.739 INFO 1 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2416 ms2024-06-11 07:21:16.997 INFO 1 --- [ main] i.g.y.p.common.start.StartupRunner : 开 启 ws推 送 下 载 进 度
2024-06-11 07:21:17.452 INFO 1 --- [ main] i.g.y.p.config.WebMvcConfiguration : 开 始 注 册 自 定 义 拦 截 器 ...
2024-06-11 07:21:17.639 INFO 1 --- [ main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2024-06-11 07:21:17.678 INFO 1 --- [ main] i.g.y.p.config.WebMvcConfiguration : 扩 展 消 息 转 换 器 ...
2024-06-11 07:21:17.977 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path ''
2024-06-11 07:21:17.980 INFO 1 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2024-06-11 07:21:18.013 INFO 1 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2024-06-11 07:21:18.091 INFO 1 --- [ main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references
2024-06-11 07:21:18.319 INFO 1 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_1
2024-06-11 07:21:18.377 INFO 1 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_2
2024-06-11 07:21:18.467 INFO 1 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: listUsingGET_1
2024-06-11 07:21:18.472 INFO 1 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: searchUsingGET_1
2024-06-11 07:21:18.491 INFO 1 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: infoUsingGET_1
2024-06-11 07:21:18.590 INFO 1 --- [ main] i.g.y.podcast2.Podcast2Application : Started Podcast2Application in 5.088 seconds (JVM running for 5.76)
2024-06-11 07:21:18.594 INFO 1 --- [ scheduling-1] io.github.yajuhua.podcast2.task.Task : 检 查 更 新 yt-dlp
2024-06-11 07:21:18.595 INFO 1 --- [ scheduling-1] io.github.yajuhua.podcast2.task.Task : 未 到 更 新 时 间
2024-06-11 07:21:18.597 INFO 1 --- [ scheduling-1] io.github.yajuhua.podcast2.task.Task : 已 完 成 检 查 更 新 yt-dlp
2024-06-11 07:21:18.609 INFO 1 --- [ main] i.g.y.p.common.start.StartupRunner : 开 启 ws推 送 下 载 进 度
2024-06-11 07:31:18.615 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 开 始 检 查 更 新 :电 丸 科 技 AK - YouTube
2024-06-11 07:31:23.197 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 电 丸 科 技 AK - YouTube:暂 无 更 新
2024-06-11 07:31:23.311 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 电 丸 科 技 AK - YouTube:更 新 完 成
2024-06-11 07:31:23.316 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 开 始 检 查 更 新 :在 下 小 苏
[pool-13-thread-1] INFO main.Main - 哔 哩 哔 哩 cookie暂 无 更 新
2024-06-11 07:31:23.912 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 在 下 小 苏 :暂 无 更 新
2024-06-11 07:31:24.002 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 在 下 小 苏 :更 新 完 成
2024-06-11 07:31:24.005 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 开 始 检 查 更 新 :老 高 与 小 茉 最 新
[pool-13-thread-1] INFO main.Main - 哔 哩 哔 哩 cookie暂 无 更 新
2024-06-11 07:31:24.353 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 老 高 与 小 茉 最 新 :暂 无 更 新
2024-06-11 07:31:24.439 INFO 1 --- [ool-13-thread-1] io.github.yajuhua.podcast2.task.Update : 老 高 与 小 茉 最 新 :更 新 完 成

Screenshot_20240611-074047.png

Bilibili插件2.1.1无法更新视频

很好的项目,先给大佬点个赞!

主版本:2.3.2
Bilibili插件版本:2.1.1
现象:up发布了新视频,从podcast2日志看更新完成,但没有发现新视频并进行下载。Bilibili插件退回到2.1.0后问题解决。

另外,我在localStorage中找不到ac_time_value,我是随便填了个0的,2.1.0也能正常使用,但不知道这个会不会是导致2.1.1不可用的原因。

套了一层caddy,无法添加新播客

通过套了一层caddy,实现https访问,无法添加新播客。
其他功能如下载feed、媒体文件、设置域名、修改用户信息等都可以正常工作,
就是点击添加订阅,理论上应该让填连接等等,实际情况是跳至登录界面。

关于容器内部出现很多core文件

创建容器时加入--ulimit core=0:0

docker run -id --name=podcast2 \
-p 8088:8088 \
--ulimit core=0:0 \
--restart=always \
--mount source=podcast2,destination=/data \
yajuhua/podcast2:latest

密码修改问题

podcast2版本为2.0.3
密码如果设置为1234-ABCD会报错提示密码必须6-12位,如果把减号移动到最后1234ABCD-则可以正常修改正常登录。
密码如果设置为Favoring-Perfume-Podcast可以正常修改,但是登录的时候会报错提示用户名或密码错误。

请问 3个端口是否全部必须?

因为 80 和 443 端口另有他用,想请教一下 这两个端口是否必须开放使用?
如果必须开放三个端口,能否使用其他端口?
比如

-p 1443:443
-p 1180:80 \

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.