diff --git a/index.js b/index.js index 41a0d7d..7d32d66 100644 --- a/index.js +++ b/index.js @@ -78,6 +78,7 @@ io.on('connection', function(socket) piecelength: row.piecelength, added: row.added.getTime(), contentType: row.contentType, + contentCategory: row.contentCategory, } } @@ -327,6 +328,7 @@ client.on('complete', function (metadata, infohash, rinfo) { files: filesCount, piecelength: metadata.info['piece length'], contentType: torrentQ.contentType, + contentCategory: torrentQ.contentCategory, }); } else diff --git a/lib/bad-words.js b/lib/bad-words.js new file mode 100644 index 0000000..86468e1 --- /dev/null +++ b/lib/bad-words.js @@ -0,0 +1,249 @@ +let XXX_BLOCK_WORDS = ['incestcash', 'asacp', 'xondemand', 'yankscash', 'klixxx', 'cybersitter', 'safesurf', +'surfwatch', 'netcash', 'watersport', 'fuck', 'threesome', 'tits', +'masturbating', 'incest', 'bestiality', 'analintercourse', 'analsex', 'animesex', +'anitablonde', 'autosex', 'blackass', 'blackasses', 'boner', 'boobcruise', +'boobies', 'bordello', 'braless', 'brothel', 'callgirl', 'callgirls', +'clit', 'clitoris', 'clits', 'cums', 'cybererotic', 'cybererotica', +'cybersex', 'cybersexx', 'ejaculation', 'erotica', 'eroticfilm', 'eroticfilms', +'eroticism', 'eroticphoto', 'eroticphotography', 'eroticphotos', 'erotics', 'eroticsex', +'eroticsexstories', 'eroticstories', 'eroticstory', 'erotik', 'erotika', 'antasysex', +'gaysex', 'gruppensex', 'horny', 'jackoff', 'lesbo', 'lesbos', +'makinglove', 'motherfucker', 'horsesex', 'dogsex', 'snakesex', 'sextracker', +'tranny', 'bdsm', 'porn', 'beastality', 'bizarre', 'blowjob', +'bondage', 'bondages', 'celebs', 'cum', 'cunt', 'transsexual', +'transsexuals', 'cumbath', 'cumshot', 'dildo', 'dildos', 'transvestites', +'transvestite', 'dominatrix', 'spank', 'dungeon', 'sexbilder', 'dungeons', +'pussie', 'ebony', 'fisting', 'gayshop', 'facesitting', 'sexshop', +'pussy', 'bukkake', 'escort', 'blowjobs', 'facial', 'facialized', +'facials', 'fetish', 'footfetish', 'fuckingpussy', 'fucking', 'hardcore', +'hentai', 'hustlerlatex', 'latex', 'lolita', 'lolitas', 'mlm', +'oralsex', 'peepshow', 'peepshows', 'phonesex', 'pornstars', 'preteen', +'preteens', 'pussies', 'shemale', 'shemales', 'sluts', 'whores', +'whore', 'spanking', 'strapon', 'twinks', 'upskirts', 'voyeur', +'whip', 'whipping', 'xxx', 'sexkey', 'femdom', 'gangbang', +'gloryhole', 'adultbuffet', 'adultcartoons', 'adultchat', 'adultchatnetwork', 'adultdvd', +'adultentertainment', 'adultentertainmenthouse', 'adulterotica', 'adultfilms', 'adultfree', 'adultfreepics', +'adultfreepix', 'adultfun', 'adulthardcore', 'adultimages', 'adultjpeg', 'adultlink', +'adultlinks', 'adultmovie', 'adultmovies', 'adultmpeg', 'adultmpegs', 'adultpass', +'adultpersonals', 'adultphotos', 'adultpic', 'adultpics', 'adultpicture', 'adultpictures', +'adultpix', 'adultporn', 'adultpornography', 'adultsearch', 'adultsex', 'adultsights', +'adultsites', 'adultsonly', 'adultstars', 'adultstories', 'adultvideo', 'adultvideos', +'adultweb', 'adultxxx', 'alt.sex', 'altsex', 'alt.sex.exhibitionism', 'alt.sex.pictures', +'altsexst', 'alt.sex.stories', 'alt.sex.voyeurism', 'amateurerotica', 'amateurfotos', 'amateurhardcore', +'amateurindex', 'amateurnaked', 'amateurnudes', 'amateurporn', 'amateurpussy', 'amateursex', +'amateursxxx', 'amatuerhardcore', 'amatuersex', 'ampland', 'analaction', 'analcum', +'analfuck', 'analfucking', 'analgallery', 'analingus', 'analpics', 'analpicture', +'analsex', 'analsexpics', 'analsexpictures', 'analxxx', 'animalbeastiality', 'animehentai', +'animeporno', 'animexxx', 'asiacarrera', 'assfuck', 'assfucking', 'asshole', +'assholes', 'asslick', 'asspics', 'assworship', 'autofellatio', 'babepix', +'badgirls', 'bakedchicks', 'baldcunt', 'baldpussies', 'baldpussy', 'barecelebs', +'barenaked', 'barepussy', 'beastiality', 'beaverboy', 'beavershots', 'bigballs', +'bigblackboobs', 'bigblackcocks', 'bigblackdicks', 'bigblacktits', 'bigboob', 'bigboobs', +'bigbreast', 'bigbreastlovers', 'bigbreasts', 'bigbutt', 'bigbutts', 'bigclit', +'bigclitoris', 'bigclits', 'bigcock', 'bigcocks', 'bigcunt', 'bigcunts', +'bigdick', 'bigdicks', 'biggestboobs', 'biggestdick', 'biggesttit', 'biggesttits', +'bighairyballs', 'bighardons', 'bighooters', 'bignipples', 'bigpussies', 'bigpussy', +'bigtit', 'bigtits', 'bigtitties', 'bigtitts', 'bizarresex', 'bizarrexxx', +'bizzaresex', 'blackbondage', 'blackboobs', 'blackbooty', 'blackbutt', 'blackcock', +'blackcocks', 'blackcum', 'blackcunt', 'blackcunts', 'blackdick', 'blackdicks', +'blackerotica', 'blackhardcore', 'blacknudes', 'blackonblondes', 'blackporn', 'blackporno', +'blackpornography', 'blackpussy', 'blacksex', 'blacksluts', 'blacksonblondes', 'blacktit', +'blacktits', 'blacktwat', 'blackxxx', 'blondepussy', 'blondsgay', 'bondagefree', +'bondagegallery', 'bondagelinks', 'bondagepics', 'bondagepictures', 'bondagesex', 'bondagestories', +'bondagestory', 'bukake', 'bustybabes', 'bustyblondes', 'bustyceleb', 'butt-fuck', +'buttfuck', 'buttfucker', 'buttfuckers', 'buttfucking', 'buttholes', 'buttman', +'buttpics', 'buttplug', 'buttthumbnails', 'cartoonporn', 'cartoonsex', 'cartoonsxxx', +'cartoonxxx', 'celebritiesnaked', 'celebritiesnude', 'celebritiesxxx', 'celebritybush', 'celebritybutts', +'celebritynude', 'celebritynudes', 'celebrityporn', 'celebritypussy', 'celebritysex', 'celebrityxxx', +'celebsxxx', 'celebxxx', 'centerfolds', 'chaseylain', 'chatsex', 'cheerleadersxxx', +'cheerleaderxxx', 'chickswithdicks', 'christycanyon', 'cicciolina', 'clitpics', 'clitpictures', +'closeuppussy', 'comixxx', 'crotchless', 'cruisingforsex', 'cumbaths', 'cumcoveredcunts', +'cumcunt', 'cumdrinker', 'cumdrinkers', 'cumdrinking', 'cumdrops', 'cumeater', +'cumeaters', 'cumeating', 'cumface', 'cumfaces', 'cumfacial', 'cumfacials', +'cumgallery', 'cumgargle', 'cumguzzlers', 'cumincunt', 'cumjunkies', 'cumlovers', +'cummpeg', 'cumpic', 'cumpics', 'cumpicture', 'cumpictures', 'cumpussy', +'cumsluts', 'cumsucker', 'cumsuckers', 'cumsucking', 'cumswallow', 'cumswallowers', +'cumswallowing', 'cumtasting', 'cumthumbnails', 'cunilingus', 'cunnilingus', 'cuntcum', +'cuntfuck', 'cuntfucking', 'cuntjuice', 'cuntlapper', 'cuntlick', 'cuntlickers', +'cuntlicking', 'cuntpics', 'cuntpictures', 'cunts', 'cuntstories', 'cuntsuckers', +'cuntz', 'cyberlust', 'cybernude', 'cyberporn', 'cyberpornlinks', 'cyberpornsexlinks', +'cyberslut', 'd’amateur', 'danniashe', 'dicksex', 'dicksuckers', 'dicksucking', +'digixxx', 'directporn', 'dirtypictures', 'dirtysex', 'doggiestyle', 'doggystyle', +'domatrix', 'dominatrixes', 'downblouse', 'drinkingcum', 'drippingcunt', 'drippingcunts', +'drippingpussy', 'easypic.com', 'eatcum', 'eatingcum', 'eatingpussy', 'eatpussy', +'ebony+ayres', 'ebonyporn', 'ebonypussy', 'ebonysex', 'ebonyxxx', 'enormoustits', +'erosvillage', 'eroticanime', 'eroticart', 'eroticas', 'eroticastories', 'eroticfiction', +'eroticlesbianstories', 'eroticmovie', 'eroticmovies', 'erotico', 'eroticos', 'eroticpics', +'eroticpicture', 'eroticpictures', 'eroticsites', 'eroticsounds', 'erotictales', 'erotictext', +'eroticvideo', 'eroticvideos', 'eroticwomen', 'eroticwriting', 'erotikchat', 'erotique', +'erotismo', 'escortservice', 'escortservices', 'eurosex', 'explicitsex', 'facecum', +'facesit', 'facesitters', 'fastporn', 'fatass', 'fatsex', 'feetfetish', +'feetsex', 'felatio', 'fellatio', 'fellations', 'fetishwear', 'fettegirls', +'fingerbang', 'fingerfuck', 'flesh4free', 'footjobs', 'footlicking', 'footworship', +'fornication', 'freeanal', 'freeanalsex', 'freeass', 'freebigboobs', 'freebigtit', +'freebigtits', 'freeblackcunt', 'freeblackpussy', 'freeblowjob', 'freeblowjobs', 'freebondage', +'freeboobs', 'freecum', 'freecumshot', 'freecumshots', 'freecunt', 'freecunts', +'freedick', 'freeerotic', 'freeerotica', 'freeeroticstories', 'freefuck', 'freefucking', +'freefuckpics', 'freegay', 'freegaypics', 'freehardcore', 'freehardcorepics', 'freehardcorepictures', +'freehardcoreporn', 'freehardcoresex', 'freehardcoresexpics', 'freehentai', 'freehooters', 'freelargehooters', +'freelesbian', 'freelesbianporn', 'freelesbiansex', 'freenakedpic', 'freenakedpics', 'freenakedpictures', +'freenakedwomen', 'freenude', 'freenudecelebs', 'freenudephotos', 'freenudepics', 'freenudes', +'freeporn', 'freepornmovies', 'freeporno', 'freepornography', 'freepornopics', 'freepornopictures', +'freepornos', 'freepornpic', 'freepornpics', 'freepornpictures', 'freeporns', 'freepornsite', +'freepornsites', 'freepussy', 'freepussypic', 'freepussypics', 'freepussypictures', 'freesex', +'freesexchat', 'freesexmovies', 'freesexnet', 'freesexphotos', 'freesexpic', 'freesexpics', +'freesexpicture', 'freesexpictures', 'freesexsites', 'freesexstories', 'freesexvideos', 'freesexycam', +'freeshemale', 'freesmut', 'freetit', 'freetits', 'freevoyeur', 'freexxx', +'freexxxmovie', 'freexxxmovies', 'freexxxmpeg', 'freexxxphotos', 'freexxxpic', 'freexxxpics', +'freexxxpicture', 'freexxxpictures', 'freexxxstories', 'freexxxvideo', 'freexxxx', 'fuking', +'gangbangs', 'gratishardcoregalerie', 'hardcorecelebs', 'hardcorefisting', 'hardcorefree', 'hardcorefucking', +'hardcorehooters', 'hardcorejunkie', 'hardcorejunky', 'hardcoremovie', 'hardcoremovies', 'hardcorepic', +'hardcorepics', 'hardcorepictures', 'hardcorepix', 'hardcoreporn', 'hardcoreporno', 'hardcorepornography', +'hardcorepornos', 'hardcorepussy', 'hardcoresamples', 'hardcoresex', 'hardcoresexpictures', 'hardcorestories', +'hardcorethumbnails', 'hardcorevideo', 'hardcorevideos', 'hardcorexxx', 'harddicks', 'hardnipples', +'hardons', 'hardporn', 'indiasex', 'interacialhardcore', 'interacialsex', 'interacialxxx', +'intercoursepositions', 'internetsex', 'interracialfucking', 'interracialhardcore', 'interracialporn', 'interracialpornography', +'interracialsex', 'interracialsexstories', 'interracialxxx', 'intimatesex', 'ittybittytitty', 'japaneseporn', +'japanesesex', 'japansex', 'japanxxx', 'jennacam.com', 'jennajameson', 'jennicam', +'jerkoff', 'jism', 'jiz', 'jizz', 'juicycunts', 'juicypussy', +'justhardcore', 'karasamateurs', 'karasxxx', 'kascha', 'kaylakleevage', 'kobetai', +'koreasex', 'lapdance', 'largeclits', 'largecunts', 'largedicks', 'largehooters', +'largepussy', 'largetit', 'largetits', 'latinapussy', 'latinasex', 'latinosex', +'latinoxxx', 'latinxxx', 'legsex', 'lesbianerotica', 'lesbianhardcore', 'lesbianorgies', +'lesbianorgy', 'lesbianpics', 'lesbianpink', 'lesbianporn', 'lesbian-porno', 'lesbianporno', +'lesbianpornography', 'lesbianpornos', 'lesbianpussy', 'lesbiansex', 'lesbiansexpics', 'lesbiansexstories', +'lesbianxxx', 'lickadick', 'lickingpussy', 'lindalovelace', 'lingeriexxx', 'literotica', +'littleboobs', 'littlepussy', 'littletits', 'livefucking', 'liveporn', 'livesex', +'livesexcam', 'livesexcams', 'longdicks', 'lovedoll', 'lovedolls', 'magazinessex', +'makinglove', 'malaysex', 'malenudes', 'malesex', 'mangaporno', 'mangax', +'mangaxxx', 'manpics', 'mansex', 'marilynchambers', 'massivecocks', 'masterbating', +'masturbation', 'masturbationvideos', 'maturefucking', 'maturesex', 'maturexxx', 'megaboobs', +'megaporno', 'megapussy', 'megatits', 'mensdicks', 'mensex', 'm.i.l.f.', +'milf', 'milfhunterpic', 'milfmpegsample', 'modelsex', 'mondoporn', 'monstercocks', +'monsterdicks', 'motherfucker', 'moviepost.com', 'mpegsex', 'mpegxxx', 'muffdiving', +'myslutwife', 'nacktfotos', 'nakedbabes', 'nakedblackwomen', 'nakedcelebrity', 'nakedcelebs', +'nakedcheerleader', 'nakedchicks', 'nakedgirls', 'nakedguys', 'nakedladies', 'nakedlady', +'nakedman', 'nakedmen', 'nakedness', 'nakedphotographs', 'nakedphotography', 'nakedphotos', +'nakedpic', 'nakedpics', 'nakedpicture', 'nakedpictures', 'nakedpussy', 'nakedstars', +'nakedwife', 'nakedwoman', 'nakedwomen', 'nastychat', 'nastypussy', 'nastysex', +'nastythumbs', 'naturaltits', 'naughty.com', 'naughtylinks', 'naughtylinx', 'naughtylynx', +'naughtynurses', 'netsex', 'niceass', 'nicetits', 'nikkinova', 'nikkityler', +'nipples', 'nookie', 'nookies', 'nudeactress', 'nudeactresses', 'nudeamateur', +'nudeamateurs', 'nudeasianwomen', 'nudebabes', 'nudebigboobs', 'nudeblack', 'nudeblackwomen', +'nudeblondes', 'nudeceleb', 'nudeceleberties', 'nudecelebraties', 'nudecelebrites', 'nudecelebrities', +'nudecelebrity', 'nudecelebs', 'nudecollegegirls', 'nudefemale', 'nudefemales', 'nudefree', +'nudegay', 'nudeimages', 'nudeladies', 'nudelesbians', 'nudemale', 'nudemales', +'nudeman', 'nudemen', 'nudepic', 'nudepics', 'nudepicture', 'nudepictures', +'nudepornography', 'nudepussy', 'nuderaider', 'nuderedheads', 'nudes', 'nudesex', +'nudestar', 'nudestars', 'nudevideoconferencing', 'nudewoman', 'nudewomen', 'nudism', +'nudist', 'nudists', 'nudity', 'nylonfetish', 'nylonsex', 'nympho', +'nymphos', 'olderbabes', 'oldersex', 'oldersluts', 'oldpussy', 'oldsex', +'oldsluts', 'openlegs', 'openpussy', 'oral4free', 'oral-sex', 'oralsexpictures', +'orgie', 'orgies', 'orgypics', 'orgys', 'pantyhosefetish', 'pantyhosesex', +'peepcam', 'persiankitty', 'persiankitty.com', 'perverted', 'picsxxx', 'picturesex', +'picturesofsex', 'picturessex', 'pimpserver', 'pimpserver.com', 'pinkpussy', 'pissing', +'pixxx', 'poontang', 'pornagraphy', 'porncast', 'porncity', 'porndirectory', +'porne', 'pornfree', 'pornmovies', 'pornno', 'pornnude', 'porno', +'pornoadult', 'pornocartoons', 'pornochat', 'pornodeluxe', 'pornoe', 'pornofilms', +'pornofree', 'pornogame', 'pornografi', 'pornografia', 'pornografie', 'pornografy', +'pornograph', 'pornographi', 'pornographia', 'pornographic', 'pornographicpictures', 'pornographics', +'pornographicvideo', 'pornographicvideos', 'pornographie', 'pornography', 'pornographyfree', 'pornographyphotos', +'pornographypictures', 'pornography-sex', 'pornographysex', 'pornoland', 'pornolinks', 'pornolynx', +'pornomagazines', 'pornomovies', 'pornompeg', 'pornophotos', 'pornopic', 'pornopics', +'pornopicture', 'pornopictures', 'pornos', 'pornosex', 'pornosite', 'pornosites', +'pornostar', 'pornostories', 'pornovideo', 'pornovideos', 'pornoxxx', 'pornphotos', +'pornpics', 'pornpictures', 'pornpix', 'pornpost', 'pornqueens', 'pornrated', +'porns', 'pornsex', 'pornstar', 'pornstories', 'porntrack', 'pornvideo', +'pornvideos', 'pornypics', 'porstars', 'privatesex', 'privatex', 'privatexx', +'privatexxx', 'prono', 'pronography', 'publicnudity', 'puffynipples', 'purple+passion', +'pussyboard', 'pussycam', 'pussycams', 'pussycloseup', 'pussycloseups', 'pussycum', +'pussycunt', 'pussyeater', 'pussyeaters', 'pussyeating', 'pussyfuck', 'pussyfucking', +'pussyhair', 'pussyheaven', 'pussyjuice', 'pussylickers', 'pussylicking', 'pussylink', +'pussylips', 'pussyphotos', 'pussyporno', 'pussys', 'pussysex', 'pussyshots', +'pussythumbnails', 'pussytits', 'pusy', 'racqueldarrian', 'rape', 'rawlinks', +'rawpussy', 'rawsex', 'realhardcore', 'realsex', 'redneckporn', 'redpussy', +'rubberfetish', 'russianxxx', 'scat', 'schiffernude', 'seka', 'seniorsex', +'sex4free', 'sex66', 'sexacts', 'sexadult', 'sexaids', 'sexamateur', +'sexanal', 'sexandpictures', 'sexaphone', 'sexaudio', 'sexavi', 'sexbondage', +'sexboner', 'sexbuttfucker', 'sexcam', 'sexcams', 'sexchat', 'sexchatrooms', +'sexcites', 'sexclub', 'sexclubs', 'sex.com', 'sexdating', 'sexe', +'sexfantasies', 'sexfantasy', 'sexfilm', 'sexgallery', 'sexgame', 'sexgames', +'sexgirl', 'sexgirls', 'sexgroup', 'sexguide', 'sexhardcore', 'sexhphoto', +'sexhungry', 'sexhungryjoe', 'sexhungryjoes', 'sexi', 'seximages', 'sexis', +'sexjapan', 'sex.jpg', 'sexlinda', 'sexlinks', 'sexlinx', 'sexlive', +'sexmagazine', 'sexmagazines', 'sexmature', 'sexmelayu', 'sexmodels', 'sexmovie', +'sexmovies', 'sexmpeg', 'sexnude', 'sexnudity', 'sexo', 'sexoanal', +'sexole', 'sexontheinternet', 'sexoral', 'sexpasswords', 'sexphoto', 'sexphotos', +'sexpic', 'sexpicnet', 'sexpics', 'sexpicture', 'sexpictures', 'sexpicturesfree', +'sexpix', 'sexplaza', 'sexporn', 'sexporno', 'sexpositions', 'sexpussy', +'sexroulette', 'sexs', 'sexsamples', 'sexsearch', 'sexsex', 'sexsexsex', +'sexshare', 'sexshops', 'sexshow', 'sexshows', 'sexsite', 'sexsites', +'sexslave', 'sexsound', 'sexsounds', 'sexsource', 'sexspaces', 'sexspaces.com', +'sexstories', 'sexstory', 'sexstorys', 'sextalk', 'sexteen', 'sexthumbnails', +'sex-toons', 'sextoons', 'sextour', 'sextoy', 'sextoys', 'sextpus', +'sextracker.com', 'sextropolis', 'sexualbondage', 'sexualfantasies', 'sexualfantasy', 'sexualintercourse', +'sexualpictures', 'sexualpleasure', 'sexualpositions', 'sexuncensored', 'sexvideo', 'sexvision', +'sexvote', 'sexwomen', 'sexworld', 'sexx', 'sexxx', 'sexxxx', +'sexxxxx', 'sexyamateurs', 'sexybabes', 'sexyblack', 'sexyboobs', 'sexybookmark', +'sexybookmarka', 'sexybookmarks', 'sexybutts', 'sexycunts', 'sexygirl', 'sexygirls', +'sexyladies', 'sexylady', 'sexylegs', 'sexylingerie', 'sexymen', 'sexyphotos', +'sexypics', 'sexypictures', 'sexypost', 'sexypussies', 'sexypussy', 'sexysites', +'sexystories', 'sexywoman', 'sexywomen', 'shavedcunt', 'shavedcunts', 'shavedpussies', +'shavedpussy', 'shavedpussypics', 'shavedsluts', 'shavedwomen', 'shavenpussies', 'shavenpussy', +'shavepussy', 'sheboy', 'she-male', 'shemale+video', 'shemaleyum', 'showcam', +'showcams', 'showercam', 'showercams', 'slavesex', 'smallboobs', 'smallbreasts', +'smalldicks', 'smallpussy', 'smalltits', 'smut', 'smut69', 'smutland', +'smutserver', 'smutshack', 'softcore', 'softporn', 'softpornography', 'spankingpage', +'spreadpussy', 'spycamadult', 'stockingsex', 'storieserotic', 'storiessex', 'straightsex', +'stretchedcunt', 'stripclub', 'stripclubs', 'stripshow', 'striptease', 'strokeit', +'strokeme', 'suckdick', 'sucksex', 'superchicken', 'supersex', 'supertits', +'swallowcum', 'swinger', 'swingerclub', 'swingers', 'swollenclits', 'syberporn', +'sylviasaint', 'teenanal', 'teenanalsex', 'teenhardcore', 'teenie', 'teenies', +'teennude', 'teenpics', 'teenporn', 'teenporno', 'teenpussy', 'teensex', +'teenslut', 'teensluts', 'teensuck', 'teenxxx', 'tgp', 'thaipussy', +'thaisex', 'thehun', 'threesomes', 'thumblords', 'thumbnailssex', 'thumbzilla', +'tiffanytowers', 'tightcunt', 'tightpussies', 'tightpussy', 'tinypussy', 'tinytits', +'tinytitties', 'tisandass', 'tit', 'titbondage', 'titfuck', 'titfucking', +'tities', 'titman', 'titsandass', 'titsass', 'titties', 'titts', +'titty', 'tittyfuck', 'tittyfucking', 'tittys', 'tokyotopless', 'tommysbookmark', +'toplesswomen', 'trannies', 'transexual', 'transsexuels', 'twat', 'twats', +'twink', 'ultradonkey', 'ultrahardcore', 'uncutcocks', 'vaginalintercourse', 'vaginapictures', +'videoporno', 'videosex', 'videoxxx', 'vintageporn', 'virtualsex', 'vividtv', +'wank', 'wankers', 'wanking', 'wendywhoppers', 'wetcunt', 'wetcunts', +'wetdick', 'wetpanties', 'wetpussies', 'wetpussy', 'wetsex', 'wetvagina', +'whitepussy', 'whitesex', 'whitetits', 'whitexxx', 'wifesharing', 'wifeswapping', +'wildpussy', 'wildsex', 'womensex', 'worldsex', 'worldsexguide', 'x-rated', +'xrated', 'x-ratedmovie', 'x-ratedmovies', 'x-ratedvideo', 'x-ratedvideos', 'xxx4free', +'xxxadult', 'xxxadultmovies', 'xxxadultvideo', 'xxxadultvideos', 'xxxbabes', 'xxxcam', +'xxxcelebrities', 'xxxfree', 'xxxfreepics', 'xxxgalleries', 'xxxhardcore', 'xxxjapan', +'xxxlinks', 'xxxmodels', 'xxxmovie', 'xxxmovies', 'xxxmpeg', 'xxxpassword', +'xxxphoto', 'xxxphotos', 'xxxpic', 'xxx-pics', 'xxxpics', 'xxxpicture', +'xxxpictures', 'xxxpicturesfree', 'xxxpicx', 'xxxpirtures', 'xxxporn', 'xxxporno', +'xxxpussy', 'xxx-rated', 'xxxrated', 'xxxsex', 'xxxsites', 'xxxsluts', +'xxxstories', 'xxxteen', 'xxxthumbnails', 'xxxthumbs', 'xxxtoons', 'xxxtoys', +'xxxvideo', 'xxxvideos', 'xxxwomen', 'xxxx', 'xxxxx', 'xxxxxx', +'filthyfarm', 'adultcheck', 'erotic', 'mistresses', 'naughty', 'access', +'adult', 'amateur', 'amateurs', 'anal', 'analau', 'poker', +'anally', 'asian', 'swinging', 'ass', 'orgy', 'sexvideos', +'babe', 'babes', 'bare', 'glamour', 'casino', 'bed', +'vibrator', 'bikini', 'bisexual', 'blonde', 'breasted', 'breasts', +'busty', 'butts', 'candy', 'caning', 'caps', 'catholic', +'chained', 'chested', 'chubby', 'close-ups', 'collection', 'coupling', +'cucumber', 'doll', 'dolls', 'dolly', 'dominating', 'drinking', +'drunk', 'fat', 'feet', 'fingering', 'fishnet', 'flasher', +'footjob', 'foreplay', 'foreplaying', 'girlfriend', 'girlfriends', 'gymnast', +'hairy', 'holly', 'horse', 'housewife', 'houswife', 'insertion', +'insertions', 'interracial', 'jerka', 'juicy', 'kissing', 'kitty', +'lactating', 'ladyboy', 'lance', 'latina', 'latins', 'leather', +'legs', 'lesbian', 'lesbians', 'licking', 'lingerie', 'lubricants', +'master', 'mature', 'midget', 'minor', 'mistress', 'nude', +'older', 'olez', 'oral', 'panties', 'pantyhose', 'pedro', +'peeing', 'penetration', 'pics', 'pigtailed', 'pleasure', 'plump', +'plumper', 'poser', 'posers', 'poses', 'posing', 'prosecuted', +'punishment', 'reproducing', 'sex', 'shaved', 'shock', 'slave', +'sleeping', 'speculums', 'spread', 'spreading', 'squirting', 'stripper', +'stripping', 'swapping', 'thong', 'thumbs', 'topless', 'toying', +'trix', 'undressing', 'uniform', 'whipcream', 'brazzers', 'порно', +'порн', 'лесб', 'гей', 'геи', 'прон']; + +module.exports = XXX_BLOCK_WORDS; diff --git a/lib/content.js b/lib/content.js index f0431c2..59c6dea 100644 --- a/lib/content.js +++ b/lib/content.js @@ -173,6 +173,24 @@ const ExtesionBase = { const ContentTypeProp = 'contentType'; const ContentCategoryProp = 'contentCategory'; +const XXX_BLOCK_WORDS = require('./bad-words'); + +const detectSubCategory = (torrent, files, typesPriority, contentType) => { + let name = torrent.name.toLowerCase() + + // блокируем порнографию + if(contentType == ContentTypes.VIDEO) + { + let splitName = name.split(/[`~!@#$%^&*()\]\[{}.,+?/\\;:\-_' "|]/); + splitName.some((word) => { + if (XXX_BLOCK_WORDS.some(function(v) { return word == v; })) { + torrent[ContentCategoryProp] = 'xxx'; + } + return torrent[ContentCategoryProp] == 'xxx'; + }) + } +} + const fileDetect = (file) => { let name = file.path.split('/').pop(); let extension = name.split('.').pop(); @@ -180,13 +198,12 @@ const fileDetect = (file) => { return; if(extension.length == 0) return; + extension = extension.toLowerCase(); return ExtesionBase[extension]; } const torrentTypeDetect = (torrent, files) => { - let name = torrent.name; - let typesPriority = {}; for(let i = 0; i < files.length; i++) { @@ -205,6 +222,8 @@ const torrentTypeDetect = (torrent, files) => { }); if(priority.length > 0) torrent[ContentTypeProp] = priority[0]; + + detectSubCategory(torrent, files, typesPriority, torrent[ContentTypeProp]); } module.exports = torrentTypeDetect; \ No newline at end of file diff --git a/src/recent-torrents.js b/src/recent-torrents.js index 3aae028..c54a8ac 100644 --- a/src/recent-torrents.js +++ b/src/recent-torrents.js @@ -13,7 +13,9 @@ return (