ProductPromotion
Logo

Elixir

made by https://0x3d.site

GitHub - sergiotapia/magnetissimo: Web application that indexes all popular torrent sites, and saves it to the local database.
Web application that indexes all popular torrent sites, and saves it to the local database. - sergiotapia/magnetissimo
Visit Site

GitHub - sergiotapia/magnetissimo: Web application that indexes all popular torrent sites, and saves it to the local database.

GitHub - sergiotapia/magnetissimo: Web application that indexes all popular torrent sites, and saves it to the local database.

Magnetissimo

https://i.imgur.com/J6eB3mp.png

Magnetissimo is a self-hosted web application that indexes all popular torrent sites and saves the magnet links to your local database.

image

image

Goals:

  • No javascript
  • Crawl multiple index sites for torrents and magnet links.
  • Easily integrates with both Sonarr and Radarr.
  • Run without ceremony. No need for configurations.
  • Easy to understand source code. Special care is taken to keep code lean and understandable.
  • High performance, leveraging Elixir's GenServer and Erlang's BEAM VM.

Usage Guide:

We want to explain how to run Magnetissimo on:

  • Windows
  • Linux
  • Mac

Docker Compose

# Generate a secret_key with either
openssl rand -base64 64
mix phx.gen.secret

# Enter that key as SECRET_KEY_BASE in the docker-compse.yml file
SECRET_KEY_BASE=YourKeyGoesHere

# Start the application
docker compose up -d

If you are going to access Magnetissimo at an address besides localhost, add PHX_HOST to your environment variables. For example, to access it at http://192.168.0.54:4000:

      - PHX_HOST=192.168.0.54

Or to access it at https://magnetissimo.domain.tld:

      - PHX_HOST=magnetissimo.domain.tld

Kubernetes

# Generate a secret_key with either
openssl rand -base64 64
mix phx.gen.secret

Edit the k8s/deployment.yaml file, and replace the ENV SECRET_KEY_BASE with your generated key.
Edit k8s/ingress.yaml & the PHX_HOST in k8s/deployment.yaml and replace the host with your domain name.

The Postgres database is configured to use the DNS name assuming it is being deployed to the default namespace, update this in the enviroment variables if you are deploying to a different namespace.

Finaly, deploy the application to your cluster.
kubectl apply -f k8s/pvc.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/svc.yaml
kubectl apply -f k8s/ingress.yaml

Local Development

asdf install
mix deps.get
iex -S mix phx.server

Then visit: http://localhost:4000

API

All endpoints returns JSON formatted information.

/search endpoint: http://localhost:4000/api/search/:search_term

Search returns torrents that match the search_term param.

/latest endpoint: http://localhost:4000/api/latest

Latest returns the latest 50 published_at torrents.

Contributing:

We have a .tool-versions so you can use ASDF to install the right versions really easily.

elixir 1.14.4
nodejs 19.8.1

Then asdf install.

You also need to have Postgres running and configure it using the DATABASE_URL environment variable.

Finally set up your database with some dummy data and run the project.

mix deps.get
mix ecto.reset
iex -S mix phx.server

Community

Want to talk about Magnetissimo or suggest features? We have an official Discord server.

Click to join our official Discord server

Articles
to learn more about the elixir concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Elixir.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory