No Description

Zamitto f1f98de03a Merge pull request #267 from Latgardi/translation/be 3 months ago
.github ffda39d323 add feature request template 4 months ago
build 5ae7815e03 fix: fixing typo on portuguese translation 4 months ago
docs 1572e0a0b0 update screenshot 4 months ago
resources 6b2a480fa6 fix: fixing typecheck errors 4 months ago
src f1f98de03a Merge pull request #267 from Latgardi/translation/be 3 months ago
torrent-client b6e8c7dd60 fix: fixing icon dir on setup.py 4 months ago
.editorconfig 1db5a9c295 feat: migrating to electron-vite 4 months ago
.env.example 1db5a9c295 feat: migrating to electron-vite 4 months ago
.eslintignore 1db5a9c295 feat: migrating to electron-vite 4 months ago
.eslintrc.cjs f9223ad36d fix: fixing typechecks 4 months ago
.gitignore f14ddba807 fix: update fastlist directory 4 months ago
.prettierignore 1db5a9c295 feat: migrating to electron-vite 4 months ago
.prettierrc.cjs 498a889f1d chore: merge with main 4 months ago
LICENSE f1bdec484e first commit 4 months ago
README.md 27ea0218b0 docs(contributor): contrib-readme-action has updated readme 3 months ago
README.ru.md a122af2933 update ru Readme 4 months ago
electron-builder.yml 7f03841f8a chore: removing oneClick installer 4 months ago
electron.vite.config.ts e1955e11f5 fix: fixing main thread lock 4 months ago
hydra.db 4a2c28d306 fix: moving db 4 months ago
package-lock.json 40adf3da0e Create gallery-slider structure 4 months ago
package.json ce5b7a337d name changes 4 months ago
postinstall.cjs f14ddba807 fix: update fastlist directory 4 months ago
requirements.txt 1db5a9c295 feat: migrating to electron-vite 4 months ago
tsconfig.json 1db5a9c295 feat: migrating to electron-vite 4 months ago
tsconfig.node.json 3b5f3da2ab ci: testing pipeline 4 months ago
tsconfig.web.json 1db5a9c295 feat: migrating to electron-vite 4 months ago
yarn.lock 5b9af9e0ea initial commit 4 months ago

README.md


Hydra Launcher

Hydra is a game launcher with its own embedded bittorrent client and a self-managed repack scraper.

![Hydra Catalogue](./docs/screenshot.png)


Table of Contents

About

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.

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 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 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)
  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.

Install Yarn

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.

Install Node Dependencies

Navigate to the project directory and install the Node dependencies using Yarn:

cd hydra
yarn

Install Python 3.9

Ensure you have Python 3.9 installed on your machine. You can download and install it from python.org.

Install Python Dependencies

Install the required Python dependencies using pip:

pip install -r requirements.txt

Environment variables

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 copy or rename the .env.example file to .envand put it onSTEAMGRIDDB_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:

yarn dev

Build

Build the bittorrent client

Build the bittorrent client by using this command:

python torrent-client/setup.py build

Build the Electron application

Build the Electron application by using this command:

On Windows:

yarn build:win

On Linux:

yarn build:linux

Contributors

<td align="center">
    <a href="https://github.com/hydralauncher">
        <img src="https://avatars.githubusercontent.com/u/164102380?v=4" width="100;" alt="hydralauncher"/>
        <br />
        <sub><b>Hydra</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/zamitto">
        <img src="https://avatars.githubusercontent.com/u/167933696?v=4" width="100;" alt="zamitto"/>
        <br />
        <sub><b>Null</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/fzanutto">
        <img src="https://avatars.githubusercontent.com/u/15229294?v=4" width="100;" alt="fzanutto"/>
        <br />
        <sub><b>Null</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/JackEnx">
        <img src="https://avatars.githubusercontent.com/u/167036558?v=4" width="100;" alt="JackEnx"/>
        <br />
        <sub><b>Null</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/Magrid0">
        <img src="https://avatars.githubusercontent.com/u/73496008?v=4" width="100;" alt="Magrid0"/>
        <br />
        <sub><b>Magrid</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/fhilipecrash">
        <img src="https://avatars.githubusercontent.com/u/36455575?v=4" width="100;" alt="fhilipecrash"/>
        <br />
        <sub><b>Fhilipe Coelho</b></sub>
    </a>
