Compare commits
237 Commits
whalemembe
...
master
Author | SHA1 | Date |
---|---|---|
|
a114211e87 | |
|
26185ba1cb | |
|
0063c55e34 | |
|
722aca54e7 | |
|
9e44418690 | |
|
6636330e11 | |
|
3e4c82bd23 | |
|
df941b0021 | |
|
96a5e5b693 | |
|
23f76fd1be | |
|
ffea90b5e8 | |
|
61f1ad6a34 | |
|
e096a6c4a4 | |
|
0e69898c32 | |
|
8194c1c8ea | |
|
7cdcf0d7ba | |
|
65bf8541a0 | |
|
a12b88d6cf | |
|
ceed11cf7e | |
|
fbfd52e831 | |
|
909dc36569 | |
|
639ad6c79e | |
|
32c89bcdb6 | |
|
844c1d87a6 | |
|
65dedc80ed | |
|
37106e9230 | |
|
2ac45c7b6d | |
|
94d48b253a | |
|
2da46c8c07 | |
|
ca078bbabc | |
|
2cf5a9efe9 | |
|
0cf43f6eab | |
|
175c76aa89 | |
|
520f12975e | |
|
e7c9b78827 | |
|
255775a019 | |
|
b679ae95f2 | |
|
6d69f098f5 | |
|
b7535a3151 | |
|
15896d4c5b | |
|
c110295413 | |
|
c5545aae11 | |
|
8894a1319e | |
|
a487f21059 | |
|
5ae2f8e3f4 | |
|
2c58dfe426 | |
|
47eb91a7e8 | |
|
90027d12fb | |
|
c78c12929a | |
|
9eca44795f | |
|
949136f465 | |
|
341c6aed1e | |
|
54d4fbdddc | |
|
96a075cb2d | |
|
b45a93194b | |
|
0fe6a1119a | |
|
928650b602 | |
|
eb519ef474 | |
|
1aa876acd9 | |
|
fd39fa93d9 | |
|
df820e6e71 | |
|
5edf781da7 | |
|
ea02ec3943 | |
|
070ef182db | |
|
d80ec2e6a6 | |
|
707c8170bd | |
|
edf1b64624 | |
|
19121f5a3f | |
|
2df3213936 | |
|
8fdc313659 | |
|
b5b09a7dce | |
|
24cd92807c | |
|
29ab61e713 | |
|
c2fa571aa0 | |
|
bed267b0b0 | |
|
e24012f446 | |
|
8d3f1c13cf | |
|
d7ff6cee08 | |
|
8b89119dfb | |
|
81d2217fdc | |
|
928f872044 | |
|
01a8a24db6 | |
|
87adc0472e | |
|
712ad06ed4 | |
|
4f247d23c4 | |
|
790e77fc1f | |
|
50af67e3c6 | |
|
5b12a553bf | |
|
8778ea1275 | |
|
260e02a06f | |
|
c307140db3 | |
|
8790992ed3 | |
|
783712ab2f | |
|
21e0958a96 | |
|
eea8d6cc68 | |
|
1b0101f20a | |
|
a525d9b200 | |
|
2c2d7fdac8 | |
|
95460c98a7 | |
|
6f36f1c7d7 | |
|
0d86a718c6 | |
|
a62b026e2b | |
|
5374d6fd39 | |
|
d89ced2e6e | |
|
ba11dc4252 | |
|
5607930184 | |
|
b8e9431225 | |
|
5ed408226d | |
|
8cc10b084d | |
|
6e93528cca | |
|
0c93ce2a17 | |
|
24c15d9387 | |
|
f0d12a4297 | |
|
1163b010fb | |
|
0ac8ae4d5a | |
|
393cf38299 | |
|
85b5b8203e | |
|
1950dd2e62 | |
|
91e31e8ce7 | |
|
d3f15a6a2b | |
|
b41317706f | |
|
fd58c12fee | |
|
efab316343 | |
|
7cb41c7c5d | |
|
6b1fec4b30 | |
|
a9a6e89d1f | |
|
3e17021057 | |
|
6e1c4a9de8 | |
|
cab1823f81 | |
|
6f5b3b257d | |
|
51bd1bff14 | |
|
6cc872821c | |
|
8feeb0f858 | |
|
d877c03180 | |
|
e8f41accb1 | |
|
e5a1bfc846 | |
|
ac51382d8b | |
|
a740c8b046 | |
|
717c31815b | |
|
668221dafd | |
|
f09a94cc6a | |
|
9e7d46f081 | |
|
efcbe2b1a1 | |
|
ccc6d1c10c | |
|
87afb4abe3 | |
|
b1353f3bc3 | |
|
35fc2370f0 | |
|
22400ed954 | |
|
f067a309a1 | |
|
6590e457b5 | |
|
386d464225 | |
|
3aa542ab98 | |
|
c5809bc289 | |
|
73676b8628 | |
|
035312bd9c | |
|
856a5f4580 | |
|
43134e0c8d | |
|
1a74bdb68a | |
|
c7947322c1 | |
|
1c933c2f29 | |
|
4a4dfde73e | |
|
4e946b4db6 | |
|
48c41b11e5 | |
|
07cca4315b | |
|
11be4a2cb9 | |
|
80d8a9a830 | |
|
e61411ca44 | |
|
22144d3724 | |
|
80e5d7828a | |
|
893a3be393 | |
|
fc6bb2feda | |
|
8aeee8eea6 | |
|
91574d2e5b | |
|
d3a978c501 | |
|
f81ec6f393 | |
|
a989bcb169 | |
|
596597e0e3 | |
|
33bad4466e | |
|
bca677b0a8 | |
|
958c6d83fa | |
|
0516b0cee6 | |
|
acd29a1451 | |
|
d0a4d06cd3 | |
|
b8e7029cef | |
|
325e8ea77d | |
|
ad9113f624 | |
|
215528171d | |
|
889a13f206 | |
|
4925295798 | |
|
c69251f22a | |
|
c62a529e76 | |
|
4d8ef20735 | |
|
ba55179ac2 | |
|
1c26da447a | |
|
1e03aa37b7 | |
|
c581bea185 | |
|
857771e5c6 | |
|
1e96c23c4c | |
|
56163f2b3d | |
|
7fb24cb31b | |
|
4a1a802740 | |
|
36a51f0491 | |
|
f11a009395 | |
|
188d67e8eb | |
|
1764831f47 | |
|
6d1245ca85 | |
|
fba788a510 | |
|
405db5e002 | |
|
cb9368376d | |
|
8c37071145 | |
|
54b2cd1209 | |
|
f5d76e47b1 | |
|
a0ed434360 | |
|
00653a7cab | |
|
13b50596e4 | |
|
894eaeb43f | |
|
2a4b0e9636 | |
|
c849d097e1 | |
|
644226531e | |
|
129b03eb5a | |
|
192145c948 | |
|
ab46e8558d | |
|
b6a402d964 | |
|
74fbe29db5 | |
|
e16fb2e57a | |
|
c2afa571bf | |
|
cc67532fd9 | |
|
f5fa4b79a6 | |
|
43752cef92 | |
|
8b0b340031 | |
|
91bd0c42be | |
|
fb88e41087 | |
|
7db724eda4 | |
|
7f4e4df9e3 | |
|
f956f0e112 | |
|
43d85bcd34 | |
|
0f05abcd27 |
|
@ -11,9 +11,12 @@
|
|||
"no-tabs": "off",
|
||||
"no-unused-vars": ["error", {"argsIgnorePattern": "^_"}],
|
||||
"no-console": 0,
|
||||
"arrow-body-style": 0,
|
||||
"default-param-last": 0,
|
||||
"template-curly-spacing": "off",
|
||||
"max-len": 0,
|
||||
"func-names": 0,
|
||||
"space-before-function-paren": 0,
|
||||
"vue/no-v-html": 0,
|
||||
"vue/html-indent": ["error", "tab"],
|
||||
"vue/multiline-html-element-content-newline": 0,
|
||||
|
|
|
@ -9,8 +9,10 @@ public/js/*
|
|||
public/css/*
|
||||
public/img/tags
|
||||
public/img/logos/
|
||||
public/banners
|
||||
config/*
|
||||
!config/default.js
|
||||
!config/analvids.json
|
||||
assets/js/config/
|
||||
!assets/js/config/default.js
|
||||
/export*
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "common"]
|
||||
path = common
|
||||
url = git@unknown.name:DebaucheryLibrarian/traxxx-common.git
|
11903
analvids-studios.json
|
@ -0,0 +1,4 @@
|
|||
<!-- Generated by IcoMoon.io -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path d="M11.445 0.055l-8.945 8.945-2.5 7 6.995-2.5 8.95-8.945c0.5-2-2.5-5-4.5-4.5zM4.5 11l-1-1 8.5-8.5 1 1-8.5 8.5z"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 264 B |
|
@ -0,0 +1,4 @@
|
|||
<!-- Generated by IcoMoon.io -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path d="M11.91 0c-0.159 0-0.315 0.018-0.465 0.055l-8.945 8.945-2.5 7 6.995-2.5 8.95-8.945c0.462-1.85-2.069-4.555-4.035-4.555zM6.525 12.025l-2.553-2.553 7.5-7.5 2.555 2.555-7.502 7.498z"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 333 B |
|
@ -0,0 +1,5 @@
|
|||
<!-- Generated by IcoMoon.io -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path d="M12 8.5v5.5h-10v-10h5.5l2-2h-8c-0.825 0-1.5 0.675-1.5 1.5v11c0 0.825 0.675 1.5 1.5 1.5h11c0.825 0 1.5-0.675 1.5-1.5v-8l-2 2z"></path>
|
||||
<path d="M13.5 0l-9.5 9.5v2.5h2.5l9.5-9.5c0-1.5-1-2.5-2.5-2.5z"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 353 B |
|
@ -0,0 +1,5 @@
|
|||
<!-- Generated by IcoMoon.io -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path d="M12 8.5v5.5h-10v-10h5.5l2-2h-8c-0.825 0-1.5 0.675-1.5 1.5v11c0 0.825 0.675 1.5 1.5 1.5h11c0.825 0 1.5-0.675 1.5-1.5v-8l-2 2z"></path>
|
||||
<path d="M13.5 0l-9.5 9.5v2.5h2.5l9.5-9.5c0-1.5-1-2.5-2.5-2.5zM6.5 10l-0.75-0.75 7.5-7.5 0.75 0.75-7.5 7.5z"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 398 B |
|
@ -39,7 +39,7 @@ function initReleasesActions(store, router) {
|
|||
before,
|
||||
orderBy,
|
||||
exclude: store.state.ui.tagFilter,
|
||||
batchShowcased: range === 'new' ? true : [true, false],
|
||||
batchShowcased: true,
|
||||
});
|
||||
|
||||
return {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit dc00c3d58af2c23530b8b3cb6704f3860fdd7d0f
|
|
@ -0,0 +1,749 @@
|
|||
[
|
||||
"50tinhaxxx",
|
||||
"aaronrockxxx",
|
||||
"adalynnx",
|
||||
"adelinelafouinestudio",
|
||||
"adiraallure",
|
||||
"agathaludovinostudio",
|
||||
"ajfreshxxxstudios",
|
||||
"alekskseny",
|
||||
"alexahotwifexxx",
|
||||
"alexamoore",
|
||||
"alexcontestudio",
|
||||
"alexislove",
|
||||
"alexkanexxxstudio",
|
||||
"alexromerostudio",
|
||||
"alexxavice",
|
||||
"alicehi",
|
||||
"alicelins",
|
||||
"alicewolfsbanestudio",
|
||||
"alicexjan",
|
||||
"aliciasmith",
|
||||
"alinenovak",
|
||||
"alisalovely",
|
||||
"alixlynx",
|
||||
"allaboutsweetbunny",
|
||||
"allamateurvideo",
|
||||
"allandelon",
|
||||
"altofficial",
|
||||
"altperversion",
|
||||
"amelielei",
|
||||
"americanorgasm",
|
||||
"amopornobr",
|
||||
"amorenequipo",
|
||||
"amypayme",
|
||||
"analboat",
|
||||
"analbrazil",
|
||||
"analgonzo",
|
||||
"analmaniacsbyladydee",
|
||||
"analpantyhoseaddicts",
|
||||
"analpornworld",
|
||||
"analvidsabuseme",
|
||||
"analvidsbaitbus",
|
||||
"analvidsbarebackattack",
|
||||
"analvidsbarebackcasting",
|
||||
"analvidsblackloads",
|
||||
"analvidsblackpatrol",
|
||||
"analvidsblacksonmoms",
|
||||
"analvidsbluepillmen",
|
||||
"analvidsbrandibelle",
|
||||
"analvidsbustyadventures",
|
||||
"analvidscfnmshow",
|
||||
"analvidscollegerules",
|
||||
"analvidsculioneros",
|
||||
"analvidsdancingbear",
|
||||
"analvidsdontfuckmydaughter",
|
||||
"analvidsexbf",
|
||||
"analvidsfilthyfamily",
|
||||
"analvidsfuckysucky",
|
||||
"analvidsfutanari",
|
||||
"analvidsgirlsgonewild",
|
||||
"analvidsgostosasvideo",
|
||||
"analvidshazeher",
|
||||
"analvidshazehim",
|
||||
"analvidshentaied",
|
||||
"analvidsimmorallive",
|
||||
"analvidsitsgonnahurt",
|
||||
"analvidsjayspov",
|
||||
"analvidsmiakhalifa",
|
||||
"analvidsmranal",
|
||||
"analvidsmygf",
|
||||
"analvidsoutinpublic",
|
||||
"analvidspoundhisass",
|
||||
"analvidsprivateblack",
|
||||
"analvidsprojectcitybus",
|
||||
"analvidspublicinvasion",
|
||||
"analvidsrichardmannsworld",
|
||||
"analvidsrubhim",
|
||||
"analvidssausageparty",
|
||||
"analvidssexbusters",
|
||||
"analvidstaylorbow",
|
||||
"analvidstestedefudelidade",
|
||||
"analvidsthughunter",
|
||||
"analvidsungloryhole",
|
||||
"analvidsxxxpawn",
|
||||
"anastasiagree",
|
||||
"andrealatina",
|
||||
"andycasanova",
|
||||
"angelsmit",
|
||||
"angelwickysproduction",
|
||||
"angieelif",
|
||||
"angielynx",
|
||||
"angyamazonstudio",
|
||||
"aniakinski",
|
||||
"anissakate",
|
||||
"anitapeidastudio",
|
||||
"annamole",
|
||||
"annasky",
|
||||
"anneswinger",
|
||||
"annykitty",
|
||||
"anytkalove",
|
||||
"aprilbloom",
|
||||
"ardientes69",
|
||||
"argendanaofficial",
|
||||
"ariasun",
|
||||
"aryagrander",
|
||||
"ashleyhd",
|
||||
"ashleymason973studio",
|
||||
"assablanca",
|
||||
"assphaltrunway",
|
||||
"asukaa",
|
||||
"atenea88oficial",
|
||||
"aurbeaurealstudio",
|
||||
"avagrey",
|
||||
"averyjanestudio",
|
||||
"axelreedproduction",
|
||||
"babilimaxxxstudio",
|
||||
"backalleytoonzstudio",
|
||||
"badanton",
|
||||
"badaroproductions",
|
||||
"badassbitchxx",
|
||||
"badbardotclub",
|
||||
"baileybase",
|
||||
"bangbros",
|
||||
"barbaraalves",
|
||||
"barebackbitchgril",
|
||||
"bazilhornydeer",
|
||||
"bazinga",
|
||||
"bbwblackbrazilian",
|
||||
"bbwmilfqueen",
|
||||
"bdsmmanga",
|
||||
"bellamur",
|
||||
"bestxcontent",
|
||||
"bethyourgirl",
|
||||
"biaruivinha",
|
||||
"bigassteens",
|
||||
"bigdaddyraw",
|
||||
"bigjohnnyxxx",
|
||||
"biglayla",
|
||||
"binhoted",
|
||||
"bisexcouplefamily",
|
||||
"bitchstudio",
|
||||
"bixbaestudio",
|
||||
"blackqueen",
|
||||
"blessexxx",
|
||||
"bluezao",
|
||||
"boliviahot",
|
||||
"bollocksdooodle",
|
||||
"boringkate",
|
||||
"borisschwarzstudio",
|
||||
"bradmontanastudio",
|
||||
"brebrew",
|
||||
"brianabanderasstudio",
|
||||
"briannadymond",
|
||||
"bsstudio",
|
||||
"btsofdesires",
|
||||
"buddhabangxxx",
|
||||
"bumbumgigante",
|
||||
"bustybella",
|
||||
"bustyworld",
|
||||
"butterloads",
|
||||
"camgirlsgonewild",
|
||||
"carlossimoes",
|
||||
"carolsquirter",
|
||||
"carrylight",
|
||||
"casalblackrj",
|
||||
"casalmattos",
|
||||
"casalporraloka",
|
||||
"casalsapecarj",
|
||||
"cassianacosta",
|
||||
"cassiedelisla",
|
||||
"castelvaniaporn",
|
||||
"castingadultfilm",
|
||||
"catalinacruz",
|
||||
"cedrikgarcia",
|
||||
"celineginger",
|
||||
"chameleonproduction",
|
||||
"chantalchannel",
|
||||
"cherryacid",
|
||||
"cherryaleksa",
|
||||
"cherryflowerxxx",
|
||||
"cherryontop",
|
||||
"cherryxlucky",
|
||||
"clarkeotstudio",
|
||||
"claudiasclips",
|
||||
"closeupfantasy",
|
||||
"clubanissakate",
|
||||
"clubcandyalexa",
|
||||
"clubedapernocas",
|
||||
"clubtmfr",
|
||||
"colexchurchstudio",
|
||||
"comerz",
|
||||
"coupleluna",
|
||||
"coupleotakucuckoldcasalotakucorno",
|
||||
"crazyfuck",
|
||||
"creampieclinic",
|
||||
"crisangelo",
|
||||
"crisanto999",
|
||||
"crunchboy",
|
||||
"cutiepiiechubby",
|
||||
"daddyenjoy",
|
||||
"damasevagabundos",
|
||||
"danaxmuscles",
|
||||
"dankreamer",
|
||||
"daphneelecerf",
|
||||
"darkberry101",
|
||||
"davidcaroll",
|
||||
"davidepicstudio",
|
||||
"davidperry",
|
||||
"deauxmastudio",
|
||||
"deniselevi",
|
||||
"denybarbie",
|
||||
"desihotcouple1",
|
||||
"devonleestudio",
|
||||
"diablexstudio",
|
||||
"diamond",
|
||||
"diamondsproduction",
|
||||
"diamondtvstudio",
|
||||
"dianazilli",
|
||||
"dickerector",
|
||||
"dickforstepsister",
|
||||
"dilaradelroba",
|
||||
"dinnigata",
|
||||
"dirtyvision",
|
||||
"discoliisa",
|
||||
"donteinfernostudio",
|
||||
"doriandelisla",
|
||||
"dotmenvideos",
|
||||
"dreaminskies",
|
||||
"dreamtranny",
|
||||
"drepra24",
|
||||
"dresden",
|
||||
"drisexy",
|
||||
"drlovestudio",
|
||||
"dvabitch",
|
||||
"dylanbrown",
|
||||
"eddiejaye",
|
||||
"edgracestudio",
|
||||
"elahotwife",
|
||||
"elivm",
|
||||
"elizabethhoney",
|
||||
"emodream1998",
|
||||
"epiphanyjones",
|
||||
"ericasweet69",
|
||||
"erinelectrastudio",
|
||||
"erosmastery",
|
||||
"estudioalarconsherly",
|
||||
"evaelfie",
|
||||
"evansjack",
|
||||
"fabriciolorenco",
|
||||
"facialcastingstudio",
|
||||
"faplex",
|
||||
"femboyevj",
|
||||
"ferreroanalexperience",
|
||||
"ferreromobilexxx",
|
||||
"fetishaura",
|
||||
"fetishbody",
|
||||
"fiftiweive69studio",
|
||||
"firstanalteensstudio",
|
||||
"firstgape",
|
||||
"fit18",
|
||||
"flamejade",
|
||||
"fleshgodxxx",
|
||||
"flirtsinfully",
|
||||
"fmodels",
|
||||
"focus",
|
||||
"freddygong",
|
||||
"fredosebastienopalacios",
|
||||
"frenchprod",
|
||||
"fucktotum",
|
||||
"fuckyoucracker",
|
||||
"gabyespecialistaemsexooral",
|
||||
"gabyhotstudio",
|
||||
"gallastudio",
|
||||
"gangbangchief",
|
||||
"garotosonfire",
|
||||
"gayfrenchpornamator",
|
||||
"gaypatrol",
|
||||
"gaypawn",
|
||||
"gaysight",
|
||||
"gaywire",
|
||||
"georgioelitaliano",
|
||||
"ggwnextgeneration",
|
||||
"giadasgh",
|
||||
"girlfriendsfilms",
|
||||
"girlsinthewild",
|
||||
"glassdeskproductions",
|
||||
"goddessizabel",
|
||||
"goddessjaim",
|
||||
"goldenbabes",
|
||||
"gonzoinbrazil",
|
||||
"gothcharlotte",
|
||||
"grabass",
|
||||
"gracelowdiestudio",
|
||||
"hairygonzo",
|
||||
"hannafallow",
|
||||
"hardbrazilestudio",
|
||||
"hardcorexmedia",
|
||||
"hardkinks",
|
||||
"hardpornworld",
|
||||
"harleenvanhynten",
|
||||
"harshpleasuremachine",
|
||||
"helenamoellerstudio",
|
||||
"herbalsommelier",
|
||||
"hexxgirlakarubyhexx",
|
||||
"heygrimystudio",
|
||||
"hidorirose",
|
||||
"highertheheels",
|
||||
"himeroseespuleta",
|
||||
"honourmaysmanorhouse",
|
||||
"hoodpecker",
|
||||
"hornybelle",
|
||||
"hornycosplay",
|
||||
"hosskado",
|
||||
"hotkittyaria",
|
||||
"hotlatinas",
|
||||
"hotwifelizstudios",
|
||||
"hotwifeteen18",
|
||||
"hpgproduction",
|
||||
"ieatpinktacoz",
|
||||
"infiltrateproxy",
|
||||
"innofsin",
|
||||
"irogeniastudio",
|
||||
"ivanamontanastudio",
|
||||
"ivylopez",
|
||||
"jackecah",
|
||||
"jackkallahari",
|
||||
"jadasparksofficial",
|
||||
"jamiefrenchproductions",
|
||||
"jannnasty1",
|
||||
"japanpornjunky",
|
||||
"jasonsteelxxxstudio",
|
||||
"jaxslayhertv",
|
||||
"jbstudio",
|
||||
"jeffsmodels",
|
||||
"jennanoelle",
|
||||
"jennanoellestudio",
|
||||
"jessaerosaexsavoryfather",
|
||||
"jessiq",
|
||||
"jesusreyes",
|
||||
"jhennicris",
|
||||
"jhonyshootstudio",
|
||||
"jimmybudstudio",
|
||||
"jimmydeeznuts",
|
||||
"joaoosafado",
|
||||
"johnnylove",
|
||||
"johnpricexo",
|
||||
"jolielyon",
|
||||
"jonathanjordanstudio",
|
||||
"jonjon",
|
||||
"josephalmeida900",
|
||||
"josephbritadeira",
|
||||
"josephinejackson",
|
||||
"joshualewis",
|
||||
"josslescafsexcoachnatural",
|
||||
"joycardozo",
|
||||
"jsexycouple17",
|
||||
"juizzypros",
|
||||
"juliakissy",
|
||||
"julliamoon",
|
||||
"kaciecastle",
|
||||
"kaiiaeve",
|
||||
"kamgirlovebycandyfeng",
|
||||
"karamelnayapussy",
|
||||
"karinaspalacios",
|
||||
"karleegrey",
|
||||
"karolla",
|
||||
"katerichstudio",
|
||||
"kateutopia",
|
||||
"katymilligan",
|
||||
"keiracroft",
|
||||
"kendracolestudio",
|
||||
"kenzifoxx",
|
||||
"keokistar",
|
||||
"kevinisssa",
|
||||
"kevinwhite",
|
||||
"kiaranightstudio",
|
||||
"kidinhoeasgatas",
|
||||
"kikichiqui",
|
||||
"kikikawaii",
|
||||
"kiraqueenstudio",
|
||||
"kirasclips",
|
||||
"kisicaxx",
|
||||
"kittyblair",
|
||||
"klaimmora",
|
||||
"kokinoosspace",
|
||||
"krisshotwife",
|
||||
"krisskiss",
|
||||
"kristyblackraw",
|
||||
"krystaldavis",
|
||||
"kylieandmatt",
|
||||
"ladylazarus",
|
||||
"ladymilf",
|
||||
"ladysnowbrasil",
|
||||
"lafranceapoil",
|
||||
"lallapotira",
|
||||
"lanaanalise",
|
||||
"lanared",
|
||||
"laniam60studio",
|
||||
"laradesantisstudio",
|
||||
"laralee",
|
||||
"latinhotstudio",
|
||||
"latinmodelxxx",
|
||||
"lauryangel",
|
||||
"lavernaqueen",
|
||||
"leabloomstudio",
|
||||
"leilanilei",
|
||||
"leoogro",
|
||||
"leriaglow",
|
||||
"letyhowl",
|
||||
"lexisexgamestudio",
|
||||
"liddytyler",
|
||||
"lilystrong",
|
||||
"lissaross",
|
||||
"littlepucksplayhouse",
|
||||
"lizzylaynezentertainment",
|
||||
"lmcprodstudio",
|
||||
"lordkenobi",
|
||||
"louiseleestudio",
|
||||
"loupanstudio",
|
||||
"loveadventures",
|
||||
"lovelydove",
|
||||
"lucasramos",
|
||||
"lukaszaad",
|
||||
"lukecooperx",
|
||||
"lukespov",
|
||||
"lunarivalmlrproduction",
|
||||
"lunasapphire",
|
||||
"lustfeed",
|
||||
"lutrosworld",
|
||||
"lydiablackstudio",
|
||||
"madelaineroussetproduction",
|
||||
"madinaalexanderstudio",
|
||||
"magicsstars",
|
||||
"majestynasty",
|
||||
"mamasitasavage",
|
||||
"mandymayxtubertv",
|
||||
"mandyrhea",
|
||||
"manpavan",
|
||||
"manscave",
|
||||
"maraswanstudio",
|
||||
"marcellobravo",
|
||||
"marcocidade",
|
||||
"marcuslondoncumfordaddy",
|
||||
"mariechell",
|
||||
"marijhuana",
|
||||
"mariskaxproductions",
|
||||
"marleymaddenxxstudio",
|
||||
"marsbarcelona",
|
||||
"marsiannaamoon",
|
||||
"maryrockfans",
|
||||
"marywet",
|
||||
"masantosoficial",
|
||||
"mascaradorio",
|
||||
"mattosmovies",
|
||||
"mattyandaiden",
|
||||
"maxcartelstudio",
|
||||
"maximogarcia",
|
||||
"maxrajoysquad",
|
||||
"mayakemi",
|
||||
"meganfiore",
|
||||
"megaplaygirl",
|
||||
"melenamariarya",
|
||||
"melinamay",
|
||||
"mentelocodotadoestudio",
|
||||
"messalinagod",
|
||||
"miamolotov",
|
||||
"miax",
|
||||
"milfliciousstudio",
|
||||
"minotaurstudio",
|
||||
"mirawair",
|
||||
"missbatstudio",
|
||||
"misselliemouse",
|
||||
"misslexis",
|
||||
"misssexychery",
|
||||
"misssvikkistudio",
|
||||
"mistressnoir",
|
||||
"mistresspriest",
|
||||
"mixedstudios",
|
||||
"mlrstudio",
|
||||
"mmm100studio",
|
||||
"mmvideo",
|
||||
"modeldominant",
|
||||
"mollyredwolf",
|
||||
"momoka",
|
||||
"monicalima",
|
||||
"monikafoxxxstudio",
|
||||
"montycash",
|
||||
"mooneysweety",
|
||||
"mrandersonsanalacademy",
|
||||
"mrnuttz",
|
||||
"mrpussylicking",
|
||||
"msangelluxxx",
|
||||
"mugurporn",
|
||||
"mundocorno",
|
||||
"murkovski",
|
||||
"myaquinnstudio",
|
||||
"mybangvan",
|
||||
"mybigblackdickpov",
|
||||
"myclearsky",
|
||||
"mydirtydesires",
|
||||
"myfilthydaddy",
|
||||
"myhornyfamily",
|
||||
"mylaangel",
|
||||
"myschoollife",
|
||||
"mysteriousproductionsstudio",
|
||||
"mywifeluna",
|
||||
"nadenasty",
|
||||
"nadiawhitestudio",
|
||||
"nadjalapiedrastudio",
|
||||
"nagyszandi",
|
||||
"naijaolosho",
|
||||
"nandoreyxxx",
|
||||
"nashidni",
|
||||
"nastymedia",
|
||||
"nataliachoyzstudio",
|
||||
"nataliastartvstudio",
|
||||
"nataliedreamingmoon",
|
||||
"natasweet",
|
||||
"nathanssluts",
|
||||
"naughtyjessica",
|
||||
"nayarastripperstudio",
|
||||
"negrotopdeliciaa",
|
||||
"nellykentstudio",
|
||||
"nextdoornurs3",
|
||||
"nicheparade",
|
||||
"nicisdream",
|
||||
"nicolettaembassi",
|
||||
"nicolyantunes",
|
||||
"nicolymattos",
|
||||
"nik3arbizaboura",
|
||||
"nikkizeestudio",
|
||||
"nilsangeslonstudio",
|
||||
"nohandscum",
|
||||
"norestfortheass",
|
||||
"nylonlingeriestudio",
|
||||
"obfetish",
|
||||
"obsessedsologirls",
|
||||
"oliviajay",
|
||||
"oloshoboyfriend",
|
||||
"olxredfox",
|
||||
"omargalantiproductions",
|
||||
"only3xnetwork",
|
||||
"onlyamateurporn",
|
||||
"onlyjewelzblustudio",
|
||||
"onlytaboostudio",
|
||||
"orgasminator",
|
||||
"origimax",
|
||||
"originalgirlsgonewild",
|
||||
"ouset",
|
||||
"outsidethestudio",
|
||||
"oxibendini",
|
||||
"panporn",
|
||||
"pansexualityfeeling",
|
||||
"pawgedstudio",
|
||||
"penelopa3",
|
||||
"pequeydemoniostudio",
|
||||
"pernocas",
|
||||
"pervfect",
|
||||
"pervyrussiastudio",
|
||||
"petitaleksa",
|
||||
"petrickgarcia",
|
||||
"photobangbang",
|
||||
"pineapplesstudio",
|
||||
"pinko",
|
||||
"pinkshell",
|
||||
"pissingeanalfantasy",
|
||||
"pkostudio",
|
||||
"plennastudio",
|
||||
"plsproduction",
|
||||
"plumperpassstudio",
|
||||
"pollyponsstudio",
|
||||
"pornforce",
|
||||
"pornworldvr",
|
||||
"possiblyneighbours",
|
||||
"potentialanal",
|
||||
"princepollyproductionz",
|
||||
"princess18",
|
||||
"princexpunkin",
|
||||
"princeyahshua",
|
||||
"private",
|
||||
"privatecastings",
|
||||
"privateclassics",
|
||||
"programmerswife",
|
||||
"projectfundiary",
|
||||
"prollkingxxl",
|
||||
"protonvideos",
|
||||
"pureinfatuation",
|
||||
"pussykagelovestudio",
|
||||
"putacalenturastudio",
|
||||
"putariasdocasal20studio",
|
||||
"qmakavellimedia",
|
||||
"queeneugeniastudio",
|
||||
"quenteclub",
|
||||
"quianon",
|
||||
"raquelexibida",
|
||||
"rawnewbies",
|
||||
"rayssagarcia",
|
||||
"realdirtyvideos",
|
||||
"realliferlp",
|
||||
"rebeccasclips",
|
||||
"rebeccavanguard",
|
||||
"rebelrhyderproductions",
|
||||
"redfoxartstudio",
|
||||
"redpillgirl",
|
||||
"redqueenfilms",
|
||||
"redqueenstudios",
|
||||
"reginanoir",
|
||||
"rhysdunbar",
|
||||
"riasunnofficial",
|
||||
"rickangelstudio",
|
||||
"rileycyriis",
|
||||
"robybianchiproduction",
|
||||
"rocbundy",
|
||||
"rockcorp",
|
||||
"romemajor",
|
||||
"rpsnstudio",
|
||||
"sailorboy69",
|
||||
"samanthagarmendia",
|
||||
"samanthasissystudio",
|
||||
"samcanram",
|
||||
"sampasex",
|
||||
"saradiamante",
|
||||
"sarahfonteynacumrecord",
|
||||
"sarahfonteynaeasysquirter",
|
||||
"sarahslavestudio",
|
||||
"sbstudio",
|
||||
"serenitylove001",
|
||||
"sexartestudio",
|
||||
"sexfoxxxvideos",
|
||||
"sexwithmilfstella",
|
||||
"sexxys",
|
||||
"sexxysclub",
|
||||
"sexyangelproductions",
|
||||
"sexycuckoldstudio",
|
||||
"sexydea",
|
||||
"sexygamingcouple",
|
||||
"sexynebbw",
|
||||
"sexynurse4u",
|
||||
"shalinadevinestudio",
|
||||
"shamelessvibe",
|
||||
"shenhunk",
|
||||
"shinaryenspurepleasure",
|
||||
"shortdaddy",
|
||||
"shyeon",
|
||||
"sicksadist69studio",
|
||||
"sinemale",
|
||||
"siswetanalambassador",
|
||||
"skinonskin",
|
||||
"sky1978",
|
||||
"slavebc",
|
||||
"slkzw",
|
||||
"slutlibrary",
|
||||
"smartykat314",
|
||||
"sofiajax",
|
||||
"solangesun",
|
||||
"solomiastudio",
|
||||
"solsalvatore",
|
||||
"sophieladder",
|
||||
"spaceboobsstudio",
|
||||
"spermaevents",
|
||||
"spicylabproduction",
|
||||
"spookyboogie",
|
||||
"ssnatashateen",
|
||||
"staceyalexispawg",
|
||||
"stacybloomstudio",
|
||||
"stalkerprodz",
|
||||
"steverickz",
|
||||
"straightaddicktstudio",
|
||||
"studiogd",
|
||||
"subilarchstudio",
|
||||
"sugarbabestv",
|
||||
"superhotfilmsstudio",
|
||||
"suzieqstudio",
|
||||
"suzyanderson",
|
||||
"swagruspanda",
|
||||
"sweetbabygirlxx",
|
||||
"sweetdarling",
|
||||
"sweetwife",
|
||||
"sydneyscreams4u",
|
||||
"syrianarablara",
|
||||
"taiamericana",
|
||||
"taradao",
|
||||
"tarrawhite",
|
||||
"tayleewoodstudio",
|
||||
"telanua",
|
||||
"tgirlplayhouse",
|
||||
"thanchetbigdick",
|
||||
"thatredheadskye",
|
||||
"thecalicalientestudio",
|
||||
"thekallyxo",
|
||||
"themaskedfreakerstudio",
|
||||
"thepowell",
|
||||
"thewondertoystrainingstudio",
|
||||
"theyloveflaxk",
|
||||
"thiagomontestudio",
|
||||
"tiffanyleiddi",
|
||||
"tigresavip",
|
||||
"timeabellaproduction",
|
||||
"tobydickstudio",
|
||||
"tommywood",
|
||||
"tonyathetease",
|
||||
"toolofpleasurestudio",
|
||||
"torbestudio",
|
||||
"tranny4cockstudio",
|
||||
"troopcandy",
|
||||
"trunkacstudio",
|
||||
"turndonpodcast",
|
||||
"tvredfire",
|
||||
"tylercoxxdzstudio",
|
||||
"uniquebless",
|
||||
"unjmdstudio",
|
||||
"unlimstudio",
|
||||
"unsboys",
|
||||
"vagninhoxxx",
|
||||
"vangoren",
|
||||
"veneramaximastudio",
|
||||
"venusafrodita",
|
||||
"verlonis18",
|
||||
"vickiluv",
|
||||
"victorhugo",
|
||||
"victoriasmithtv",
|
||||
"vilevixenstudio",
|
||||
"vincekarter",
|
||||
"viragoldfilms",
|
||||
"viragoldhomevideos",
|
||||
"virom13",
|
||||
"vispace",
|
||||
"viviguedezoficial",
|
||||
"wagnersantiago",
|
||||
"wanheldvigschwarzehaut",
|
||||
"wcaproductions",
|
||||
"wefuckinstudio",
|
||||
"wspro",
|
||||
"xduquitox",
|
||||
"xsanyany",
|
||||
"xtvstudio",
|
||||
"xwar555",
|
||||
"xxxporn",
|
||||
"xxxtaylornicole",
|
||||
"you170",
|
||||
"yourpriya",
|
||||
"yoyagreyproduction",
|
||||
"yukionna",
|
||||
"yunolovex",
|
||||
"yurigaucho",
|
||||
"zfilmz",
|
||||
"zlatashine",
|
||||
"zuzusweet"
|
||||
]
|
|
@ -1,3 +1,5 @@
|
|||
const analvids = require('./analvids.json');
|
||||
|
||||
module.exports = {
|
||||
database: {
|
||||
owner: {
|
||||
|
@ -73,6 +75,8 @@ module.exports = {
|
|||
},
|
||||
exclude: {
|
||||
channels: [
|
||||
// AnalVids secondary channels
|
||||
...analvids,
|
||||
// 21sextreme, no longer updated
|
||||
'mightymistress',
|
||||
'dominatedgirls',
|
||||
|
@ -131,6 +135,25 @@ module.exports = {
|
|||
'paintoy',
|
||||
'aganmedon',
|
||||
'sensualpain',
|
||||
// porn world
|
||||
'1byday',
|
||||
'bustylover',
|
||||
'ddfbusty',
|
||||
'ddfnetworkvr',
|
||||
'eurogirlsongirls',
|
||||
'euroteenerotica',
|
||||
'fuckinhd',
|
||||
'handsonhardcore',
|
||||
'hotlegsandfeet',
|
||||
'houseoftaboo',
|
||||
'onlyblowjob',
|
||||
// letsdoeit
|
||||
'xchimera',
|
||||
'scamangels',
|
||||
'bitchesabroad',
|
||||
'pornoacademie',
|
||||
'bumsbus',
|
||||
'kinkyinlaws',
|
||||
],
|
||||
networks: [
|
||||
// dummy network for testing
|
||||
|
@ -138,6 +161,8 @@ module.exports = {
|
|||
// porn doe
|
||||
'forbondage',
|
||||
'score',
|
||||
// porncz
|
||||
'porncz',
|
||||
],
|
||||
},
|
||||
profiles: [
|
||||
|
@ -189,12 +214,9 @@ module.exports = {
|
|||
'hotcrazymess',
|
||||
'thatsitcomshow',
|
||||
],
|
||||
[
|
||||
// Adult DVD Empire
|
||||
'elegantangel',
|
||||
'westcoastproductions',
|
||||
],
|
||||
'21sextury',
|
||||
'dogfartnetwork',
|
||||
'adultempire',
|
||||
'julesjordan',
|
||||
'dorcelclub',
|
||||
'bang',
|
||||
|
@ -211,6 +233,7 @@ module.exports = {
|
|||
'vrcosplayx',
|
||||
'teamskeet',
|
||||
'mylf',
|
||||
'spermmania',
|
||||
[
|
||||
'letsdoeit',
|
||||
'mamacitaz',
|
||||
|
@ -250,13 +273,15 @@ module.exports = {
|
|||
'topwebmodels',
|
||||
'pascalssubsluts',
|
||||
'kellymadison',
|
||||
'5kporn',
|
||||
'private',
|
||||
'ddfnetwork',
|
||||
'bangbros',
|
||||
'hitzefrei',
|
||||
'porncz',
|
||||
'czechav',
|
||||
'angelogodshackoriginal',
|
||||
'littlecapricedreams',
|
||||
'missyx',
|
||||
'gangbangcreampie',
|
||||
'gloryholesecrets',
|
||||
'aziani',
|
||||
|
@ -268,7 +293,10 @@ module.exports = {
|
|||
'silverstonedvd',
|
||||
'silviasaint',
|
||||
],
|
||||
'legalporno',
|
||||
[
|
||||
'analvids',
|
||||
'pornworld',
|
||||
],
|
||||
'pierrewoodman',
|
||||
'score',
|
||||
'boobpedia',
|
||||
|
@ -315,6 +343,7 @@ module.exports = {
|
|||
'cdn.tushyraw.com',
|
||||
'cdn.slayed.com',
|
||||
'cdn.milfy.com',
|
||||
'www.analvids.com',
|
||||
'www.vogov.com',
|
||||
'www.vogov.com',
|
||||
'www.nubiles.net',
|
||||
|
@ -332,6 +361,17 @@ module.exports = {
|
|||
'www.badteenspunished.com',
|
||||
'www.cumlouder.com',
|
||||
'im0.imgcm.com',
|
||||
// Spizoo
|
||||
'www.spizoo.com',
|
||||
'www.creamher.com',
|
||||
'www.gothgirlfriends.com',
|
||||
'www.mrluckypov.com',
|
||||
'www.mrluckyvip.com',
|
||||
'www.mrluckyraw.com',
|
||||
'www.firstclasspov.com',
|
||||
'www.rawattack.com',
|
||||
'www.realsensual.com',
|
||||
'www.vlogxxx.com',
|
||||
],
|
||||
},
|
||||
bypass: {
|
||||
|
@ -357,22 +397,38 @@ module.exports = {
|
|||
interval: 50,
|
||||
concurrency: 20,
|
||||
},
|
||||
'www.deeper.com': {
|
||||
enable: false, // can be omitted to enable
|
||||
media: {
|
||||
interval: 50,
|
||||
concurrency: 20,
|
||||
},
|
||||
'www.kink.com': {
|
||||
interval: 1000,
|
||||
concurrency: 1,
|
||||
},
|
||||
'westcoastproductions.com': {
|
||||
interval: 100,
|
||||
'www.brazzers.com': {
|
||||
interval: 2000,
|
||||
concurrency: 1,
|
||||
},
|
||||
'www.realitykings.com': {
|
||||
interval: 2000,
|
||||
concurrency: 1,
|
||||
},
|
||||
'www.analvids.com': { // seems to error at default rate
|
||||
interval: 500,
|
||||
concurrency: 1,
|
||||
},
|
||||
'images.mylfcdn.net': {
|
||||
interval: 50,
|
||||
concurrency: 1,
|
||||
},
|
||||
'westcoastproductions.com': {
|
||||
interval: 100,
|
||||
concurrency: 1,
|
||||
},
|
||||
},
|
||||
fetchAfter: [1, 'week'],
|
||||
missingDateLimit: 3,
|
||||
upcomingMissingDateLimit: 20,
|
||||
memorySampling: {
|
||||
enabled: false,
|
||||
sampleDuration: 300000, // 5 minutes
|
||||
|
@ -390,7 +446,7 @@ module.exports = {
|
|||
thumbnailQuality: 100,
|
||||
lazySize: 90,
|
||||
lazyQuality: 90,
|
||||
trailerQuality: [540, 720, 480, 360, 960, 1080, 320, 1440, 1600, 1920, 2160, 270, 240, 180],
|
||||
trailerQuality: [540, 720, 960, 480, 1080, 360, 320, 1440, 1600, 1920, 2160, 270, 240, 180],
|
||||
limit: 25, // max number of photos per release
|
||||
attempts: 2,
|
||||
fetchStreams: true,
|
||||
|
|
|
@ -18,17 +18,25 @@ const scenesFields = `
|
|||
network_id int,
|
||||
network_name text,
|
||||
network_slug text,
|
||||
studio_id int,
|
||||
studio_name text,
|
||||
studio_slug text,
|
||||
entity_ids multi,
|
||||
actor_ids multi,
|
||||
actors text,
|
||||
tag_ids multi,
|
||||
tags text,
|
||||
movie_ids multi,
|
||||
movies text,
|
||||
serie_ids multi,
|
||||
series text,
|
||||
meta text,
|
||||
date timestamp,
|
||||
is_showcased bool,
|
||||
created_at timestamp,
|
||||
effective_date timestamp,
|
||||
stashed int
|
||||
stashed int,
|
||||
dupe_index int
|
||||
`;
|
||||
|
||||
const moviesFields = `
|
||||
|
@ -53,7 +61,8 @@ const moviesFields = `
|
|||
effective_date timestamp,
|
||||
stashed int,
|
||||
stashed_scenes int,
|
||||
stashed_total int
|
||||
stashed_total int,
|
||||
dupe_index int
|
||||
`;
|
||||
|
||||
const actorsFields = `
|
||||
|
@ -94,7 +103,7 @@ exports.up = async (knex) => {
|
|||
created_at timestamp
|
||||
)`);
|
||||
|
||||
await utilsApi.sql(`create table actors (${actorsFields})`);
|
||||
await utilsApi.sql(`create table actors (${actorsFields}) min_prefix_len='3'`);
|
||||
|
||||
await utilsApi.sql(`create table actors_stashed (
|
||||
actor_id int,
|
||||
|
|
|
@ -16,6 +16,16 @@ exports.up = async (knex) => {
|
|||
.notNullable()
|
||||
.defaultTo(true);
|
||||
});
|
||||
|
||||
await knex.raw(`
|
||||
UPDATE alerts
|
||||
SET
|
||||
all_actors = false,
|
||||
all_entities = false,
|
||||
all_tags = false,
|
||||
all_matches= false
|
||||
WHERE alerts.all = false;
|
||||
`);
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
const config = require('config');
|
||||
|
||||
exports.up = async (knex) => {
|
||||
await knex.schema.alterTable('entities', (table) => {
|
||||
// internal options, as opposed to parameters for scraper options
|
||||
table.json('options');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('releases', (table) => {
|
||||
table.dropForeign('entity_id');
|
||||
|
||||
table.foreign('entity_id')
|
||||
.references('id')
|
||||
.inTable('entities')
|
||||
.onDelete('cascade');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('releases_caps', (table) => {
|
||||
table.unique(['release_id', 'media_id']);
|
||||
});
|
||||
|
||||
await knex.schema.createTable('movies_tags', (table) => {
|
||||
table.integer('tag_id')
|
||||
.references('id')
|
||||
.inTable('tags');
|
||||
|
||||
table.integer('movie_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('movies')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.text('original_tag');
|
||||
|
||||
table.text('source')
|
||||
.defaultTo('scraper');
|
||||
|
||||
table.unique(['tag_id', 'movie_id']);
|
||||
});
|
||||
|
||||
await knex.raw('GRANT ALL ON ALL TABLES IN SCHEMA public TO :visitor;', {
|
||||
visitor: knex.raw(config.database.query.user),
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.alterTable('entities', (table) => {
|
||||
table.dropColumn('options');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('releases', (table) => {
|
||||
table.dropForeign('entity_id');
|
||||
|
||||
table.foreign('entity_id')
|
||||
.references('id')
|
||||
.inTable('entities')
|
||||
.onDelete('no action');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('releases_caps', (table) => {
|
||||
table.dropUnique(['release_id', 'media_id']);
|
||||
});
|
||||
|
||||
await knex.schema.dropTable('movies_tags');
|
||||
};
|
|
@ -0,0 +1,31 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.schema.alterTable('entities_tags', (table) => {
|
||||
table.dropForeign('tag_id');
|
||||
table.dropForeign('entity_id');
|
||||
|
||||
table.foreign('tag_id')
|
||||
.references('id')
|
||||
.inTable('tags')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.foreign('entity_id')
|
||||
.references('id')
|
||||
.inTable('entities')
|
||||
.onDelete('cascade');
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.alterTable('entities_tags', (table) => {
|
||||
table.dropForeign('tag_id');
|
||||
table.dropForeign('entity_id');
|
||||
|
||||
table.foreign('tag_id')
|
||||
.references('id')
|
||||
.inTable('tags');
|
||||
|
||||
table.foreign('entity_id')
|
||||
.references('id')
|
||||
.inTable('entities');
|
||||
});
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.schema.createTable('users_templates', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('user_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('users');
|
||||
|
||||
table.string('name')
|
||||
.notNullable();
|
||||
|
||||
table.text('template')
|
||||
.notNullable();
|
||||
|
||||
table.unique(['user_id', 'name']);
|
||||
|
||||
table.datetime('created_at')
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.dropTable('users_templates');
|
||||
};
|
|
@ -0,0 +1,28 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.schema.createTable('users_keys', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('user_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('users');
|
||||
|
||||
table.text('key')
|
||||
.notNullable();
|
||||
|
||||
table.string('identifier');
|
||||
|
||||
table.unique(['user_id', 'identifier']);
|
||||
|
||||
table.datetime('last_used_at');
|
||||
table.specificType('last_used_ip', 'inet');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.dropTable('users_keys');
|
||||
};
|
|
@ -0,0 +1,87 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.schema.createTable('scenes_revisions', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('scene_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('releases')
|
||||
.onDelete('set null');
|
||||
|
||||
table.integer('user_id')
|
||||
.references('id')
|
||||
.inTable('users')
|
||||
.onDelete('set null');
|
||||
|
||||
table.json('base')
|
||||
.notNullable();
|
||||
|
||||
table.json('deltas')
|
||||
.notNullable();
|
||||
|
||||
table.text('hash')
|
||||
.notNullable();
|
||||
|
||||
table.text('comment');
|
||||
|
||||
table.boolean('approved');
|
||||
|
||||
table.integer('reviewed_by')
|
||||
.references('id')
|
||||
.inTable('users')
|
||||
.onDelete('set null');
|
||||
|
||||
table.datetime('reviewed_at');
|
||||
table.text('feedback');
|
||||
|
||||
table.datetime('applied_at');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
|
||||
await knex.schema.createTable('bans', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('user_id')
|
||||
.references('id')
|
||||
.inTable('users')
|
||||
.onDelete('set null');
|
||||
|
||||
table.string('username');
|
||||
table.specificType('ip', 'cidr');
|
||||
|
||||
table.boolean('match_all')
|
||||
.notNullable()
|
||||
.defaultTo(false);
|
||||
|
||||
table.string('scope');
|
||||
table.boolean('shadow');
|
||||
|
||||
table.integer('banned_by')
|
||||
.references('id')
|
||||
.inTable('users')
|
||||
.onDelete('set null');
|
||||
|
||||
table.datetime('expires_at')
|
||||
.notNullable();
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('users', (table) => {
|
||||
table.specificType('last_ip', 'cidr');
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.dropTable('scenes_revisions');
|
||||
await knex.schema.dropTable('bans');
|
||||
|
||||
await knex.schema.alterTable('users', (table) => {
|
||||
table.dropColumn('last_ip');
|
||||
});
|
||||
};
|
|
@ -0,0 +1,35 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.schema.alterTable('actors', (table) => {
|
||||
table.integer('leg');
|
||||
table.integer('foot');
|
||||
table.integer('thigh');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('actors_profiles', (table) => {
|
||||
table.integer('leg');
|
||||
table.integer('foot');
|
||||
table.integer('thigh');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('releases', (table) => {
|
||||
table.integer('video_count');
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.alterTable('actors', (table) => {
|
||||
table.dropColumn('leg');
|
||||
table.dropColumn('foot');
|
||||
table.dropColumn('thigh');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('actors_profiles', (table) => {
|
||||
table.dropColumn('leg');
|
||||
table.dropColumn('foot');
|
||||
table.dropColumn('thigh');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('releases', (table) => {
|
||||
table.dropColumn('video_count');
|
||||
});
|
||||
};
|
|
@ -0,0 +1,15 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.schema.alterTable('scenes_revisions', (table) => {
|
||||
table.integer('scene_id')
|
||||
.nullable()
|
||||
.alter();
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.alterTable('scenes_revisions', (table) => {
|
||||
table.integer('scene_id')
|
||||
.notNullable()
|
||||
.alter();
|
||||
});
|
||||
};
|
|
@ -0,0 +1,119 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.raw('CREATE UNIQUE INDEX unique_main_profiles ON actors_profiles (actor_id) WHERE (entity_id IS NULL);');
|
||||
|
||||
await knex.schema.createTable('actors_revisions', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('actor_id')
|
||||
.references('id')
|
||||
.inTable('actors')
|
||||
.onDelete('set null');
|
||||
|
||||
table.integer('profile_id')
|
||||
.references('id')
|
||||
.inTable('actors_profiles')
|
||||
.onDelete('set null');
|
||||
|
||||
table.integer('user_id')
|
||||
.references('id')
|
||||
.inTable('users')
|
||||
.onDelete('set null');
|
||||
|
||||
table.json('base')
|
||||
.notNullable();
|
||||
|
||||
table.json('deltas')
|
||||
.notNullable();
|
||||
|
||||
table.text('hash')
|
||||
.notNullable();
|
||||
|
||||
table.text('comment');
|
||||
|
||||
table.boolean('approved');
|
||||
|
||||
table.integer('reviewed_by')
|
||||
.references('id')
|
||||
.inTable('users')
|
||||
.onDelete('set null');
|
||||
|
||||
table.datetime('reviewed_at');
|
||||
table.text('feedback');
|
||||
|
||||
table.datetime('applied_at');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('actors', (table) => {
|
||||
table.integer('boobs_volume');
|
||||
table.enum('boobs_implant', ['saline', 'silicone', 'gummy', 'fat']);
|
||||
table.enum('boobs_placement', ['over', 'under']);
|
||||
table.string('boobs_surgeon');
|
||||
|
||||
table.boolean('natural_butt');
|
||||
table.integer('butt_volume');
|
||||
table.enum('butt_implant', ['bbl', 'lift', 'silicone', 'lipo', 'filler', 'mms']);
|
||||
|
||||
table.boolean('natural_lips');
|
||||
table.integer('lips_volume');
|
||||
|
||||
table.string('agency');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('actors_profiles', (table) => {
|
||||
table.integer('boobs_volume');
|
||||
table.enum('boobs_implant', ['saline', 'silicone', 'gummy', 'fat']);
|
||||
table.enum('boobs_placement', ['over', 'under']);
|
||||
table.string('boobs_surgeon');
|
||||
|
||||
table.boolean('natural_butt');
|
||||
table.integer('butt_volume');
|
||||
table.enum('butt_implant', ['bbl', 'lift', 'silicone', 'lipo', 'filler', 'mms']);
|
||||
|
||||
table.boolean('natural_lips');
|
||||
table.integer('lips_volume');
|
||||
|
||||
table.string('agency');
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.raw('DROP INDEX unique_main_profiles;');
|
||||
|
||||
await knex.schema.dropTable('actors_revisions');
|
||||
|
||||
await knex.schema.alterTable('actors', (table) => {
|
||||
table.dropColumn('boobs_volume');
|
||||
table.dropColumn('boobs_implant');
|
||||
table.dropColumn('boobs_placement');
|
||||
table.dropColumn('boobs_surgeon');
|
||||
|
||||
table.dropColumn('natural_butt');
|
||||
table.dropColumn('butt_volume');
|
||||
table.dropColumn('butt_implant');
|
||||
|
||||
table.dropColumn('natural_lips');
|
||||
table.dropColumn('lips_volume');
|
||||
|
||||
table.dropColumn('agency');
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('actors_profiles', (table) => {
|
||||
table.dropColumn('boobs_volume');
|
||||
table.dropColumn('boobs_implant');
|
||||
table.dropColumn('boobs_placement');
|
||||
table.dropColumn('boobs_surgeon');
|
||||
|
||||
table.dropColumn('natural_butt');
|
||||
table.dropColumn('butt_volume');
|
||||
table.dropColumn('butt_implant');
|
||||
|
||||
table.dropColumn('natural_lips');
|
||||
table.dropColumn('lips_volume');
|
||||
|
||||
table.dropColumn('agency');
|
||||
});
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
function createColumns(table) {
|
||||
table.enum('boobs_incision', ['mammary', 'areolar', 'crescent', 'lollipop', 'anchor', 'axillary', 'umbilical']);
|
||||
table.boolean('natural_labia');
|
||||
}
|
||||
|
||||
exports.up = async (knex) => {
|
||||
await knex.schema.alterTable('actors', createColumns);
|
||||
await knex.schema.alterTable('actors_profiles', createColumns);
|
||||
};
|
||||
|
||||
function dropColumns(table) {
|
||||
table.dropColumn('boobs_incision');
|
||||
table.dropColumn('natural_labia');
|
||||
}
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.schema.alterTable('actors', dropColumns);
|
||||
await knex.schema.alterTable('actors_profiles', dropColumns);
|
||||
};
|
|
@ -0,0 +1,75 @@
|
|||
exports.up = async function(knex) {
|
||||
// restore avatars in table in case of rollback and rerun
|
||||
const avatars = await knex('actors_avatars')
|
||||
.select('actors_avatars.*', 'actors_profiles.actor_id')
|
||||
.leftJoin('actors_profiles', 'actors_profiles.id', 'actors_avatars.profile_id');
|
||||
|
||||
await knex('actors_avatars').delete();
|
||||
|
||||
await knex.schema.alterTable('actors_avatars', (table) => {
|
||||
table.integer('profile_id')
|
||||
.nullable()
|
||||
.alter();
|
||||
|
||||
table.integer('actor_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('actors');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
|
||||
table.dropUnique('profile_id');
|
||||
table.unique(['profile_id', 'media_id']);
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('media', (table) => {
|
||||
// actor avatars often retain the same URL when updated, handle URL-deduping in app code
|
||||
table.dropUnique('source');
|
||||
table.string('source_version'); // usually etag
|
||||
});
|
||||
|
||||
await knex.raw('CREATE UNIQUE INDEX unique_main_avatars ON actors_avatars (actor_id) WHERE (profile_id IS NULL);');
|
||||
|
||||
if (avatars.length > 0) {
|
||||
await knex('actors_avatars').insert(avatars);
|
||||
}
|
||||
|
||||
const profiles = await knex('actors_profiles')
|
||||
.select('id', 'actor_id', 'avatar_media_id')
|
||||
.whereNotNull('avatar_media_id');
|
||||
|
||||
await knex('actors_avatars')
|
||||
.insert(profiles.map((profile) => ({
|
||||
actor_id: profile.actor_id,
|
||||
profile_id: profile.id,
|
||||
media_id: profile.avatar_media_id,
|
||||
})))
|
||||
.onConflict()
|
||||
.ignore();
|
||||
};
|
||||
|
||||
exports.down = async function(knex) {
|
||||
// no need to delete all entries, only the ones incompatible with the old scheme
|
||||
await knex('actors_avatars')
|
||||
.whereNull('profile_id')
|
||||
.delete();
|
||||
|
||||
await knex.schema.alterTable('actors_avatars', (table) => {
|
||||
table.integer('profile_id')
|
||||
.notNullable()
|
||||
.alter();
|
||||
|
||||
table.dropColumn('actor_id');
|
||||
table.dropColumn('created_at');
|
||||
|
||||
table.unique('profile_id');
|
||||
table.dropUnique(['profile_id', 'media_id']);
|
||||
});
|
||||
|
||||
await knex.schema.alterTable('media', (table) => {
|
||||
table.dropColumn('source_version');
|
||||
table.unique('source');
|
||||
});
|
||||
};
|
|
@ -0,0 +1,46 @@
|
|||
exports.up = async (knex) => {
|
||||
await knex.schema.alterTable('actors_social', (table) => {
|
||||
table.dropUnique(['url', 'actor_id', 'profile_id']);
|
||||
table.dropColumn('profile_id');
|
||||
|
||||
table.string('handle');
|
||||
|
||||
table.boolean('is_broken')
|
||||
.notNullable()
|
||||
.defaultTo(false);
|
||||
|
||||
table.datetime('pinged_at');
|
||||
table.datetime('verified_at');
|
||||
|
||||
table.unique(['actor_id', 'platform', 'handle']);
|
||||
table.unique(['actor_id', 'url']);
|
||||
});
|
||||
|
||||
await knex.raw('ALTER TABLE actors_social ADD CONSTRAINT socials_url_or_handle CHECK (num_nulls(handle, url) = 1);');
|
||||
await knex.raw('ALTER TABLE actors_social ADD CONSTRAINT socials_handle_and_platform CHECK (num_nulls(platform, handle) = 2 or num_nulls(platform, handle) = 0);');
|
||||
|
||||
await knex.schema.renameTable('actors_social', 'actors_socials');
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.raw('ALTER TABLE actors_socials DROP CONSTRAINT socials_url_or_handle;');
|
||||
await knex.raw('ALTER TABLE actors_socials DROP CONSTRAINT socials_handle_and_platform;');
|
||||
|
||||
await knex.schema.renameTable('actors_socials', 'actors_social');
|
||||
|
||||
await knex.schema.alterTable('actors_social', (table) => {
|
||||
table.dropUnique(['actor_id', 'platform', 'handle']);
|
||||
table.dropUnique(['actor_id', 'url']);
|
||||
|
||||
table.integer('profile_id')
|
||||
.references('id')
|
||||
.inTable('actors_profiles');
|
||||
|
||||
table.dropColumn('handle');
|
||||
table.dropColumn('verified_at');
|
||||
table.dropColumn('pinged_at');
|
||||
table.dropColumn('is_broken');
|
||||
|
||||
table.unique(['url', 'actor_id', 'profile_id']);
|
||||
});
|
||||
};
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.237.11",
|
||||
"version": "1.244.34",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "traxxx",
|
||||
"version": "1.237.11",
|
||||
"version": "1.244.34",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.458.0",
|
||||
|
@ -47,12 +47,13 @@
|
|||
"express-session": "^1.17.3",
|
||||
"face-api.js": "^0.22.2",
|
||||
"file-type": "^18.7.0",
|
||||
"fluent-ffmpeg": "^2.1.2",
|
||||
"fluent-ffmpeg": "^2.1.3",
|
||||
"fs-extra": "^11.1.1",
|
||||
"graphile-build": "^4.14.0",
|
||||
"graphile-utils": "^4.14.0",
|
||||
"graphql": "^15.8.0",
|
||||
"html-entities": "^2.4.0",
|
||||
"https-proxy-agent": "^7.0.5",
|
||||
"iconv-lite": "^0.6.3",
|
||||
"inquirer": "^8.2.6",
|
||||
"inspector-api": "^1.4.8",
|
||||
|
@ -88,7 +89,7 @@
|
|||
"tunnel": "0.0.6",
|
||||
"ua-parser-js": "^1.0.37",
|
||||
"undici": "^5.28.1",
|
||||
"unprint": "^0.10.11",
|
||||
"unprint": "^0.15.0",
|
||||
"url-pattern": "^1.0.3",
|
||||
"v-tooltip": "^2.1.3",
|
||||
"video.js": "^8.6.1",
|
||||
|
@ -3861,6 +3862,18 @@
|
|||
"node-pre-gyp": "bin/node-pre-gyp"
|
||||
}
|
||||
},
|
||||
"node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||
"dependencies": {
|
||||
"agent-base": "6",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/@mapbox/node-pre-gyp/node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
|
@ -9851,17 +9864,22 @@
|
|||
"integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ=="
|
||||
},
|
||||
"node_modules/fluent-ffmpeg": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz",
|
||||
"integrity": "sha512-IZTB4kq5GK0DPp7sGQ0q/BWurGHffRtQQwVkiqDgeO6wYJLLV5ZhgNOQ65loZxxuPMKZKZcICCUnaGtlxBiR0Q==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.3.tgz",
|
||||
"integrity": "sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==",
|
||||
"dependencies": {
|
||||
"async": ">=0.2.9",
|
||||
"async": "^0.2.9",
|
||||
"which": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/fluent-ffmpeg/node_modules/async": {
|
||||
"version": "0.2.10",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
|
||||
"integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ=="
|
||||
},
|
||||
"node_modules/fluent-ffmpeg/node_modules/which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
|
@ -10863,15 +10881,26 @@
|
|||
}
|
||||
},
|
||||
"node_modules/https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||
"version": "7.0.5",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
|
||||
"integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
|
||||
"dependencies": {
|
||||
"agent-base": "6",
|
||||
"agent-base": "^7.0.2",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/https-proxy-agent/node_modules/agent-base": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
|
||||
"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/human-signals": {
|
||||
|
@ -12095,18 +12124,6 @@
|
|||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/jsdom/node_modules/https-proxy-agent": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
|
||||
"integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
|
||||
"dependencies": {
|
||||
"agent-base": "^7.0.2",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/jsdom/node_modules/whatwg-mimetype": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
|
||||
|
@ -12801,6 +12818,19 @@
|
|||
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/make-fetch-happen/node_modules/https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"agent-base": "6",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/make-fetch-happen/node_modules/lru-cache": {
|
||||
"version": "7.18.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
|
||||
|
@ -13608,6 +13638,19 @@
|
|||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/node-gyp/node_modules/https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"agent-base": "6",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/node-gyp/node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
|
@ -14406,18 +14449,6 @@
|
|||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/pac-proxy-agent/node_modules/https-proxy-agent": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
|
||||
"integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
|
||||
"dependencies": {
|
||||
"agent-base": "^7.0.2",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
|
||||
|
@ -15349,18 +15380,6 @@
|
|||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-agent/node_modules/https-proxy-agent": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
|
||||
"integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
|
||||
"dependencies": {
|
||||
"agent-base": "^7.0.2",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-agent/node_modules/lru-cache": {
|
||||
"version": "7.18.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
|
||||
|
@ -18293,9 +18312,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/unprint": {
|
||||
"version": "0.10.11",
|
||||
"resolved": "https://registry.npmjs.org/unprint/-/unprint-0.10.11.tgz",
|
||||
"integrity": "sha512-+OL+8BFF9SYvayp57l8ifq77I6ok2ilPCidBVka7VbMALJgqHxkHqrqkCupw2RKX2tNfPT/TGa+NJsYGboFnRQ==",
|
||||
"version": "0.15.0",
|
||||
"resolved": "https://registry.npmjs.org/unprint/-/unprint-0.15.0.tgz",
|
||||
"integrity": "sha512-F/nfsSAPoQFfZCYGsxOxaNX05jfzQTP/lLo3BUeOPotp9RaRfcI6ylf6ts6GqFoMAD1Y6I7M31MiriDc+SgNDQ==",
|
||||
"dependencies": {
|
||||
"axios": "^0.27.2",
|
||||
"bottleneck": "^2.19.5",
|
||||
|
@ -18304,7 +18323,8 @@
|
|||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"jsdom": "^17.0.0",
|
||||
"moment-timezone": "^0.5.34"
|
||||
"moment-timezone": "^0.5.34",
|
||||
"tunnel": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/unprint/node_modules/@tootallnate/once": {
|
||||
|
@ -18419,6 +18439,18 @@
|
|||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/unprint/node_modules/https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||
"dependencies": {
|
||||
"agent-base": "6",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/unprint/node_modules/iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.237.11",
|
||||
"version": "1.244.34",
|
||||
"description": "All the latest porn releases in one place",
|
||||
"main": "src/app.js",
|
||||
"scripts": {
|
||||
|
@ -106,12 +106,13 @@
|
|||
"express-session": "^1.17.3",
|
||||
"face-api.js": "^0.22.2",
|
||||
"file-type": "^18.7.0",
|
||||
"fluent-ffmpeg": "^2.1.2",
|
||||
"fluent-ffmpeg": "^2.1.3",
|
||||
"fs-extra": "^11.1.1",
|
||||
"graphile-build": "^4.14.0",
|
||||
"graphile-utils": "^4.14.0",
|
||||
"graphql": "^15.8.0",
|
||||
"html-entities": "^2.4.0",
|
||||
"https-proxy-agent": "^7.0.5",
|
||||
"iconv-lite": "^0.6.3",
|
||||
"inquirer": "^8.2.6",
|
||||
"inspector-api": "^1.4.8",
|
||||
|
@ -147,7 +148,7 @@
|
|||
"tunnel": "0.0.6",
|
||||
"ua-parser-js": "^1.0.37",
|
||||
"undici": "^5.28.1",
|
||||
"unprint": "^0.10.11",
|
||||
"unprint": "^0.15.0",
|
||||
"url-pattern": "^1.0.3",
|
||||
"v-tooltip": "^2.1.3",
|
||||
"video.js": "^8.6.1",
|
||||
|
|
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 64 KiB |
|
@ -1 +0,0 @@
|
|||
<iframe style="background-color: white;" width="300" height="100" scrolling="no" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" name="spot_id_10002480" src="//a.adtng.com/get/10002480?ata=DebaucheryLibrarian"></iframe>
|
|
@ -1 +0,0 @@
|
|||
<iframe style="background-color: white;" width="300" height="250" scrolling="no" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" name="spot_id_10001807" src="//a.adtng.com/get/10001807?ata=DebaucheryLibrarian"></iframe>
|
|
@ -1 +0,0 @@
|
|||
<iframe style="background-color: white;" width="315" height="300" scrolling="no" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" name="spot_id_10002484" src="//a.adtng.com/get/10002484?ata=DebaucheryLibrarian"></iframe>
|
|
@ -1 +0,0 @@
|
|||
<iframe style="background-color: white;" width="728" height="90" scrolling="no" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" name="spot_id_10002481" src="//a.adtng.com/get/10002481?ata=DebaucheryLibrarian"></iframe>
|
|
@ -1 +0,0 @@
|
|||
<iframe style="background-color: white;" width="728" height="90" scrolling="no" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" name="spot_id_10002466" src="//a.adtng.com/get/10002466?ata=DebaucheryLibrarian"></iframe>
|
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 190 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 498 KiB |
Before Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 191 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 676 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 101 KiB |