исправлено отображение на ie

This commit is contained in:
Alexey Kasyanchuk
2017-02-03 12:29:51 +03:00
parent fae2eda683
commit 80e9583395
13 changed files with 6 additions and 6 deletions

252
src/bad-words.js Normal file
View File

@ -0,0 +1,252 @@
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', 'damateur', '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',
'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', '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',
'mature', 'midget', 'minor', 'mistress', 'nude',
'older', 'olez', 'oral', 'panties', 'pantyhose', 'pedro',
'peeing', 'penetration', 'pigtailed', 'pleasure', 'plump',
'plumper', 'poser', 'posers', 'poses', 'posing', 'prosecuted',
'punishment', 'reproducing', 'sex', 'shaved', 'shock', 'slave',
'sleeping', 'speculums', 'spread', 'spreading', 'squirting', 'stripper',
'stripping', 'swapping', 'thong', 'topless', 'toying',
'trix', 'undressing', 'uniform', 'whipcream', 'brazzers', 'порно',
'порн', 'лесб', 'гей', 'геи', 'прон', 'catgoddess', 'gracel', 'fatman', 'falko', 'pthc',
'ptsc', 'yukikax', 'ls-models', '3yo', '4yo', '5yo', '6yo', '7yo', '8yo', '9yo',
'10yo', '11yo', '12yo', '13yo', '14yo', '15yo', '16yo'
];
module.exports = XXX_BLOCK_WORDS;

312
src/content.js Normal file
View File

@ -0,0 +1,312 @@
const ContentTypes = {
VIDEO: 'video',
AUDIO: 'audio',
PICTURES: 'pictures',
BOOKS: 'books',
APPLICATION: 'application',
ARCHIVE: 'archive',
DISC: 'disc',
}
const ExtesionBase = {
webm: ContentTypes.VIDEO,
mkv: ContentTypes.VIDEO,
flv: ContentTypes.VIDEO,
vob: ContentTypes.VIDEO,
ogv: ContentTypes.VIDEO,
drc: ContentTypes.VIDEO,
mng: ContentTypes.VIDEO,
avi: ContentTypes.VIDEO,
mov: ContentTypes.VIDEO,
qt: ContentTypes.VIDEO,
wmv: ContentTypes.VIDEO,
yuv: ContentTypes.VIDEO,
rm: ContentTypes.VIDEO,
rmvb: ContentTypes.VIDEO,
asf: ContentTypes.VIDEO,
amv: ContentTypes.VIDEO,
mp4: ContentTypes.VIDEO,
m4p: ContentTypes.VIDEO,
m4v: ContentTypes.VIDEO,
mpg: ContentTypes.VIDEO,
mpeg: ContentTypes.VIDEO,
mpv: ContentTypes.VIDEO,
svi: ContentTypes.VIDEO,
'3gp': ContentTypes.VIDEO,
'3g2': ContentTypes.VIDEO,
mxf: ContentTypes.VIDEO,
roq: ContentTypes.VIDEO,
nsv: ContentTypes.VIDEO,
f4v: ContentTypes.VIDEO,
ts: ContentTypes.VIDEO,
divx: ContentTypes.VIDEO,
m2ts: ContentTypes.VIDEO,
aa: ContentTypes.AUDIO,
aac: ContentTypes.AUDIO,
aax: ContentTypes.AUDIO,
act: ContentTypes.AUDIO,
aiff: ContentTypes.AUDIO,
amr: ContentTypes.AUDIO,
ape: ContentTypes.AUDIO,
au: ContentTypes.AUDIO,
awb: ContentTypes.AUDIO,
dct: ContentTypes.AUDIO,
dss: ContentTypes.AUDIO,
dvf: ContentTypes.AUDIO,
flac: ContentTypes.AUDIO,
gsm: ContentTypes.AUDIO,
iklax: ContentTypes.AUDIO,
ivs: ContentTypes.AUDIO,
m4a: ContentTypes.AUDIO,
mmf: ContentTypes.AUDIO,
mp3: ContentTypes.AUDIO,
mpc: ContentTypes.AUDIO,
msv: ContentTypes.AUDIO,
ogg: ContentTypes.AUDIO,
oga: ContentTypes.AUDIO,
opus: ContentTypes.AUDIO,
rm: ContentTypes.AUDIO,
ra: ContentTypes.AUDIO,
raw: ContentTypes.AUDIO,
sln: ContentTypes.AUDIO,
tta: ContentTypes.AUDIO,
vox: ContentTypes.AUDIO,
wav: ContentTypes.AUDIO,
wma: ContentTypes.AUDIO,
wv: ContentTypes.AUDIO,
ac3: ContentTypes.AUDIO,
jpg: ContentTypes.PICTURES,
jpeg: ContentTypes.PICTURES,
exif: ContentTypes.PICTURES,
gif: ContentTypes.PICTURES,
tiff: ContentTypes.PICTURES,
bmp: ContentTypes.PICTURES,
png: ContentTypes.PICTURES,
ppm: ContentTypes.PICTURES,
pgm: ContentTypes.PICTURES,
pbm: ContentTypes.PICTURES,
pnm: ContentTypes.PICTURES,
webp: ContentTypes.PICTURES,
heif: ContentTypes.PICTURES,
bpg: ContentTypes.PICTURES,
ico: ContentTypes.PICTURES,
tga: ContentTypes.PICTURES,
cd5: ContentTypes.PICTURES,
deep: ContentTypes.PICTURES,
ecw: ContentTypes.PICTURES,
fits: ContentTypes.PICTURES,
flif: ContentTypes.PICTURES,
ilbm: ContentTypes.PICTURES,
img: ContentTypes.PICTURES,
nrrd: ContentTypes.PICTURES,
pam: ContentTypes.PICTURES,
pcx: ContentTypes.PICTURES,
pgf: ContentTypes.PICTURES,
sgi: ContentTypes.PICTURES,
sid: ContentTypes.PICTURES,
vicar: ContentTypes.PICTURES,
psd: ContentTypes.PICTURES,
cpt: ContentTypes.PICTURES,
psp: ContentTypes.PICTURES,
xcf: ContentTypes.PICTURES,
svg: ContentTypes.PICTURES,
cgm: ContentTypes.PICTURES,
cdr: ContentTypes.PICTURES,
hvif: ContentTypes.PICTURES,
odg: ContentTypes.PICTURES,
vml: ContentTypes.PICTURES,
wmf: ContentTypes.PICTURES,
cbr: ContentTypes.BOOKS,
cbz: ContentTypes.BOOKS,
cb7: ContentTypes.BOOKS,
cbt: ContentTypes.BOOKS,
cba: ContentTypes.BOOKS,
lrf: ContentTypes.BOOKS,
lrx: ContentTypes.BOOKS,
chm: ContentTypes.BOOKS,
djvu: ContentTypes.BOOKS,
doc: ContentTypes.BOOKS,
docx: ContentTypes.BOOKS,
epub: ContentTypes.BOOKS,
pdf: ContentTypes.BOOKS,
pdb: ContentTypes.BOOKS,
fb2: ContentTypes.BOOKS,
xeb: ContentTypes.BOOKS,
ceb: ContentTypes.BOOKS,
htm: ContentTypes.BOOKS,
html: ContentTypes.BOOKS,
css: ContentTypes.BOOKS,
txt: ContentTypes.BOOKS,
ibooks: ContentTypes.BOOKS,
inf: ContentTypes.BOOKS,
azw3: ContentTypes.BOOKS,
azw: ContentTypes.BOOKS,
kf8: ContentTypes.BOOKS,
lit: ContentTypes.BOOKS,
prc: ContentTypes.BOOKS,
mobi: ContentTypes.BOOKS,
opf: ContentTypes.BOOKS,
txt: ContentTypes.BOOKS,
pdb: ContentTypes.BOOKS,
rtf: ContentTypes.BOOKS,
pdg: ContentTypes.BOOKS,
xml: ContentTypes.BOOKS,
tr2: ContentTypes.BOOKS,
tr3: ContentTypes.BOOKS,
oxps: ContentTypes.BOOKS,
xps: ContentTypes.BOOKS,
exe: ContentTypes.APPLICATION,
apk: ContentTypes.APPLICATION,
rpm: ContentTypes.APPLICATION,
deb: ContentTypes.APPLICATION,
jar: ContentTypes.APPLICATION,
bundle: ContentTypes.APPLICATION,
com: ContentTypes.APPLICATION,
so: ContentTypes.APPLICATION,
dll: ContentTypes.APPLICATION,
elf: ContentTypes.APPLICATION,
ipa: ContentTypes.APPLICATION,
xbe: ContentTypes.APPLICATION,
xap: ContentTypes.APPLICATION,
a: ContentTypes.APPLICATION,
bin: ContentTypes.APPLICATION,
msi: ContentTypes.APPLICATION,
dmg: ContentTypes.APPLICATION,
pbi: ContentTypes.APPLICATION,
tar: ContentTypes.ARCHIVE,
gz: ContentTypes.ARCHIVE,
bz2: ContentTypes.ARCHIVE,
rar: ContentTypes.ARCHIVE,
zip: ContentTypes.ARCHIVE,
lz: ContentTypes.ARCHIVE,
lzma: ContentTypes.ARCHIVE,
lzo: ContentTypes.ARCHIVE,
rz: ContentTypes.ARCHIVE,
sfark: ContentTypes.ARCHIVE,
sf2: ContentTypes.ARCHIVE,
xz: ContentTypes.ARCHIVE,
z: ContentTypes.ARCHIVE,
'7z': ContentTypes.ARCHIVE,
s7z: ContentTypes.ARCHIVE,
ace: ContentTypes.ARCHIVE,
afa: ContentTypes.ARCHIVE,
arc: ContentTypes.ARCHIVE,
ace: ContentTypes.ARCHIVE,
arj: ContentTypes.ARCHIVE,
b1: ContentTypes.ARCHIVE,
car: ContentTypes.ARCHIVE,
cfs: ContentTypes.ARCHIVE,
cpt: ContentTypes.ARCHIVE,
dar: ContentTypes.ARCHIVE,
ice: ContentTypes.ARCHIVE,
sfx: ContentTypes.ARCHIVE,
shk: ContentTypes.ARCHIVE,
sit: ContentTypes.ARCHIVE,
tgz: ContentTypes.ARCHIVE,
xar: ContentTypes.ARCHIVE,
zz: ContentTypes.ARCHIVE,
iso: ContentTypes.DISC,
mdf: ContentTypes.DISC,
mds: ContentTypes.DISC,
nrg: ContentTypes.DISC,
ima: ContentTypes.DISC,
imz: ContentTypes.DISC,
mdx: ContentTypes.DISC,
uif: ContentTypes.DISC,
isz: ContentTypes.DISC,
daa: ContentTypes.DISC,
cso: ContentTypes.DISC,
cue: ContentTypes.DISC,
fvd: ContentTypes.DISC,
ndif: ContentTypes.DISC,
udif: ContentTypes.DISC,
vdi: ContentTypes.DISC,
vhd: ContentTypes.DISC,
wim: ContentTypes.DISC,
};
const ContentTypeProp = 'contentType';
const ContentCategoryProp = 'contentCategory';
const XXX_BLOCK_WORDS = require('./bad-words');
// блокируем порнографию
const blockBadName = (torrent, name) => {
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 detectSubCategory = (torrent, files, typesPriority, contentType) => {
let name = torrent.name.toLowerCase()
// блокируем порнографию
if(contentType == ContentTypes.VIDEO || contentType == ContentTypes.PICTURES || contentType == ContentTypes.ARCHIVE)
{
blockBadName(torrent, name);
// блокируем так по названию файлов
if(torrent[ContentCategoryProp] != 'xxx')
{
files.some(({path}) => {
let fileCheck = path.toLowerCase().split('.');
if(fileCheck.length > 1)
fileCheck.pop(); // убираем расширение на конце
fileCheck = fileCheck.join('.');
blockBadName(torrent, fileCheck);
if(torrent[ContentCategoryProp] == 'xxx')
{
console.log('block because file ' + path);
}
return torrent[ContentCategoryProp] == 'xxx';
})
}
}
}
const fileTypeDetect = (file) => {
let name = file.path.split('/').pop();
let extension = name.split('.').pop();
if(name.length == 0)
return;
if(extension.length == 0)
return;
extension = extension.toLowerCase();
return ExtesionBase[extension];
}
const torrentTypeDetect = (torrent, files) => {
let typesPriority = {};
for(let i = 0; i < files.length; i++) {
let file = files[i];
let type = fileTypeDetect(file)
if(type) {
if(!typesPriority[type])
typesPriority[type] = 0.;
typesPriority[type] += file.size / torrent.size;
}
}
let priority = Object.keys(typesPriority).sort(function(a, b){
return typesPriority[b] - typesPriority[a]
});
if(priority.length > 0)
torrent[ContentTypeProp] = priority[0];
detectSubCategory(torrent, files, typesPriority, torrent[ContentTypeProp]);
}
module.exports = {torrentTypeDetect, fileTypeDetect};

17
src/rating.js Normal file
View File

@ -0,0 +1,17 @@
function biasValuation(count, min, avrg, avrg_const)
{
return ((count / (count + min)) * avrg) + ((min / (min + count)) * avrg_const);
}
function rating(good, bad){
if (good + bad > 0)
{
return biasValuation(good + bad, 9, good / (good + bad), 0.45);
}
else
{
return 0;
}
}
module.exports = rating;

View File

@ -16,9 +16,9 @@ import NoImage from './images/no-image-icon.png'
var moment = require('moment');
import RefreshIndicator from 'material-ui/RefreshIndicator';
let rating = require('../lib/rating');
let rating = require('./rating');
import LinearProgress from 'material-ui/LinearProgress';
import {fileTypeDetect} from '../lib/content'
import {fileTypeDetect} from './content'
import {contentIcon} from './torrent'
let buildFilesTree = (filesList) => {