Kubespider

A global resource download orchestration system, build your home download center.
Alternatives To Kubespider
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Kubespider1,653
2 days ago28apache-2.0Python
A global resource download orchestration system, build your home download center.
Projectfib746
3 years ago8osl-3.0Python
Chrome extension to flag fake news on Facebook. Built at HackPrinceton '16
Lifeparticle112
4 days ago1otherPython
📠 A self-updating public profile for GitHub
Autoview Tradingview Chrome Docker Bot42
4 years ago1mitJavaScript
24/7 cryptocurrency trading powered by TradingView.com Charts and Autoview. Runs an Autoview bot as a Chrome extension in a Docker Container to enable serverside execution of all AutoView bot commands.
Rails5 Api Starter24
5 years ago1Ruby
RESTful API Starter Kit based on Rails 5
Backend Roadmap18
4 months ago
The Back-end Roadmap for PHP and Laravel.
Essaycompanion14
a year agon,ullPython
:globe_with_meridians: :memo: An NLP powered Google Chrome extension to summarize, paraphrase, get named entities, and find keyword synonyms from highlighted text.
Collate13
2 years ago3mitJavaScript
Chrome extension to execute code in 2 easy steps!
Bb811
5 months ago48mitTypeScript
Brain backup - reducing learning curve for the people
Checq11
3 years ago2gpl-3.0Go
This API retrieves the IP and DNS information for the given Domain/IP. Written in Golang and a Svelte Front-End
Alternatives To Kubespider
Select To Compare


Alternative Project Comparisons
Readme

Kubespider

Kubespider logo

A global resource download orchestration system

Python GitHub release Total Downloads GitHub stars GitHub license

English |

Installation | Configuration | Developer Group

We are a community of individuals who share a passion for life and have come together based on shared interests and needs. In our free time, we collaborated to develop Kubespider.

Kubespider is developed to utilize an idle server in a local area network as a NAS, enabling automatic downloads of TV series, triggering downloads from a local laptop, and adapting to various websites such as YouTube and BiliBili, as well as different types of resources such as TV series, movies, music and more.

After being exposed to Terraform and its great versatility, we were inspired to create Kubespider as a general download orchestration system that is compatible with various resource platforms and download software. Kubespider supports multiple download methods, including request trigger, cycle trigger, and update trigger, making it the most comprehensive and unified solution for resource downloads.

System architecture

To realize a general download orchestration system, it is necessary to adapt various resource websites and download software, so these two parts are abstracted from the core functions: image

  • kubespider-core: The core module of Kubespider accepts the trigger download request, calls the resource provider for resolution (it will eventually be resolved into a standard mode, such as the user enters the bilibili blogger address, and the corresponding resource provider outputs the mp4 file address download list), and finally calls the download provider to implement Download; this module will also periodically call providers (such as TV series provider) to download additional resources.
  • source-providerThe provider of each resource website accepts input of general resource addresses, and outputs standard resource address URLs, such as the personal homepage of a YouTuber, and outputs all mp4 download addresses of the bloggers videos. The configuration file is in .config/source_provider.yaml.
  • download-providerThe provider of each download software receives the request task from kubespider-core, and calls the corresponding service to realize the download. The configuration file is in .config/download_provider.yaml.

Installation

To adapt to multiple resource platforms, Kubespider provides many adapters. Enable or disable these adapters according to your needs. The configuration file is in the .config folder.

