You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
FrailLeaf c1f226f1c0
fix: set proper error message.
8 months ago
api Housekeeping 8 months ago
custom fix: set proper error message. 8 months ago
db Concurency, file locations, and some other stuff 8 months ago
public Created api route for non-ui searches. Some type changes to align with using generics for /api/search route 8 months ago
types Clean up and documentation. Separating things out to other files as needed 8 months ago
views fix yts return and make small template change 8 months ago
.gitignore Babys first makefile 8 months ago
LICENSE Add license 8 months ago
Makefile Stuff 8 months ago
go.mod Babys first makefile 8 months ago
go.sum read .env file to define port, other stuff too, later, probably 8 months ago
main.go Housekeeping 8 months ago
readme.md Stuff 8 months ago

readme.md

watershed

watershed is an application similar to Sonarr, however it is written in Go.

Build and run

First create a .env and enter PORT=:2255 or whatever your desired port is. If no .env is found the application will default to port 3000.

To install run make and this will download all deps in go.mod then run sudo make install and it will place the watershed binary in your /usr/local/bin directory.

Additional files will be "installed" to /usr/local/share/watershed

Tests and test coverage

Run make test and make test_coverage

Uninstall

sudo make clean or whatever the windows equivalent is

Watershed usage

Once the application is running you can go to http://localhost:whatever/ and you will see the index page. You may now search using nyaa.si, yts.mx, or Lime torrents.

API

You can run curl -X GET "http://localhost:<whatever>/search?media=zoombies&feed=limetorrents&limit=5" | jq '.' to return a JSON object with results from that specific tracker.

Additionally right now you can run curl -X GET "http://localhost:<whatever>/scan?feed=rarbg" | jq '.' this will get the current rarbg RSS feed and return it as a JSON object -- it will also write results to a SQLite DB (reason for this to be implemented later)


"Fuck it, I'll rewrite it in Go" -- Greg Bulon one evening while not angry at javascript at all