cdhigh / KindleEar

Aggregates RSS and web content(Calibre recipe), sends to Kindle, and includes an e-ink optimized online reader.
http://cdhigh.github.io/KindleEar/
MIT License
2.73k stars 630 forks source link

群晖Docker上的一些问题 #693

Closed Jun3101 closed 3 months ago

Jun3101 commented 4 months ago

非常感谢开发这么好的工具,我尝试安装在群晖的DOCKER上,发现有几个问题。

  1. 发现这个端口只能是8000,无法更改,正常吗?

    屏幕截图 2024-06-09 102333
  2. 这个文件夹和文件应该如何配置呢?

    屏幕截图 2024-06-09 105645
  3. 测试邮件正常,但是自带的Recipe和我上传的RSS都不能发送,不知道是哪里配置出错了?

    屏幕截图 2024-06-09 134028

能否做一个关于群晖上的使用教程,万分感谢!

cdhigh commented 4 months ago

我稍后在部署说明里面添加群晖的章节,先给你简单写一点

  1. 打开 "套件中心",搜索并安装Docker。
  2. 打开Docker (Container Manager),在注册表搜索 "KindleEar",安装 kindleear/kindleear。
  3. 运行KindleEar,进入设置界面: 3.1 第一步勾选"启用自动重新启动"; 3.2 第二步 3.2.1 在"端口设置"里面选择一个本地端口(比如:8001)映射到KindleEar的8000端口 3.2.2 在"存储空间设置"里面添加一个文件夹映射到 /data,比如 /docker/data 映射到 /data,权限为"读取/写入"
  4. 启动完成后使用 http://ip:8001 访问

你按这个操作后再看行不行,我这里操作是能正常推送的。

Jun3101 commented 4 months ago

映射了文件夹后可以看到log了,之前是我没有装Python3.9。 现在也只有人民日报推送成功了,其它都不行。

我试了China Daily的RSS: China News http://www.chinadaily.com.cn/rss/china_rss.xml

[2024-06-10 11:40:38 +0000] WARNING [recipe_input.py:94] Failed to execute recipe "China News": No articles found, aborting [2024-06-10 11:40:38 +0000] WARNING [plumber.py:400] Failed to execute input plugin: All feeds are empty, aborting. [2024-06-10 11:40:38 +0000] WARNING [worker.py:153] There are no new feeds available: admin: [KindleEar]

用了自带的BBC: [2024-06-10 11:46:58 +0000] WARNING [urlopener.py:109] open_remote_url: GET https://feeds.bbci.co.uk/news/rss.xml failed: Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( File "/usr/local/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection raise err File "/usr/local/lib/python3.9/site-packages/urllib3/util/connection.py", line 73, in create_connection sock.connect(sa) socket.timeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 793, in urlopen response = self._make_request( File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 491, in _make_request raise new_e File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 467, in _make_request self._validate_conn(conn) File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1099, in _validate_conn conn.connect() File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 616, in connect self.sock = sock = self._new_conn() File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 207, in _new_conn raise ConnectTimeoutError( urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x7f53801573d0>, 'Connection to feeds.bbci.co.uk timed out. (connect timeout=60)')

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 847, in urlopen retries = retries.increment( File "/usr/local/lib/python3.9/site-packages/urllib3/util/retry.py", line 515, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='feeds.bbci.co.uk', port=443): Max retries exceeded with url: /news/rss.xml (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f53801573d0>, 'Connection to feeds.bbci.co.uk timed out. (connect timeout=60)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/kindleear/application/lib/urlopener.py", line 105, in open_remote_url resp = req_func(url, data=data, headers=headers, timeout=timeout, allow_redirects=True, kwargs) File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, kwargs) File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, send_kwargs) File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, kwargs) File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 688, in send raise ConnectTimeout(e, request=request) requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='feeds.bbci.co.uk', port=443): Max retries exceeded with url: /news/rss.xml (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f53801573d0>, 'Connection to feeds.bbci.co.uk timed out. (connect timeout=60)'))

[2024-06-10 11:46:58 +0000] WARNING [recipe_input.py:94] Failed to execute recipe "BBC News": list index out of range [2024-06-10 11:46:58 +0000] WARNING [plumber.py:400] Failed to execute input plugin: All feeds are empty, aborting. [2024-06-10 11:46:58 +0000] WARNING [worker.py:153] There are no new feeds available: admin: [KindleEar]

cdhigh commented 4 months ago

使用Docker是不需要安装其他依赖的,包括python,Docker里面已经有一个操作系统和各种依赖库。

[http://www.chinadaily.com.cn/rss/china_rss.xml]() 已经万年不更新了,当然没有news

https://feeds.bbci.co.uk/news/rss.xml connect timeout这种错误我们一般不当作错误,可能是自己的网络条件,对方服务器的临时故障,对方的防爬虫,等等等等。。。。

Jun3101 commented 4 months ago

不好意思,我不是程序员,不懂Docker的细节。我试过RssHUB上的一些订阅,我用edge的插件是正常看的,可是推送也不成功。请问有推荐的RSS网站吗?

cdhigh commented 4 months ago

我在黑群晖上推送 https://feeds.bbci.co.uk/news/rss.xml 是没问题的,所以我也不知道你哪里出了什么问题,为什么推送不了呢

wangzan200808 commented 3 months ago

日志显示 [2024-07-09 09:08:43 +0800] WARNING [send_mail_adpt.py:76] Failed to send mail "人民日报": [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1133) 页面也显示这个错误 谷歌了一下,没找到解决方法

cdhigh commented 3 months ago

这是因为你使用了1024bit的SSL CA证书,现在要使用2048bit的证书。 或者干脆不使用证书

wangzan200808 commented 3 months ago

黑群晖7.2.1使用系统自带的证书不行,用了腾讯云买域名的证书也不行,也没看到不使用证书的选项

这是因为你使用了1024bit的SSL CA证书,现在要使用2048bit的证书。 或者干脆不使用证书

cdhigh commented 3 months ago

你提供的信息量太少了。 如果需要尽量简洁快速的解决问题,要尽量多描述一些相关信息,这个和你是否是程序员无关。

我在黑群晖上测试是完全正常的,除了我在部署文档里面提到的操作,没有其他多余的任何配置和操作,可以正常使用smtp和mailjet推送订阅的RSS。

wangzan200808 commented 3 months ago

你提供的信息量太少了。 如果需要尽量简洁快速的解决问题,要尽量多描述一些相关信息,这个和你是否是程序员无关。

我在黑群晖上测试是完全正常的,除了我在部署文档里面提到的操作,没有其他多余的任何配置和操作,可以正常使用smtp和mailjet推送订阅的RSS。

我也是按照你文档里的操作,没有其他配置和操作,依然显示[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1133)错误 使用的是smtp,用的新浪邮箱

wangzan200808 commented 3 months ago

我解决了,原来是每个邮箱的端口号不同,新浪邮箱的端口号是465,网易邮箱则是25,使用每个邮箱的ssl端口号即可测试成功