diff --git a/README.md b/README.md
index 1aaff2069..24686e8a2 100644
--- a/README.md
+++ b/README.md
@@ -440,6 +440,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Nbytez
* NCore
* Nebulance (NBL) (TransmiTheNet)
+ * nForce
* NetCosmo
* NetLab
* NorBits
diff --git a/src/Jackett.Common/Definitions/nforce.yml b/src/Jackett.Common/Definitions/nforce.yml
new file mode 100644
index 000000000..5453247ce
--- /dev/null
+++ b/src/Jackett.Common/Definitions/nforce.yml
@@ -0,0 +1,186 @@
+---
+id: nforce
+name: nForce
+description: "nForce is a HUNGARIAN Private Tracker for MOVIES / TV"
+language: hu-HU
+type: private
+encoding: ISO-8859-2
+links:
+ - http://n-force.eu/ # site does not support https ERR_CONNECTION_REFUSED
+
+caps:
+ categorymappings:
+ - {id: 3, cat: Movies/DVD, desc: "Film DVD/EN"}
+ - {id: 4, cat: Movies/DVD, desc: "Film DVD/HU"}
+ - {id: 5, cat: Movies/SD, desc: "Film XviD/EN"}
+ - {id: 6, cat: Movies/SD, desc: "Film XviD/HU"}
+ - {id: 7, cat: Movies/DVD, desc: "Film DVD9/EN"}
+ - {id: 8, cat: Movies/DVD, desc: "Film DVD9/HU"}
+ - {id: 9, cat: Movies/HD, desc: "Film HD/EN"}
+ - {id: 10, cat: Movies/HD, desc: "Film HD/HU"}
+ - {id: 36, cat: Movies/SD, desc: "Film SD/HU"}
+ - {id: 37, cat: Movies/SD, desc: "Film SD/EN"}
+ - {id: 26, cat: PC/Games, desc: "Játék PC/ISO"}
+ - {id: 27, cat: PC/Games, desc: "Játék PC/RIP"}
+ - {id: 28, cat: Console, desc: "Játék PC/Konzol"}
+ - {id: 40, cat: Other, desc: "Kepek Kep/HDkep"}
+ - {id: 1, cat: Books/EBook, desc: "Könyv eBook/EN"}
+ - {id: 2, cat: Books/EBook, desc: "Könyv eBook/HU"}
+ - {id: 29, cat: PC/ISO, desc: "Program Prog/ISO"}
+ - {id: 30, cat: PC/0day, desc: "Program Prog/RIP"}
+ - {id: 31, cat: PC/Mobile-Other, desc: "Program Prog/Mobil"}
+ - {id: 11, cat: TV/SD, desc: "Sorozat DVDR/EN"}
+ - {id: 12, cat: TV/SD, desc: "Sorozat DVDR/HU"}
+ - {id: 13, cat: TV/SD, desc: "Sorozat XviD/EN"}
+ - {id: 14, cat: TV/SD, desc: "Sorozat XviD/HU"}
+ - {id: 15, cat: TV/HD, desc: "Sorozat HD/EN"}
+ - {id: 16, cat: TV/HD, desc: "Sorozat HD/HU"}
+ - {id: 34, cat: TV/Sport, desc: "Sport EN"}
+ - {id: 35, cat: TV/Sport, desc: "Sport HU"}
+ - {id: 22, cat: XXX/SD, desc: "XXX XviD"}
+ - {id: 23, cat: XXX/DVD, desc: "XXX DVDR"}
+ - {id: 24, cat: XXX/x264, desc: "XXX HD"}
+ - {id: 25, cat: XXX/ImageSet, desc: "XXX Imageset"}
+ - {id: 39, cat: XXX/ImageSet, desc: "XXX Imageset"}
+ - {id: 17, cat: Audio/MP3, desc: "Zene MP3/EN"}
+ - {id: 18, cat: Audio/MP3, desc: "Zene MP3/HU"}
+ - {id: 19, cat: Audio/Lossless, desc: "Zene Lossless/EN"}
+ - {id: 20, cat: Audio/Lossless, desc: "Zene Lossless/HU"}
+ - {id: 21, cat: Audio/Video, desc: "Zene Klip"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep]
+ movie-search: [q]
+ book-search: [q]
+ music-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: 3
+ options:
+ 1: title
+ 3: added
+ 4: size
+ 6: seeders
+ - 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 Torrent oldalanként: setting to 100 on your account profile.
+
+login:
+ path: nem_vagy_bejelentkezve.php?muvelet=belepes
+ method: post
+ inputs:
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ error:
+ - selector: table:contains("Sajnálom")
+ test:
+ path: index.php?oldal=1
+ selector: a[href^="kilepes.php?"]
+
+search:
+ paths:
+ - path: torrentek.php
+ inputs:
+ $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
+ search: "{{ .Keywords }}"
+ # 0 name, 1 descr, 2 both
+ # name only search is broken.
+ miben: 2
+ # 0 active, 1 all, 2 deadonly, 3 freeleech, 4 double, 5 featured, 6 unverified, 8 incorrect, 9 uploader
+ szures: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
+ sort: "{{ .Config.sort }}"
+ type: "{{ .Config.type }}"
+ # site does not support imdbid searching
+
+ rows:
+ selector: div#box_torrent_all
+ filters:
+ - name: andmatch
+
+ fields:
+ category:
+ selector: a[href^="torrentek.php?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ title_default:
+ # can be abbreviated
+ selector: a[href^="javascript:lenyit("]
+ title_optional:
+ # usually full length
+ selector: a[href^="javascript:lenyit("]
+ attribute: title
+ optional: true
+ title:
+ text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
+ id:
+ selector: a[href^="javascript:lenyit("]
+ attribute: href
+ filters:
+ - name: regexp
+ args: (\d+)
+ details:
+ text: "torrent_adatlap.php?id={{ .Result.id }}"
+ poster:
+ selector: a[onmouseover]
+ attribute: onmouseover
+ filters:
+ - name: regexp
+ args: "src=(.*?) "
+ download:
+ text: "torrent_letoltes.php/{{ .Result.id }}/{{ .Result.title }}.torrent"
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ date:
+ selector: div.box_feltoltve2
+ filters:
+ - name: append
+ args: " +01:00" # CET
+ - name: dateparse
+ args: "2006-01-02 15:04:05 -07:00"
+ size:
+ selector: div.box_meret2
+ grabs:
+ selector: div.box_d2
+ seeders:
+ selector: div.box_s2
+ leechers:
+ selector: div.box_l2
+ downloadvolumefactor:
+ case:
+ img[src="images/ellenorzes/free.png"]: 0
+ "*": 1
+ uploadvolumefactor:
+ case:
+ img[src="images/ellenorzes/dupla.png"]: 2
+ "*": 1
+ minimumratio:
+ text: 1.0
+ minimumseedtime:
+ # 2 days (as seconds = 2 x 24 x 60 x 60)
+ text: 172800
+# TBDEV custom v4.0