diff --git a/README.md b/README.md
index d697523d5..7cc812b8a 100644
--- a/README.md
+++ b/README.md
@@ -307,6 +307,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CeskeForum
* CGPeers [![(invite needed)][inviteneeded]](#)
* CHDBits [![(invite needed)][inviteneeded]](#)
+ * cheggit
* ChileBT
* CiNEFiLHD
* Cinemageddon [![(invite needed)][inviteneeded]](#)
diff --git a/src/Jackett.Common/Definitions/cheggit.yml b/src/Jackett.Common/Definitions/cheggit.yml
new file mode 100644
index 000000000..b54711156
--- /dev/null
+++ b/src/Jackett.Common/Definitions/cheggit.yml
@@ -0,0 +1,165 @@
+---
+id: cheggit
+name: cheggit
+description: "cheggit is a Private site for 3X"
+language: en-US
+type: private
+encoding: UTF-8
+links:
+ - https://www.cheggit.me/
+
+caps:
+ categorymappings:
+ - {id: 1, cat: XXX, desc: "Amateur"}
+ - {id: 2, cat: XXX, desc: "Anal"}
+ - {id: 5, cat: XXX, desc: "Asian"}
+ - {id: 6, cat: XXX, desc: "BBW"}
+ - {id: 30, cat: XXX, desc: "BDSM"}
+ - {id: 36, cat: XXX, desc: "Big Ass"}
+ - {id: 8, cat: XXX, desc: "Big Tits"}
+ - {id: 7, cat: XXX, desc: "Black"}
+ - {id: 9, cat: XXX, desc: "Classic"}
+ - {id: 37, cat: XXX, desc: "Creampie"}
+ - {id: 10, cat: XXX, desc: "Cumshot"}
+ - {id: 11, cat: XXX, desc: "DVD-R"}
+ - {id: 12, cat: XXX, desc: "Fetish"}
+ - {id: 14, cat: XXX, desc: "Gang Bang / Orgy"}
+ - {id: 39, cat: XXX, desc: "Gay / Bi"}
+ - {id: 56, cat: XXX, desc: "Hairy"}
+ - {id: 35, cat: XXX, desc: "Hardcore"}
+ - {id: 44, cat: XXX, desc: "HD Porn"}
+ - {id: 3, cat: XXX, desc: "Hentai / 3D"}
+ - {id: 25, cat: XXX, desc: "Homemade"}
+ - {id: 43, cat: XXX, desc: "Interracial"}
+ - {id: 16, cat: XXX, desc: "Latina"}
+ - {id: 23, cat: XXX, desc: "Lesbian"}
+ - {id: 52, cat: XXX, desc: "Lingerie"}
+ - {id: 27, cat: XXX, desc: "Magazines"}
+ - {id: 53, cat: XXX, desc: "Manga / Comic"}
+ - {id: 18, cat: XXX, desc: "Masturbation"}
+ - {id: 26, cat: XXX, desc: "Mature"}
+ - {id: 40, cat: XXX, desc: "Megapack"}
+ - {id: 41, cat: XXX, desc: "Natural Tits"}
+ - {id: 17, cat: XXX, desc: "Oral"}
+ - {id: 29, cat: XXX, desc: "Other"}
+ - {id: 47, cat: XXX, desc: "Parody"}
+ - {id: 21, cat: XXX, desc: "Pictures / Images"}
+ - {id: 50, cat: XXX, desc: "Piss"}
+ - {id: 55, cat: XXX, desc: "Porn Music Videos"}
+ - {id: 46, cat: XXX, desc: "Pregnant / Preggo"}
+ - {id: 15, cat: XXX, desc: "Shemale / TS"}
+ - {id: 22, cat: XXX, desc: "Siterip"}
+ - {id: 20, cat: XXX, desc: "Softcore"}
+ - {id: 49, cat: XXX, desc: "Squirt"}
+ - {id: 34, cat: XXX, desc: "Straight"}
+ - {id: 19, cat: XXX, desc: "Teen"}
+ - {id: 45, cat: XXX, desc: "Voyeur"}
+ - {id: 13, cat: PC/Games, desc: "XXX Games / Apps"}
+
+ modes:
+ search: [q]
+
+settings:
+ - name: username
+ type: text
+ label: Username
+ - name: password
+ type: password
+ label: Password
+ - name: freeleech
+ type: checkbox
+ label: Search freeleech only
+ default: false
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: time
+ options:
+ time: created
+ seeders: seeders
+ size: size
+ - name: type
+ type: select
+ label: Order requested from site
+ default: desc
+ options:
+ desc: desc
+ asc: asc
+ - name: info_tpp
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrents per page: setting to 100 on your account profile.
+
+login:
+ path: login.php
+ method: post
+ inputs:
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ keeplogged: 1
+ error:
+ - selector: span.warning:contains(" was incorrect.")
+ test:
+ path: index.php
+ selector: a[href^="logout.php?auth="]
+
+search:
+ paths:
+ # https://www.cheggit.me/torrents.php?filter_cat[1]=1&order_by=time&order_way=desc&filter_freeleech=1&searchtext=&search_type=0&taglist=&tags_type=0
+ - path: torrents.php
+ inputs:
+ $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
+ order_by: "{{ .Config.sort }}"
+ order_way: "{{ .Config.type }}"
+ filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
+ searchtext: "{{ .Keywords }}"
+ # 0=any, 1=all
+ search_type: 1
+
+ rows:
+ selector: table#torrent_table > tbody > tr:not(tr.colhead)
+
+ fields:
+ category:
+ selector: a[href^="torrents.php?filter_cat"]
+ attribute: href
+ filters:
+ - name: regexp
+ args: \[(\d+)\]
+ title:
+ selector: a[href^="torrents.php?id="]
+ details:
+ selector: a[href^="torrents.php?id="]
+ attribute: href
+ download:
+ selector: a[href^="torrents.php?action=download"]
+ attribute: href
+ description:
+ selector: div.tags
+ files:
+ selector: td:nth-child(3)
+ date:
+ selector: span.time
+ attribute: title
+ filters:
+ - name: append
+ args: " +00:00" # auto adjusted by site account profile
+ - name: dateparse
+ args: "MMM dd yyyy, HH:mm zzz"
+ size:
+ selector: td:nth-child(6)
+ grabs:
+ selector: td:nth-child(7)
+ seeders:
+ selector: td:nth-child(8)
+ leechers:
+ selector: td:nth-child(9)
+ downloadvolumefactor:
+ case:
+ img[src$="/freedownload.gif"]: 0
+ "*": 1
+ uploadvolumefactor:
+ text: 1
+ minimumratio:
+ text: 0.51
+# engine n/a