{"id":13393244,"url":"https://github.com/sergiotapia/magnetissimo","last_synced_at":"2025-05-15T03:06:38.226Z","repository":{"id":41252961,"uuid":"63957011","full_name":"sergiotapia/magnetissimo","owner":"sergiotapia","description":"Web application that indexes all popular torrent sites, and saves it to the local database.","archived":false,"fork":false,"pushed_at":"2024-01-19T02:02:21.000Z","size":8977,"stargazers_count":3031,"open_issues_count":9,"forks_count":188,"subscribers_count":59,"default_branch":"master","last_synced_at":"2025-04-14T03:06:48.968Z","etag":null,"topics":["bittorrent","p2p","search-engine","self-hosted","torrent"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergiotapia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-07-22T13:50:35.000Z","updated_at":"2025-04-10T14:51:40.000Z","dependencies_parsed_at":"2024-01-18T01:20:45.265Z","dependency_job_id":"44f890d9-6086-4e22-a589-627d44570ba9","html_url":"https://github.com/sergiotapia/magnetissimo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergiotapia%2Fmagnetissimo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergiotapia%2Fmagnetissimo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergiotapia%2Fmagnetissimo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergiotapia%2Fmagnetissimo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergiotapia","download_url":"https://codeload.github.com/sergiotapia/magnetissimo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264766,"owners_count":22041793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bittorrent","p2p","search-engine","self-hosted","torrent"],"created_at":"2024-07-30T17:00:47.310Z","updated_at":"2025-05-15T03:06:33.216Z","avatar_url":"https://github.com/sergiotapia.png","language":"Elixir","funding_links":[],"categories":["Elixir","Top 20 packages","Examples and funny stuff","Software","网络服务","Apps","File Sharing and Synchronization"],"sub_categories":["File Transfer - Peer-to-peer Filesharing","网络服务_其他","FileSharing","E-commerce"],"readme":"# Magnetissimo\n\n![https://i.imgur.com/J6eB3mp.png](https://i.imgur.com/J6eB3mp.png)\n\nMagnetissimo is a self-hosted web application that indexes all\npopular torrent sites and saves the magnet links to your local\ndatabase.\n\n![image](https://user-images.githubusercontent.com/686715/231510383-cc0e8f00-0cf7-4990-8933-4185a69e4f0e.png)\n\n![image](https://user-images.githubusercontent.com/686715/231512138-879737fc-02a9-43d0-a609-292a4fae6b2b.png)\n\n### Goals:\n\n- **No javascript**\n- Crawl multiple index sites for torrents and magnet links.\n- Easily integrates with both [Sonarr](https://github.com/Sonarr/Sonarr) and [Radarr](https://github.com/Radarr/Radarr).\n- Run without ceremony. No need for configurations.\n- Easy to understand source code. Special care is taken to keep code lean and understandable.\n- High performance, leveraging Elixir's GenServer and Erlang's BEAM VM.\n\n### Usage Guide:\n\nWe want to explain how to run Magnetissimo on:\n\n- Windows\n- Linux\n- Mac\n\n**Docker Compose**\n\n```\n# Generate a secret_key with either\nopenssl rand -base64 64\nmix phx.gen.secret\n\n# Enter that key as SECRET_KEY_BASE in the docker-compse.yml file\nSECRET_KEY_BASE=YourKeyGoesHere\n\n# Start the application\ndocker compose up -d\n```\n\nIf 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`:\n\n```\n      - PHX_HOST=192.168.0.54\n```\n\nOr to access it at `https://magnetissimo.domain.tld`:\n\n```\n      - PHX_HOST=magnetissimo.domain.tld\n```\n\n**Kubernetes**\n```\n# Generate a secret_key with either\nopenssl rand -base64 64\nmix phx.gen.secret\n\nEdit the k8s/deployment.yaml file, and replace the ENV SECRET_KEY_BASE with your generated key.\nEdit k8s/ingress.yaml \u0026 the PHX_HOST in k8s/deployment.yaml and replace the host with your domain name.\n\nThe 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.\n\nFinaly, deploy the application to your cluster.\nkubectl apply -f k8s/pvc.yaml\nkubectl apply -f k8s/deployment.yaml\nkubectl apply -f k8s/svc.yaml\nkubectl apply -f k8s/ingress.yaml\n```\n**Local Development**\n\n```\nasdf install\nmix deps.get\niex -S mix phx.server\n```\n\nThen visit: http://localhost:4000\n\n### API\n\nAll endpoints returns JSON formatted information.\n\n`/search` endpoint: http://localhost:4000/api/search/:search_term\n\nSearch returns torrents that match the `search_term` param.\n\n`/latest` endpoint: http://localhost:4000/api/latest\n\nLatest returns the latest 50 published_at torrents.\n\n### Contributing:\n\nWe have a `.tool-versions` so you can use ASDF to install the right versions\nreally easily.\n\n```\nelixir 1.14.4\nnodejs 19.8.1\n```\n\nThen `asdf install`.\n\nYou also need to have Postgres running and configure it using the `DATABASE_URL`\nenvironment variable.\n\nFinally set up your database with some dummy data and run the project.\n\n```bash\nmix deps.get\nmix ecto.reset\niex -S mix phx.server\n```\n\n### Community\n\nWant to talk about Magnetissimo or suggest features? We have an official Discord server.\n\n[Click to join our official Discord server](https://discord.gg/CFtGUaW)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergiotapia%2Fmagnetissimo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergiotapia%2Fmagnetissimo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergiotapia%2Fmagnetissimo/lists"}