{"id":22873277,"url":"https://github.com/devict/magopie","last_synced_at":"2025-05-06T18:15:22.832Z","repository":{"id":68754400,"uuid":"50211089","full_name":"devict/magopie","owner":"devict","description":"Your personal torrent search engine.","archived":false,"fork":false,"pushed_at":"2016-04-11T21:43:05.000Z","size":5218,"stargazers_count":58,"open_issues_count":2,"forks_count":10,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-06T18:15:17.362Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/devict.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-01-22T22:20:17.000Z","updated_at":"2025-04-02T07:29:35.000Z","dependencies_parsed_at":"2023-07-14T09:12:59.735Z","dependency_job_id":"f6ca9776-f8ac-4199-ab64-3018440a7017","html_url":"https://github.com/devict/magopie","commit_stats":null,"previous_names":["gophergala2016/magopie"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devict%2Fmagopie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devict%2Fmagopie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devict%2Fmagopie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devict%2Fmagopie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devict","download_url":"https://codeload.github.com/devict/magopie/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252741474,"owners_count":21797027,"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":[],"created_at":"2024-12-13T14:18:19.380Z","updated_at":"2025-05-06T18:15:22.808Z","avatar_url":"https://github.com/devict.png","language":"Go","readme":"# \u003cimg src=\"https://raw.githubusercontent.com/devict/magopie/master/logo.png\" style=\"background-color: transparent!\" alt=\"Magopie\" title=\"Magopie\" /\u003e\u003cbr /\u003e[![GoDoc][godoc-badge]][godoc] [![Build Status][travis-badge]][travis] [![Build Status][goreport-badge]][goreport]\n\nYour Personal Torrent Search Engine.  \n*(It's a silent \"O\".)*\n\nThis project was an [honorable mention][gala-blog] in the 2016 Gopher Gala.\n\n## What's with the name?\nMagopie is pronounced just like \"magpie\" the bird. We chose the name because\nmagpies are known for collecting things (especially if they're shiny). We added\nthe \"silent o\" mostly for fun but also to differentiate from an existing Python\nproject named `magpie`.\n\n## Use Cases\n1. I often want to search for some torrent but don't want to be subjected to\n   NSFW ads that are prevalent on many torrent sites. Magopie proxies my query\n   to multiple upstream torrent search engines and collates the results into a\n   basic collection.\n2. I want to remotely start a torrent on a home server or seedbox. Magopie does\n   not participate in any peer-to-peer file sharing itself; it merely downloads\n   a `.torrent` file to a preconfigured directory on the server. Another\n   program such as [Transmission][transmission] needs to be configured to watch\n   that same directory for new `.torrent` files.\n3. I want to do all of that from my phone.\n\n## Demo\n![Demo][demogif]\n\nNote: we were tunneling through ngrok for the demo to work around a local\nnetworking problem.\n\n## Notable Features\n* Android client using Go bindings via [gomobile][gomobile].\n* Downloaded `.torrent` files are saved to disk through an [afero][afero]\n  filesystem interface providing for future extensibility to other remote afero\n  implementations.\n* Torrents are gathered by parsing Kick Ass Torrents XML feeds and by scraping\n  the search page of The Pirate Bay using [goquery][goquery].\n* Searches against upstream sites are performed concurrently.\n\n## Future Plans\n* Serve magopie over TLS with automatic integration with Let's Encrypt.\n* Improve/replace the authentication mechanism.\n* Create an iOS app using the gomobile bindings.\n\n## Development\nGo dependencies are vendored under `vendor/`. If you need to add or update a\ndep you should use the [govendor tool][govendor].\n\nDevelopment currently targets Go version 1.6 but will probably work on 1.5 with\nthe vendor experiment enabled.\n\n### Android\nTo work on the Android app do the following:\n\n* Install [gomobile][gomobile].\n* Install [Android Studio][android] and SDK level 22.\n* Connect a device and ensure you can see it with `adb devices`.\n* In Android Studio set your `GOPATH`. First open the settings dialog at\n  `Android Studio \u003e Preferences` on Mac OS X or under `File \u003e Settings` on\n  Linux and Windows. From there go to `Build, Execution, Deployment \u003e Path\n  Variables` and add the variable `GOPATH` that points to your normal `$GOPATH`\n  such as `/Users/jwalker/go`.\n* Open the project `$GOPATH/src/github.com/devict/magopie/cmd/android/magopie`.\n* Run the `app` module.\n\n## Licenses\nMagopie is licensed with the [MIT license](LICENSE).\n\nMargo, the Magopie mascot, is a derivative work of the Go gopher, and thus, is licensed under \nthe Creative Commons 3.0 Attributions license.\n\nThe Go gopher was designed by Renee French. http://reneefrench.blogspot.com/\nThe design is licensed under the Creative Commons 3.0 Attributions license.\nRead this article for more details: https://blog.golang.org/gopher\n\n[godoc]: https://godoc.org/github.com/devict/magopie \"GoDoc\"\n[godoc-badge]: https://godoc.org/github.com/devict/magopie?status.svg \"GoDoc Badge\"\n[travis]: https://travis-ci.org/devict/magopie \"Travis CI\"\n[travis-badge]: https://travis-ci.org/devict/magopie.svg?branch=master\n[goreport]: http://goreportcard.com/report/devict/magopie \"Go Report Card\"\n[goreport-badge]: http://goreportcard.com/badge/devict/magopie \"Go Report Card Badge\"\n[transmission]: http://www.transmissionbt.com/ \"Transmission\"\n[gomobile]: https://github.com/golang/mobile \"gomobile\"\n[android]: http://developer.android.com/sdk/index.html \"Android Studio\"\n[afero]: https://github.com/spf13/afero \"Afero\"\n[goquery]: https://github.com/PuerkitoBio/goquery \"goquery\"\n[demogif]: http://i.imgur.com/cLshfTl.gif \"Demo\"\n[govendor]: https://github.com/kardianos/govendor \"govendor\"\n[gala-blog]: http://gophergala.com/blog/gopher/gala/2016/02/05/winners-2016/ \"Gopher Gala blog\"\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevict%2Fmagopie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevict%2Fmagopie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevict%2Fmagopie/lists"}