Files
hydra/README.md

194 lines
6.2 KiB
Markdown
Raw Normal View History

2024-05-04 13:39:18 -03:00
<br>
<div align="center">
2024-12-16 19:56:14 -03:00
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
2024-05-04 13:39:18 -03:00
<h1 align="center">Hydra Launcher</h1>
2024-09-09 18:03:33 +02:00
2024-05-04 13:39:18 -03:00
<p align="center">
2025-03-15 21:09:51 +03:00
<strong>Hydra is a game launcher with its own embedded bittorrent client.</strong>
2024-05-04 13:39:18 -03:00
</p>
2024-05-12 11:22:52 +01:00
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](./docs/README.pt-BR.md)
2024-09-27 23:19:39 +01:00
[![en](https://img.shields.io/badge/lang-en-red.svg)](./README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](./docs/README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](./docs/README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](./docs/README.be.md)
[![es](https://img.shields.io/badge/lang-es-red)](./docs/README.es.md)
[![fr](https://img.shields.io/badge/lang-fr-blue)](./docs/README.fr.md)
[![de](https://img.shields.io/badge/lang-de-black)](./docs/README.de.md)
[![ita](https://img.shields.io/badge/lang-it-red)](./docs/README.it.md)
[![cs](https://img.shields.io/badge/lang-cs-purple)](./docs/README.cs.md)
[![da](https://img.shields.io/badge/lang-da-red)](./docs/README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](./docs/README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](./docs/README.et.md)
2025-03-15 21:07:20 +03:00
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](./docs/README.tr.md)
2024-09-27 23:19:39 +01:00
2024-10-21 17:45:42 -03:00
![Hydra Catalogue](./docs/screenshot.png)
2024-04-18 08:46:06 +01:00
2024-05-04 13:39:18 -03:00
</div>
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
## Table of Contents
- [Table of Contents](#table-of-contents)
- [About](#about)
- [Features](#features)
- [Installation](#installation)
- [Contributing](#-contributing)
- [Join our Telegram](#-join-our-telegram)
- [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)
- [License](#license)
## About
**Hydra** is a **Game Launcher** with its own embedded **BitTorrent Client**.
2024-05-04 13:39:18 -03:00
<br>
2025-03-15 21:09:51 +03:00
The launcher is written in TypeScript (Electron) and Python, which handles the torrenting system by using libtorrent.
2024-05-04 13:39:18 -03:00
2025-03-15 21:09:51 +03:00
## Features
2024-05-04 13:39:18 -03:00
2025-03-15 21:09:51 +03:00
- Own embedded bittorrent client
- How Long To Beat (HLTB) integration on game page
- Downloads path customization
- Windows and Linux support
- Constantly updated
- And more ...
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
## Installation
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Follow the steps below to install:
2024-05-04 13:39:18 -03:00
2025-03-15 21:09:51 +03:00
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!
2024-05-04 13:39:18 -03:00
2025-03-15 21:09:51 +03:00
## <a name="contributing"> Contributing
2024-05-04 13:39:18 -03:00
2025-03-15 21:09:51 +03:00
### <a name="join-our-telegram"></a> Join our Telegram
2024-05-04 13:39:18 -03:00
2025-03-15 21:09:51 +03:00
We concentrate our discussions on our [Telegram](https://t.me/hydralauncher) channel.
2024-05-04 14:36:03 -03:00
2025-03-15 21:09:51 +03:00
### Fork and clone your repository
2024-05-04 14:36:03 -03:00
2025-03-15 21:09:51 +03:00
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
2024-05-04 14:36:03 -03:00
2025-03-15 21:09:51 +03:00
### Ways you can contribute
2024-05-04 16:17:30 -03:00
2025-03-15 21:09:51 +03:00
- 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 [Telegram](https://t.me/hydralauncher)!
2024-05-04 16:17:30 -03:00
2025-03-15 21:09:51 +03:00
### Project Structure
2024-05-04 16:17:30 -03:00
2025-03-15 21:09:51 +03:00
- 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.
2024-05-04 16:17:30 -03:00
2025-03-15 21:09:51 +03:00
## Build from source
2024-05-04 13:39:18 -03:00
2025-03-15 21:09:51 +03:00
### Install Node.js
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Ensure you have Node.js installed on your machine. If not, download and install it from [nodejs.org](https://nodejs.org/).
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
### Install Yarn
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
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/).
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
### Install Node Dependencies
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Navigate to the project directory and install the Node dependencies using Yarn:
2024-04-18 08:46:06 +01:00
```bash
cd hydra
yarn
```
2025-03-15 21:09:51 +03:00
### Install OpenSSL 1.1
2024-12-20 22:56:42 -03:00
2025-03-15 21:09:51 +03:00
[OpenSSL 1.1](https://slproweb.com/download/Win64OpenSSL-1_1_1w.exe) is required by libtorrent in Windows environments.
2024-12-20 22:56:42 -03:00
2025-03-15 21:09:51 +03:00
### Install Python 3.9
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
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-3913/).
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
### Install Python Dependencies
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Install the required Python dependencies using pip:
2024-04-18 08:46:06 +01:00
```bash
pip install -r requirements.txt
```
2025-03-15 21:09:51 +03:00
## Environment variables
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
You'll need an SteamGridDB API Key in order to fetch the game icons on installation.
2024-04-19 22:53:58 -03:00
2025-03-15 21:09:51 +03:00
Once you have it, you can copy or rename the `.env.example` file to `.env` and put it on`STEAMGRIDDB_API_KEY`.
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
## Running
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Once you've got all things set up, you can run the following command to start both the Electron process and the bittorrent client:
2024-04-18 08:46:06 +01:00
```bash
2024-05-04 13:39:18 -03:00
yarn dev
2024-04-18 08:46:06 +01:00
```
2025-03-15 21:09:51 +03:00
## Build
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
### Build the bittorrent client
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Build the bittorrent client by using this command:
2024-04-18 08:46:06 +01:00
```bash
2024-04-19 22:56:05 -03:00
python torrent-client/setup.py build
2024-04-18 08:46:06 +01:00
```
2025-03-15 21:09:51 +03:00
### Build the Electron application
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Build the Electron application by using this command:
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
On Windows:
2024-05-04 13:39:18 -03:00
2024-04-18 08:46:06 +01:00
```bash
2024-05-04 13:39:18 -03:00
yarn build:win
```
2025-03-15 21:09:51 +03:00
On Linux:
2024-05-04 13:39:18 -03:00
2024-04-18 08:46:06 +01:00
```bash
2024-05-04 13:39:18 -03:00
yarn build:linux
2024-04-18 08:46:06 +01:00
```
2025-03-15 21:09:51 +03:00
## Contributors
2024-04-18 08:46:06 +01:00
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
## License
2024-04-18 08:46:06 +01:00
2025-03-15 21:09:51 +03:00
Hydra is licensed under the [MIT License](LICENSE).