Merge branch 'main' of https://github.com/hydralauncher/hydra into feat/real-debrid-integration

This commit is contained in:
Hydra 2024-05-05 20:08:13 +01:00
commit 73c65640e1
4 changed files with 145 additions and 22 deletions

141
README.md
View File

@ -1,16 +1,112 @@
# Hydra
<br>
<a href="https://discord.gg/hydralauncher" target="_blank">![Discord](https://img.shields.io/discord/1220692017311645737?style=flat&logo=discord&label=Hydra&labelColor=%231c1c1c)</a>
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)
![GitHub package.json version](https://img.shields.io/github/package-json/v/hydralauncher/hydra)
Hydra is a game launcher with its own embedded bittorrent client and a self-managed repack scraper.
The launcher is written in TypeScript (Electron) and Python, which handles the torrenting system by using [libtorrent](https://www.libtorrent.org/).
<div align="center">
<a href="https://hydralauncher.site">
<img src="./resources/icon.png" width="144"/>
</a>
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra is a game launcher with its own embedded bittorrent client and a self-managed repack scraper.</strong>
</p>
<p>
<a href="https://discord.gg/hydralauncher">
<img src ="https://img.shields.io/discord/1220692017311645737?style=flat&logo=discord&label=Hydra&labelColor=%231c1c1c"/>
</a>
<a href="https://github.com/hydralauncher/hydra">
<img src="https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml" />
</a>
<a href="https://github.com/hydralauncher/hydra">
<img src="https://img.shields.io/github/package-json/v/hydralauncher/hydra" />
</a>
</p>
![Hydra Catalogue](./docs/screenshot.png)
</div>
<br>
## Table of Contents
- [About](#about)
- [Features](#features)
- [Installation](#installation)
- [Contributing](#contributing)
- [Join our Discord](#join-our-discord)
- [Fork and clone your repository](#fork-and-clone-your-repository)
- [Ways you can contribute](#ways-you-can-contribute)
- [Project Structure](#project-structure)
- [Build from source](#build-from-source)
- [Install Node.js](#install-nodejs)
- [Install Yarn](#install-yarn)
- [Install Node Dependencies](#install-node-dependencies)
- [Install Python 3.9](#install-python-39)
- [Install Python Dependencies](#install-python-dependencies)
- [Environment variables](#environment-variables)
- [Running](#running)
- [Build](#build)
- [Build the bittorrent client](#build-the-bittorrent-client)
- [Build the Electron application](#build-the-electron-application)
- [Contributors](#contributors)
## About
**Hydra** is a **Game Launcher** with its own embedded **BitTorrent Client** and a **self-managed repack scraper**.
<br>
The launcher is written in TypeScript (Electron) and Python, which handles the torrenting system by using libtorrent.
## Features
- Self-Managed repack scraper among all the most reliable websites on the [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
- Own embedded bittorrent client
- How Long To Beat (HLTB) integration on game page
- Downloads path customization
- Repack list update notifications
- Windows and Linux support
- Constantly updated
- And more ...
## Installation
Follow the steps below to install:
1. Download the latest version of Hydra from the [Releases](https://github.com/hydralauncher/hydra/releases/latest) page.
- Download only .exe if you want to install Hydra on Windows.
- Download .deb or .rpm or .zip if you want to install Hydra on Linux. (depends on your Linux distro)
2. Run the downloaded file.
3. Enjoy Hydra!
## Contributing
### Join our Discord
We concentrate our discussions on our [Discord](https://discord.gg/hydralauncher) server.
1. Join our server
2. Go to the roles channel and grab the Collaborator role
3. Go to the dev channel, talk to us and share your ideas.
### Fork and clone your repository
1. Fork the repository [(click here to fork now)](https://github.com/hydralauncher/hydra/fork)
2. Clone your forked code `git clone https://github.com/your_username/hydra`
3. Create a new branch
4. Push your commits
5. Submit a new Pull Request
### Ways you can contribute
- Translation: We want Hydra to be available to as many people as possible. Feel free to help translate to new languages or update and improve the ones that are already available on Hydra.
- Code: Hydra is built with Typescript, Electron and a little bit of Python. If you want to contribute, join our Discord server!
### Project Structure
- torrent-client: We use libtorrent, a Python library, to manage torrent downloads
- src/renderer: the UI of the application
- src/main: all the logic rests here.
## Build from source
### Install Node.js
Ensure you have Node.js installed on your machine. If not, download and install it from [nodejs.org](https://nodejs.org/).
@ -19,12 +115,6 @@ Ensure you have Node.js installed on your machine. If not, download and install
Yarn is a package manager for Node.js. If you haven't installed Yarn yet, you can do so by following the instructions on [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Clone the Repository
```bash
git clone https://github.com/hydralauncher/hydra.git
```
### Install Node Dependencies
Navigate to the project directory and install the Node dependencies using Yarn:
@ -36,7 +126,7 @@ yarn
### Install Python 3.9
Ensure you have Python installed on your machine. You can download and install it from [python.org](https://www.python.org/downloads/release/python-3919/).
Ensure you have Python 3.9 installed on your machine. You can download and install it from [python.org](https://www.python.org/downloads/release/python-3919/).
### Install Python Dependencies
@ -48,17 +138,17 @@ pip install -r requirements.txt
## Environment variables
You'll need a SteamGridDB API Key in order to fetch the game icons on installation.
You'll need an SteamGridDB API Key in order to fetch the game icons on installation.
If you want to have onlinefix as a repacker you'll need to add your credentials to the .env
Once you have it, you can paste the `.env.example` file and put it on `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Once you have it, you can copy or rename the `.env.example` file to `.env`and put it on`STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
## Running
Once you've got all things set up, you can run the following command to start both the Electron process and the bittorrent client:
```bash
yarn start
yarn dev
```
## Build
@ -75,8 +165,16 @@ python torrent-client/setup.py build
Build the Electron application by using this command:
On Windows:
```bash
yarn make
yarn build:win
```
On Linux:
```bash
yarn build:linux
```
## Contributors
@ -204,6 +302,13 @@ yarn make
<br />
<sub><b>Maciej Ratyński</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Tunchichi">
<img src="https://avatars.githubusercontent.com/u/118926729?v=4" width="100;" alt="Tunchichi"/>
<br />
<sub><b>Ruslan</b></sub>
</a>
</td></tr>
</table>
<!-- readme: contributors -end -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 KiB

After

Width:  |  Height:  |  Size: 830 KiB

View File

@ -17,7 +17,10 @@
"downloading": "{{title}} ({{percentage}} - Загрузка…)",
"filter": "Фильтровать библиотеку",
"follow_us": "Подписывайтесь на нас",
"home": "Главная"
"home": "Главная",
"discord": "Присоединяйся к Discord",
"x": "Подписывайтесь на X",
"github": "Внести свой вклад в GitHub"
},
"header": {
"search": "Поиск",
@ -66,6 +69,8 @@
"copied_link_to_clipboard": "Ссылка скопирована",
"hours": "часов",
"minutes": "минут",
"amount_hours": "{{amount}} часов",
"amount_minutes": "{{amount}} минут",
"accuracy": "{{accuracy}}% точность",
"add_to_library": "Добавить в библиотеку",
"remove_from_library": "Удалить из библиотеки",
@ -83,7 +88,15 @@
"downloads_path": "Путь загрузок",
"select_folder_hint": "Чтобы изменить папку по умолчанию, откройте",
"settings": "Настройки Hydra",
"download_now": "Загрузить сейчас"
"download_now": "Загрузить сейчас",
"installation_instructions": "Инструкция по установке",
"installation_instructions_description": "Для установки этой игры требуются дополнительные шаги",
"online_fix_instruction": "В играх с OnlineFix требуется ввести пароль для извлеченияя.При необходимости используйте следующий пароль:",
"dodi_installation_instruction": "При открытии установщика Dodi нажмите клавишу вверх клавиатуру <0 />, чтобы запустить процесс установки:",
"dont_show_it_again": "Не показывать это снова",
"copy_to_clipboard": "Копировать",
"copied_to_clipboard": "Скопировано",
"got_it": "Понятно"
},
"activation": {
"title": "Активировать Hydra",
@ -123,7 +136,9 @@
"enable_download_notifications": "По завершении загрузки",
"enable_repack_list_notifications": "При добавлении нового репака",
"telemetry": "Телеметрия",
"telemetry_description": "Включить анонимную статистику использования"
"telemetry_description": "Включить анонимную статистику использования",
"behavior": "Поведение",
"quit_app_instead_hiding": "Закрывать приложение вместо того, чтобы сворачивать его в трей"
},
"notifications": {
"download_complete": "Загрузка завершена",
@ -143,5 +158,8 @@
"title": "Программы не установлены",
"description": "Исполняемые файлы Wine или Lutris не найдены на вашей системе",
"instructions": "Узнайте правильный способ установить любой из них на вашем дистрибутиве Linux, чтобы игра могла нормально работать"
},
"modal": {
"close": "Кнопка закрытия"
}
}

View File

@ -15,6 +15,6 @@ setup(
executables=[Executable(
"torrent-client/main.py",
target_name="hydra-download-manager",
icon="images/icon.ico"
icon="build/icon.ico"
)]
)