diff --git a/README.md b/README.md
index 684db4c88..ed3aebcf6 100644
--- a/README.md
+++ b/README.md
@@ -175,6 +175,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Shellife
* SpeedCD
* SportsCult
+ * SportHD
* Superbits
* Tasmanit
* The Empire
diff --git a/src/Jackett/Definitions/sporthd.yml b/src/Jackett/Definitions/sporthd.yml
new file mode 100644
index 000000000..53e96e138
--- /dev/null
+++ b/src/Jackett/Definitions/sporthd.yml
@@ -0,0 +1,143 @@
+---
+ site: sporthd
+ name: SportHD
+ description: "Sports tracker"
+ language: en-us
+ type: private
+ encoding: UTF-8
+ links:
+ - http://sporthd.org/
+
+ caps:
+ categorymappings:
+ - {id: 50, cat: Movies, desc: "Australian Open"}
+ - {id: 32, cat: Movies, desc: "Basketball"}
+ - {id: 22, cat: Movies, desc: "Boxing"}
+ - {id: 23, cat: Movies, desc: "Brasilareo Seria A"}
+ - {id: 54, cat: Movies, desc: "Brazil League"}
+ - {id: 11, cat: Movies, desc: "BundesLiga"}
+ - {id: 45, cat: Movies, desc: "CAF"}
+ - {id: 37, cat: Movies, desc: "Champions Hockey League"}
+ - {id: 46, cat: Movies, desc: "Copa Americana"}
+ - {id: 41, cat: Movies, desc: "Copa Del Rey"}
+ - {id: 42, cat: Movies, desc: "Copa do Brasil"}
+ - {id: 43, cat: Movies, desc: "Copa Libertadores"}
+ - {id: 40, cat: Movies, desc: "Coppa Italia"}
+ - {id: 51, cat: Movies, desc: "Coupe de France"}
+ - {id: 39, cat: Movies, desc: "DFB Pokal"}
+ - {id: 49, cat: Movies, desc: "English League Cup"}
+ - {id: 8, cat: Movies, desc: "EPL"}
+ - {id: 13, cat: Movies, desc: "Eredivisie"}
+ - {id: 2, cat: Movies, desc: "EURO Cup"}
+ - {id: 6, cat: Movies, desc: "EURO Cup Qualification"}
+ - {id: 66, cat: Movies, desc: "Eurobasket"}
+ - {id: 53, cat: Movies, desc: "Euroleague ULEB"}
+ - {id: 38, cat: Movies, desc: "FA Cup"}
+ - {id: 59, cat: Movies, desc: "FIFA U-20 World Cup"}
+ - {id: 69, cat: Movies, desc: "FIFA World Clup Cup"}
+ - {id: 19, cat: Movies, desc: "Football League Championship"}
+ - {id: 18, cat: Movies, desc: "Formula 1"}
+ - {id: 7, cat: Movies, desc: "Friendly matches"}
+ - {id: 30, cat: Movies, desc: "Handball"}
+ - {id: 31, cat: Movies, desc: "IIHF"}
+ - {id: 15, cat: Movies, desc: "IndyCar"}
+ - {id: 20, cat: Movies, desc: "KHL"}
+ - {id: 10, cat: Movies, desc: "La Liga"}
+ - {id: 12, cat: Movies, desc: "Ligue 1"}
+ - {id: 21, cat: Movies, desc: "Major League Soccer"}
+ - {id: 67, cat: Movies, desc: "MLB"}
+ - {id: 63, cat: Movies, desc: "MMA"}
+ - {id: 58, cat: Movies, desc: "MotoGP"}
+ - {id: 16, cat: Movies, desc: "NBA"}
+ - {id: 57, cat: Movies, desc: "NBA Playoffs"}
+ - {id: 14, cat: Movies, desc: "NCAA"}
+ - {id: 34, cat: Movies, desc: "NFL"}
+ - {id: 17, cat: Movies, desc: "NHL"}
+ - {id: 36, cat: Movies, desc: "Old classic games"}
+ - {id: 68, cat: Movies, desc: "Olympic Games 2016"}
+ - {id: 28, cat: Movies, desc: "Other domestic leagues"}
+ - {id: 55, cat: Movies, desc: "Paulista A1"}
+ - {id: 26, cat: Movies, desc: "Portuguese League"}
+ - {id: 65, cat: Movies, desc: "ROH"}
+ - {id: 61, cat: Movies, desc: "Rollan Garros"}
+ - {id: 29, cat: Movies, desc: "Rugby"}
+ - {id: 9, cat: Movies, desc: "Serie A"}
+ - {id: 33, cat: Movies, desc: "SHL"}
+ - {id: 47, cat: Movies, desc: "Ski Jumping"}
+ - {id: 25, cat: Movies, desc: "Sport video"}
+ - {id: 44, cat: Movies, desc: "Sudamericana"}
+ - {id: 52, cat: Movies, desc: "Taca Da Liga"}
+ - {id: 24, cat: Movies, desc: "Tennis"}
+ - {id: 64, cat: Movies, desc: "TNA"}
+ - {id: 56, cat: Movies, desc: "Torneo Premiera A"}
+ - {id: 3, cat: Movies, desc: "UCL"}
+ - {id: 4, cat: Movies, desc: "UEL"}
+ - {id: 60, cat: Movies, desc: "UFC"}
+ - {id: 35, cat: Movies, desc: "Volleyball"}
+ - {id: 5, cat: Movies, desc: "WC Qualification"}
+ - {id: 1, cat: Movies, desc: "World Cup"}
+ - {id: 27, cat: Movies, desc: "World Cup 2014"}
+ - {id: 48, cat: Movies, desc: "WWE"}
+
+ modes:
+ search: [q]
+
+ settings:
+ - name: cookie
+ type: text
+ label: Cookie
+
+ login:
+ method: cookie
+ inputs:
+ cookie: "{{ .Config.cookie }}"
+ test:
+ path: index.php
+
+ download:
+ selector: a[href^="download.php?id="]
+
+ search:
+ path: browse.php
+ inputs:
+ $raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
+ search: "{{ .Query.Keywords }}"
+ rows:
+ selector: table.embedded > tbody > tr:has(a[href^="browse.php?cat="])
+ fields:
+ category:
+ selector: a[href^="browse.php?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ title:
+ selector: td:nth-child(2)
+ download:
+ selector: a[href^="details.php?id="]
+ attribute: href
+ filters:
+ - name: replace
+ args: ["details.php?id=", "download.php?id="]
+ details:
+ selector: a[href^="details.php?id="]
+ attribute: href
+ # files:
+ # selector: td:nth-child(3)
+ # size:
+ # selector: td:nth-child(4)
+ #seeders:
+ # selector: td:nth-child(5)
+ #leechers:
+ # selector: td:nth-child(5)
+ # date:
+ # selector: td:nth-child(7)
+ # filters:
+ # - name: append
+ # args: " ago"
+ downloadvolumefactor:
+ case:
+ "*": "1"
+ uploadvolumefactor:
+ case:
+ "*": "1"
\ No newline at end of file
diff --git a/src/Jackett/Jackett.csproj b/src/Jackett/Jackett.csproj
index 8015deb96..e79088d09 100644
--- a/src/Jackett/Jackett.csproj
+++ b/src/Jackett/Jackett.csproj
@@ -446,6 +446,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest