Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/allanpk716/download-hub
家庭下载中心
https://github.com/allanpk716/download-hub
Last synced: 22 days ago
JSON representation
家庭下载中心
- Host: GitHub
- URL: https://github.com/allanpk716/download-hub
- Owner: allanpk716
- License: gpl-3.0
- Created: 2021-03-30T15:29:39.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-07-03T09:59:31.000Z (over 3 years ago)
- Last Synced: 2023-04-03T10:03:37.840Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 1.22 MB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Downloadhub
开局全靠一张图,之前做的推倒重来 :stuck_out_tongue:
完整的设计过程和代码都会在这更新,只打算写中文文档(也许到某个版本后再考虑翻译)。文档会根据开发遇到的情况调整。
本项目为了练习 [go-zero](https://github.com/tal-tech/go-zero) 的使用,所以一定(也许)是过度设计的。
## 目的
个人有下载收藏的癖好,目的是打造家庭的下载中心。个人的下载需求有以下几种:
* 某些视频网站 up 主的视频
* ~~追剧(美剧、日剧、国产剧、动画~~)(这个需求可以用 sonarr、radarr 实现,不在这里实现了)
* ~~想看的电影或者关注的某些电影~~ (这个需求可以用 sonarr、radarr 实现,不在这里实现了)
* 追漫画,收藏漫画
* 某些网站 up 主发布的图片## 之前遇到的问题
断断续续又写过一些程序去完成做,但是没有很好的整合起来。也遇到了不少麻烦的地方:
* 特定网站的资源抓取,需要持续跟踪,失效了得自己修复
* 特定资源的下载也需要对应的下载器,也需要去维护
* 没有统一的资源管理入口
* 没有统一的结果反馈出口### 解决方案
* 使用 RSS 去订阅资源,依赖 RSSHub 类似的项目
* 使用 youtube-dl 类似的在线视频下载器
* 需要自己写
* 需要自己写同时,会根据实际的情况,选择 python 或者是 go 来完成对应的模块。比如倾向于 python 做爬虫,go 做后端。vue 做前端。
## 整体设计图
这个会根据实际遇到的问题和解决方案更新。
### 基于 RSS 订阅的下载
![rss_all](https://github.com/allanpk716/download-hub/blob/docs/DesignFiles/pics/rss_all.png)
这样做的目的,还是把跟多的订阅的更新事情交给专业(RSShub)的做,而他们遇到问题的部分,再自己编码实现,比如 IG 和 Twi 这两个部分。
### 基于爬虫的漫画下载
![comic_al](https://github.com/allanpk716/download-hub/blob/docs/DesignFiles/pics/comic_all.png)
这里会实现几个网站的爬虫,或者找对应网站的爬虫,不限于 go 或者是 python 的,优先后者。
## 分模块设计
这里会根据当前正在做的模块进行文档输出,可能会再某个模块设计的时候进行其他模块的调整。
### 01.onlineVideoDl 设计
[onlineVideoDl 设计](https://github.com/allanpk716/download-hub/blob/docs/DesignFiles/01.onlineVideoDl%20%E8%AE%BE%E8%AE%A1/readme.md)
### 02.taskCenter 设计
[onlineVideoDl 设计](https://github.com/allanpk716/download-hub/blob/docs/DesignFiles/02.taskCenter%20%E8%AE%BE%E8%AE%A1/readme.md)
### 03.proxyHub 设计
[proxyHub 设计](https://github.com/allanpk716/download-hub/blob/docs/DesignFiles/03.proxyHub%20%E8%AE%BE%E8%AE%A1/readme.md)
## 使用到的框架和库
* [go-zero](https://github.com/tal-tech/go-zero)
* [goinsta](https://github.com/ahmdrz/goinsta)
* [twitter-scraper](https://github.com/n0madic/twitter-scraper)
* [feeds](https://github.com/gorilla/feeds)等等。