</td></tr>

<td align="center">
    <a href="https://github.com/jps14">
        <img src="https://avatars.githubusercontent.com/u/168477146?v=4" width="100;" alt="jps14"/>
        <br />
        <sub><b>José Luís</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/shadowtosser">
        <img src="https://avatars.githubusercontent.com/u/168544958?v=4" width="100;" alt="shadowtosser"/>
        <br />
        <sub><b>Null</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/Mkdantas">
        <img src="https://avatars.githubusercontent.com/u/50972667?v=4" width="100;" alt="Mkdantas"/>
        <br />
        <sub><b>Matheus Dantas</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/Hachi-R">
        <img src="https://avatars.githubusercontent.com/u/58823742?v=4" width="100;" alt="Hachi-R"/>
        <br />
        <sub><b>Hachi</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/pmenta">
        <img src="https://avatars.githubusercontent.com/u/71457671?v=4" width="100;" alt="pmenta"/>
        <br />
        <sub><b>João Martins</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/xbozo">
        <img src="https://avatars.githubusercontent.com/u/119091492?v=4" width="100;" alt="xbozo"/>
        <br />
        <sub><b>Guilherme Viana</b></sub>
    </a>
</td></tr>

<td align="center">
    <a href="https://github.com/ferivoq">
        <img src="https://avatars.githubusercontent.com/u/36544651?v=4" width="100;" alt="ferivoq"/>
        <br />
        <sub><b>FeriVOQ</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>
<td align="center">
    <a href="https://github.com/eltociear">
        <img src="https://avatars.githubusercontent.com/u/22633385?v=4" width="100;" alt="eltociear"/>
        <br />
        <sub><b>Ikko Eltociear Ashimine</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/Netflixyapp">
        <img src="https://avatars.githubusercontent.com/u/91623880?v=4" width="100;" alt="Netflixyapp"/>
        <br />
        <sub><b>Netflixy</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/vnumex">
        <img src="https://avatars.githubusercontent.com/u/10434535?v=4" width="100;" alt="vnumex"/>
        <br />
        <sub><b>Vnumex</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/FerNikoMF">
        <img src="https://avatars.githubusercontent.com/u/76095334?v=4" width="100;" alt="FerNikoMF"/>
        <br />
        <sub><b>Firdavs</b></sub>
    </a>
</td></tr>

<td align="center">
    <a href="https://github.com/PCTroller">
        <img src="https://avatars.githubusercontent.com/u/146987801?v=4" width="100;" alt="PCTroller"/>
        <br />
        <sub><b>Null</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/AHOHNMYC">
        <img src="https://avatars.githubusercontent.com/u/24810600?v=4" width="100;" alt="AHOHNMYC"/>
        <br />
        <sub><b>Null</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/Chr1s0Blood">
        <img src="https://avatars.githubusercontent.com/u/166660500?v=4" width="100;" alt="Chr1s0Blood"/>
        <br />
        <sub><b>Cristian S.</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/ChristoferMendes">
        <img src="https://avatars.githubusercontent.com/u/107426464?v=4" width="100;" alt="ChristoferMendes"/>
        <br />
        <sub><b>Christofer Luiz Dos Santos Mendes</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/IWareQ">
        <img src="https://avatars.githubusercontent.com/u/51165317?v=4" width="100;" alt="IWareQ"/>
        <br />
        <sub><b>Dmitry Luk</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/userMacieG">
        <img src="https://avatars.githubusercontent.com/u/24211405?v=4" width="100;" alt="userMacieG"/>
        <br />
        <sub><b>Maciej Ratyński</b></sub>
    </a>
</td></tr>

<td align="center">
    <a href="https://github.com/HOLKus">
        <img src="https://avatars.githubusercontent.com/u/66418078?v=4" width="100;" alt="HOLKus"/>
        <br />
        <sub><b>Redulum</b></sub>
    </a>
</td>
<td align="center">
    <a href="https://github.com/cardosource">
        <img src="https://avatars.githubusercontent.com/u/29387672?v=4" width="100;" alt="cardosource"/>
        <br />
        <sub><b>Cardoso</b></sub>
    </a>
</td></tr>

License

Hydra is licensed under the MIT License.