Premise

  1. The operating computer and your server are on the same LAN. (I haven't tried the installation not in the same LAN yet)
  2. The server is a Linux system.
  3. Docker is installed on the server.

Default installation (with docker)

Installing with built-in command can download and config anything needed automatically.

1.Download the repository and install

# Define KUBESPIDER_HOME to specify the installation path
# export KUBESPIDER_HOME=xxx
git clone https://github.com/opennaslab/kubespider.git
cd kubespider
bash hack/install_kubespider.sh

Output like:

root@cesign [09:01:34 PM] [+22.0C] [~/git/kubespider] [main *]
-> # bash hack/install_kubespider.sh
 _          _                     _     _
| | ___   _| |__   ___  ___ _ __ (_) __| | ___ _ __
| |/ / | | | '_ \ / _ \/ __| '_ \| |/ _` |/ _ \ '__|
|   <| |_| | |_) |  __/\__ \ |_) | | (_| |  __/ |
|_|\_\\__,_|_.__/ \___||___/ .__/|_|\__,_|\___|_|
                           |_|
[INFO] Start to deploy with default configuration...
b13820946878c4f00635e7fa3db64ea83506850ebb7d07ff77b62814db1d894a
9c0aa1059f1546a4f1a2accac445ce1389f1c400b96328f3e18c8af03f0bbc70
[INFO] Deploy successful, check the information:
*******************************************
Kubespider config path: /root/kubespider/.config/
Download file path: /root/kubespider/nas/
Kubespider webhook address: http://<server_ip>:3080
Aria2 server address: http://<server_ip>:6800/jsonrpc, you can use any gui or webui to connect it
Aria2 default secret is:kubespider
*******************************************
  • This step will install Kubespide and Aria2 resource downloader as the default downloader.
  • After installation, all downloaded files will be stored in ${HOME}/kubespider/nas by default.
  • Configuration files are located in ${HOME}/kubespider/.config by default.

2.Connect to aria2

For checking the download tasks on your server conveniently, go to the chrome store to download AriaNg plugin.
Then connect, the plugin configuration is as follows(shown at the end of the script install_kubespider.sh execution output): img

Of course, it is not necessary, you can also use the desktop program to connect: AriaNg

3.Install Chrome plugin

With Kubespider Chrome plugin, you can get a better experience.
After step 1 has been done, open chrome, then install Kubespider plugin, and configure it as follows(The server address is http://<server_ip>:3080):
img

For example, if I want to download a torrent-related file, I can right click and send the download task to Kubespider(demo website): img

Then with aria2 chrome plugin, you can see the download task starts:
img

4.More (Optional)

  • Install Plex, watch videos on multiple platforms, install now.
  • Install Jellyfin, watch videos on multiple platforms, install now.
  • Install Baidu network disk(only in china), download in the background, install now.

Other installation

  • Install with docker-cli/docker-compose command mannually, see link.
  • Install Kubespider on Synology, see link.
  • Install Kubespider on TerraMaster, see link.
  • Install Kubespider on Asustor, see link.
  • Install Kubespider on UGreen NAS, see link.

Configuration

The global configuration file is located at .config/kubespider.yaml, which is installed under ${HOME}/kubespider/.config/kubespider.yaml by default. The description of each configuration item is as follows:

Configuration Item Required Function
proxy No The request proxy, such as http://192.168.1.5:1087
auth_token No Authentication token, used for authentication when triggering download requests. If public network access is required, it can be configured to increase security.
auto_change_download_provider No Swith to control whether to change download provoider for failed/long-time-pending download tasks automatically.
server_port No The port used to provider API service

Feature list

Source provider(Configured as needed)

As mentioned before, the source provider is used to adapt to different websites, and download related resources based on the conditions: | Source Provider | Support | Purpose | Configuration | | :----------------------------------------- | ------: | -------------------------------------------------------------------------: | --------------------------------------------------------------------------------: | | mikanani source provider | Yes | Automatically download updated anime | link | | btbtt12 source provider | Yes | Trigger download resource in btbtt12 website | link | | meijutt source provider | Yes | Download updated TV series | link | | YouTube source provider | Yes | Trigger download YouTube video | link | | Bilibili source provider | Yes | Trigger download bilibili video | link | | Bilibili vlogger subscribe source provider | Yes | Automatically download updated Bilibili vlogger's video | link | | general rss source provider | Yes | Automatically download rss source | link | | Magic source provider | Yes | Trigger download resource via xpath configuration | link | | Douyin source provider | Yes | Trigger download Douyin video with watermark | link | | alist source provider | Yes | Automatically download newly added or updated files from the cloud storage | link | | ANi source provider | Yes | Fully automated anime download from ANi | link |

Download provider(Configured as needed)

In order to make full use of the existing download software in the open-source community(For example, YouTube has dedicated download software), the following software is currently supported: | Download Software | Support | Configuration | | :---------------- | ------: | --------------------------------------------------------------------: | | aria2 | Yes | link | | xunlei | Yes | link | | qBittorrent | Yes | link | | you-get | Yes | link | | yt-dlp | Yes | link | | transmission | Yes | link |

Notification provider(Configured as needed)

In order to make full use of the existing notification software in the open-source community, the following software is currently supported: | Notification Software | Support | Configuration | | :-------------------- | ------: | --------------------------------------------------------------------: | | Pushdeer | Yes | link | | Telegram | Yes | link | | QQ | Yes | link | | Bark | Yes | link |

Basic feature

Currently, the following file types are supported to trigger downloading: | Download Types | Support | | :---------------------- | ------: | | magnet | Yes | | torrent | Yes | | general(jpg, mp4, etc.) | Yes |

Please refer to link for how to trigger the download.

Other

  • Suport resource websites'(NexusPHP framework) account maintenance, please refer to link.

FAQ

See the FAQ for more details, and feel free to contribute your questions and solutions. Your valuable input will collectively improve the documentation and benefit a wider audience. Join us in making a difference!

Contribution PRs Welcome

If you are interested in participating in joint development, welcome to STAR/FORK/PR, please check link for Roadmap.

  • For how to develop/debug Kubespider, please see link.
  • For how to implement a resource provider for a resource website, please see link.
  • For how to implement a download provider for download software, please see link.
  • For how to develop chrome extension webhook, please see link.
  • For how to implement other webhook trigger tools, please see link.

If you want to participate more in the community, welcome to join our Telegram developer group.

Sponsor

Thanks to the following companies for sponsoring development tools, the ranking is not in any particular order:








Disclaimer

All downloading and use of the software are deemed to have carefully read and fully agreed to the following terms:

  • The software is only for personal learning and communication, and it is strictly prohibited for bad purposes.
  • If any bad use are found, the software author has the right to revoke the right to use.
  • The risk of using this software will be entirely borne by him, and the software author will not bear any responsibility.
  • Except for the terms of service indicated in the software, the author of this software is not responsible for any accidents, negligence, contract damage, defamation, copyright or other intellectual property infringement and any losses caused by improper use of this software, and also no legal responsibility is assumed.
  • The author of the software will not be responsible for the interruption of services or other defects caused by force majeure or uncontrollable reasons such as hacker attacks, communication line interruptions, etc., which cause users to fail to use normally but will try their best to reduce losses or impacts caused to users.
  • For issues not covered in this statement, please refer to relevant national laws and regulations. When this statement conflicts with relevant national laws and regulations, the national laws and regulations shall prevail.
  • The copyright of this software statement and its right to modify, update and final interpretation belong to the software author.
Popular Docker Projects
Popular Chrome Extension Projects
Popular Virtualization Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Docker
Chrome Extension
Torrent
Nas
Bt
Synology
Qbittorrent
Aria2