В общем, есть момент по поводу одновременного режима работы AP + Deauth. ESP32 - точно не решит вопрос , т.к в новых версиях функции отправки deauth пакетов заблокированы на "уровне железа". Если кратко и понятно. ESP8266 - пока что дополнительно тестирую режим работы AP + Deauth, если все получится , тогда подключу новый дисплей + более продуманный корпус и запишу видео.
Самое главное под аккумом оставь место на вздутие аккумулятора и чтобы в него острое не упиралось даже после вздутия. Иначе как токо с ним вдруг че там пожар начнется. Лучше всего отдельную для него полость, с крышкой которая отойдёт после вздутия и останется лишь желание заменить акум. Успехов.
Airodump-ng, видимо. Примерно тут мои знания заканчиваются (пока) - он ведь его хешированный посылает, т.е. всё равно надо будет хендсшейк брутить? Или на открытую точку доступа приходит "голый" пароль, без выкрутасов? Почитал бы на эту тему, если посоветуешь чего ;).
@@aflamencao Не , с выкрутасами всегда. Чтобы полностью понять , надо подключать анализаторы трафика и смотреть что как приходят и уходит. Это уже какой-то более углубленный подход, не знаю, надо оно вам или нет, смотря какая задача.
Как в фишинговую точку доступа , засунуть свой отредактированный html ? И ещё момент, при вводе пароля от вай фая жертвой фишинговая точка отваливается потом автоматически?
В функции StartCaptivePortal есть обработчик server.on(/hotspot-detect.html) , вот там можно генерировать свой html код. Да , после нажатия на кнопку отправить, вызывается обработчик server.on(/submit) , сохраняется пароль в память и плата перезагружается.
Берём ноут , два вайфай адаптера с режимом мониторинга ( альфа желательно) идём в Линукс запускаем fluxion и делаем клон точки которою хотим хакнуть, один адаптер глушит , второй создаёт клон , ждем пока жертва подключится и введёт пароль , после чего радуемся , всем удачи
21 век на дворе , кнопка питания механическая . Это при том что на борту есть режимы глубокого сна . Я уже молчу про габариты и отсутствие антены , Дальность 2-3 метра . Ну отключили вы точку а хэндшейк ловить будете ноутбуком ? Тогда в чём смысл таскать с собой "это" ноут и так легко дисконектит клиентов . Поишите "хэш монстр" он хоть хэндшейки сам ловит (esp32)
ESP8266 это довольно слабенькая штучка по современным меркам, удивительно как ты столько всего запихал в неё ! (я разрабатывал когда-то давно именно под ESP8266, знаю) Преимущество ESP8266 это в первую очередь соотношение возможности/цена, где знаменатель особенно интересен если ты идёшь в массовый сегмент, для себя же лично или мелкосерийно я бы порекомендовал Raspberry Pi Zero W с полноценным Linux (в том числе Kali есть) на борту заюзать - там и возможностей море и главное геморроя в разработке ну прям существенно меньше, то есть по цене оно того стоит в общем-то той переплаты по сравнению с ESP8266.
@@unit3301 C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void sendDeauthPackets(uint8_t*, uint8_t*, int)': menu_scan_deauth_full_captive_save_testAP_save_fix:166:82: error: 'wifi_send_pkt_freedom' was not declared in this scope C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)': menu_scan_deauth_full_captive_save_testAP_save_fix:203:27: error: 'wifi_set_channel' was not declared in this scope menu_scan_deauth_full_captive_save_testAP_save_fix:204:32: error: 'wifi_promiscuous_enable' was not declared in this scope C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In lambda function: menu_scan_deauth_full_captive_save_testAP_save_fix:225:13: error: 'find' is not a member of 'std' C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)': menu_scan_deauth_full_captive_save_testAP_save_fix:233:4: error: 'wifi_set_promiscuous_rx_cb' was not declared in this scope exit status 1 'wifi_send_pkt_freedom' was not declared in this scope
@@unit3301 C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void sendDeauthPackets(uint8_t*, uint8_t*, int)': menu_scan_deauth_full_captive_save_testAP_save_fix:166:82: error: 'wifi_send_pkt_freedom' was not declared in this scope C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)': menu_scan_deauth_full_captive_save_testAP_save_fix:203:27: error: 'wifi_set_channel' was not declared in this scope menu_scan_deauth_full_captive_save_testAP_save_fix:204:32: error: 'wifi_promiscuous_enable' was not declared in this scope C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In lambda function: menu_scan_deauth_full_captive_save_testAP_save_fix:225:13: error: 'find' is not a member of 'std' C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)': menu_scan_deauth_full_captive_save_testAP_save_fix:233:4: error: 'wifi_set_promiscuous_rx_cb' was not declared in this scope exit status 1 'wifi_send_pkt_freedom' was not declared in this scope
@otherattack6125 я имею в виду, если использовать esp-idf там не будет возможности, отправлять любые пакеты на не аутентифицированые точки доступа, эту функцию разрабы удалили. Я закал esp8266, хочу на ней посмотреть, что позволяет esp-idf, так как сдк другие для этой платформы и она старая есть вероятность что такая возможность есть. Автор видео использует Фреймворк arduino который под собой использует esp-idf поэтому если на чисто esp-idf не будет такой возможности то я не понимаю как тогда с Arduino такая возможность есть, придётся для такой задачи использовать Arduino Фреймворк
@@neofitomega841 на всех еспшках запрещен отсыл фреймов деаутентификации. но есть прошивка под нее от spacehuhn которая обходит эту парашу. а для есп32 надо пару аргументов в компиляторе приписать, которые позволят изменять из своего кода функции внутри ядра есп32, на гитхабе целых 2 репозитория этому посвящены, можешь поискать
ээээ я думал я один эту нишу занял, а щас начали частенько попадаться видосы где челы такие же джаммеры делают. че за эпидемия кста протокол 11n уже мало кто использует, ходил по городу собирал через 8266 исписок из часто используемых протоколов, этих дай бог штук 50 нашлось. так что веселье заканчивается, остается лишь с беконами угарать
Красавчег. Но.... Я бы рекомендовал посмотреть в сторону Linux phonов. Это куда более жизнеспособное направление с большим количеством возможностей. Во первых минимальные габариты. Во вторых более современный процессор. 3) Больше ОЗУ. 4) куча встроенных датчиков, как минимум,GSM , блюпуп, вайфай, NFC 5) многообразие возможностей писать коды, команды , скрипты прям на экране смарта, при том на разных языках и в разных средах разработки. 6) возможность подключения гаджета к другим устройствам как по проводной , так и беспроводной связи. Пусть то это будет переферия или же другие автономные терминалы. 7) возможность использовать гаджет как полноценый смарт. 8) гибкость настройки конфигурации оси и её интерфейса. 9) полный контроль над гаджетом. 10)меньше вопросов от посторонних людей. Если тебя при работе встретят полицаи или кто другой. При виде что у тебя в руках телефон. Вряд ли кто то будет задавать вопросы" а что это такое? зачем тебе это? А что ты с этим собираешься делать? " Телефон, как телефон. Пусть даже с доп клавой, юсб хабом, зарядкой , эзернет переходником и прочими многочисленными проводными или беспроводными гаджетами которые возможно подключить к телефону для расширения функционала. 🤷♂️
@unit3301 ну смотри. Данное направление как таково очень ограниченное. Есть определенный слой энтузиастов, но не массово. Соответственно наработки есть. Но их не особо много. Так как линуксоподобные гаджеты во первых сыроватые, во вторых не особо удобны обычному пользователю. Ну и в-третьих. Линуксные разработки это как чаще всего свободные разработки которые распространяются по свободной лицензии. И на которых сложно зарабатывать коммерсантам. Впринципе ты как айтишник это и сам думаю, знаешь. Что до гаджетов. Тут два путя. 1) можно за гуглить. Есть готовые решения на линксе. Типа. Pinephone, fairphone, librem, pro 1x, villa phone. 2) взять гаджет на андроид. К примеру redmi 8 или ему подобные. Портировать на него Линукс и использовать как мини пк. 🤷♂️ Информацию по данным девайсам и наработкам можно найти в интернете. Дело в том что Линукс оs довольно таки мощная и гибкая, но малоизученная. ) А при условии технических возможностей современных гаджетов и умении создавать драйвера, оболочки, пакеты под линуксом. Можно много чего интересного создать. )
Да, но цена... Эту штуку можно автоматизировать, бросил в рюкзак - и пусть она урожай собирает :). Мне кажется, чел с ноутом меньше вопросов вызовет, чем персонаж с телефоном с внешней клавиатурой и кучей дополнительных проводов и переходников ;).
В общем, есть момент по поводу одновременного режима работы AP + Deauth.
ESP32 - точно не решит вопрос , т.к в новых версиях функции отправки deauth пакетов заблокированы на "уровне железа". Если кратко и понятно.
ESP8266 - пока что дополнительно тестирую режим работы AP + Deauth, если все получится , тогда подключу новый дисплей + более продуманный корпус и запишу видео.
Хорош, рад что у тебя получилось
Огонь. Не знаю зачем но это хочу себе😂
Самое главное под аккумом оставь место на вздутие аккумулятора и чтобы в него острое не упиралось даже после вздутия. Иначе как токо с ним вдруг че там пожар начнется. Лучше всего отдельную для него полость, с крышкой которая отойдёт после вздутия и останется лишь желание заменить акум. Успехов.
Как это было Galaxy Note 7
ананимус, кофты с длинными руковами стоит использовать ибо татухи сдадут тебя на раз два. :)
Это не я , это нейросеть.
@@unit3301 да ладно
@@unit3301и голос стоит модернизировать
Красавчик
Самое сложное слово всего Интернета 😁
деаутхер ?
@@unit3301 Деаунтифтифтитифтификация 😁
Наконец-то, сделано устройство с нормальным функционалом!
А можно организовать подключение не через веб страничку, а прямо как к точке доступа?
Не понял , еще раз скажи как
Так тут суть как раз в этой фишинговой страничке
А деаутентифицированный клиент в автоматическом режиме будет ли подключаться/посылать пароль к фейковой открытой точке доступа?
Если автоматически подключится к фейковой , то должен. К своей - точно посылает. Как правило его перехватывают и брутят. Где-то такое видел)
Airodump-ng, видимо. Примерно тут мои знания заканчиваются (пока) - он ведь его хешированный посылает, т.е. всё равно надо будет хендсшейк брутить? Или на открытую точку доступа приходит "голый" пароль, без выкрутасов? Почитал бы на эту тему, если посоветуешь чего ;).
@@aflamencao Не , с выкрутасами всегда.
Чтобы полностью понять , надо подключать анализаторы трафика и смотреть что как приходят и уходит. Это уже какой-то более углубленный подход, не знаю, надо оно вам или нет, смотря какая задача.
даров, сидел на твоем стриме) у меня прям глаза загорелись от такого гаджета и хочу сам чтонибудь спаять теперь
А твоя прошивка есть на гитхабе или хотя бы у тебя в тг?
В описании
Как в фишинговую точку доступа , засунуть свой отредактированный html ? И ещё момент, при вводе пароля от вай фая жертвой фишинговая точка отваливается потом автоматически?
В функции StartCaptivePortal есть обработчик server.on(/hotspot-detect.html) , вот там можно генерировать свой html код.
Да , после нажатия на кнопку отправить, вызывается обработчик server.on(/submit) , сохраняется пароль в память и плата перезагружается.
Берём ноут , два вайфай адаптера с режимом мониторинга ( альфа желательно) идём в Линукс запускаем fluxion и делаем клон точки которою хотим хакнуть, один адаптер глушит , второй создаёт клон , ждем пока жертва подключится и введёт пароль , после чего радуемся , всем удачи
👍
21 век на дворе , кнопка питания механическая . Это при том что на борту есть режимы глубокого сна . Я уже молчу про габариты и отсутствие антены , Дальность 2-3 метра . Ну отключили вы точку а хэндшейк ловить будете ноутбуком ? Тогда в чём смысл таскать с собой "это" ноут и так легко дисконектит клиентов . Поишите "хэш монстр" он хоть хэндшейки сам ловит (esp32)
Дальность 30 см
@unit3301 А в чём тогда смысл ?
почему удалил стрим на ютубе, где в лайве паял и делал этот девайс? будут ссылки на запись?
А зачем ?
Можно узнать для чего это устройство нужно?
Вероятно, для атаки мейн wifi сети, дальнейший доступ к сети, а там уже полет фантазии
ESP8266 это довольно слабенькая штучка по современным меркам, удивительно как ты столько всего запихал в неё ! (я разрабатывал когда-то давно именно под ESP8266, знаю)
Преимущество ESP8266 это в первую очередь соотношение возможности/цена, где знаменатель особенно интересен если ты идёшь в массовый сегмент, для себя же лично или мелкосерийно я бы порекомендовал Raspberry Pi Zero W с полноценным Linux (в том числе Kali есть) на борту заюзать - там и возможностей море и главное геморроя в разработке ну прям существенно меньше, то есть по цене оно того стоит в общем-то той переплаты по сравнению с ESP8266.
Интересно, можно из esp 32 сделать джаммер bluetooth
Конечно esp32 просто плата с улуч. Характеристиками
Выдает ошибку при компиляции WiFi_send_pkt_freedom was not declared in this scope не силен в программировании
WiFi_send_pkt_freedom в коде не фигурирует. Перепроверь что компилируешь.
@unit3301 скетч в ide
@@unit3301 C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void sendDeauthPackets(uint8_t*, uint8_t*, int)':
menu_scan_deauth_full_captive_save_testAP_save_fix:166:82: error: 'wifi_send_pkt_freedom' was not declared in this scope
C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)':
menu_scan_deauth_full_captive_save_testAP_save_fix:203:27: error: 'wifi_set_channel' was not declared in this scope
menu_scan_deauth_full_captive_save_testAP_save_fix:204:32: error: 'wifi_promiscuous_enable' was not declared in this scope
C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In lambda function:
menu_scan_deauth_full_captive_save_testAP_save_fix:225:13: error: 'find' is not a member of 'std'
C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)':
menu_scan_deauth_full_captive_save_testAP_save_fix:233:4: error: 'wifi_set_promiscuous_rx_cb' was not declared in this scope
exit status 1
'wifi_send_pkt_freedom' was not declared in this scope
@@unit3301 C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void sendDeauthPackets(uint8_t*, uint8_t*, int)':
menu_scan_deauth_full_captive_save_testAP_save_fix:166:82: error: 'wifi_send_pkt_freedom' was not declared in this scope
C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)':
menu_scan_deauth_full_captive_save_testAP_save_fix:203:27: error: 'wifi_set_channel' was not declared in this scope
menu_scan_deauth_full_captive_save_testAP_save_fix:204:32: error: 'wifi_promiscuous_enable' was not declared in this scope
C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In lambda function:
menu_scan_deauth_full_captive_save_testAP_save_fix:225:13: error: 'find' is not a member of 'std'
C:\Users\Ирина\Desktop\Hobbit\menu_scan_deauth_full_captive_save_testAP_save_fix-main\menu_scan_deauth_full_captive_save_testAP_save_fix\menu_scan_deauth_full_captive_save_testAP_save_fix.ino: In function 'void scanClientsInNetwork(uint8_t*, int)':
menu_scan_deauth_full_captive_save_testAP_save_fix:233:4: error: 'wifi_set_promiscuous_rx_cb' was not declared in this scope
exit status 1
'wifi_send_pkt_freedom' was not declared in this scope
@@unit3301 можете библиотеки закинуть на гит, которые используются
Доброго дня, не нашел код в ТГ, можете поделиться пожалуйста?
В описании того видео, на git
Спасибо большое супер контент, буду тоже тестировать)
ТИГР, я сейчас на esp32 пишу, пытаюсь с m5 стик плюс адаптировать, но в платформио не получается адекватно, именно в скачивании проблема.
а с отправкой deauth пакетов у тебя нет проблем ?
Плата в перезагрузку уходит
То есть можно тоже самое сделать на esp32?
Можно, там 2 ядра, одно глушит, а другое рыбачит.
@otherattack6125 я имею в виду, если использовать esp-idf там не будет возможности, отправлять любые пакеты на не аутентифицированые точки доступа, эту функцию разрабы удалили. Я закал esp8266, хочу на ней посмотреть, что позволяет esp-idf, так как сдк другие для этой платформы и она старая есть вероятность что такая возможность есть. Автор видео использует Фреймворк arduino который под собой использует esp-idf поэтому если на чисто esp-idf не будет такой возможности то я не понимаю как тогда с Arduino такая возможность есть, придётся для такой задачи использовать Arduino Фреймворк
@@neofitomega841 на всех еспшках запрещен отсыл фреймов деаутентификации. но есть прошивка под нее от spacehuhn которая обходит эту парашу. а для есп32 надо пару аргументов в компиляторе приписать, которые позволят изменять из своего кода функции внутри ядра есп32, на гитхабе целых 2 репозитория этому посвящены, можешь поискать
что за контроллер на схеме?
Контроллер заряда - TP4056
Можно ссылку на 3д модельку.
В описании
ээээ я думал я один эту нишу занял, а щас начали частенько попадаться видосы где челы такие же джаммеры делают. че за эпидемия
кста протокол 11n уже мало кто использует, ходил по городу собирал через 8266 исписок из часто используемых протоколов, этих дай бог штук 50 нашлось. так что веселье заканчивается, остается лишь с беконами угарать
дайте ссылку на прошывку?
Позже залью. Отвечу тебе.
@unit3301 Благодарю
Обновил описание
Все так интересно,но ничего вообще не понятно
Привет
😃
Привет
ссылка на чат не работает. рег ру денег хочет.
Зае... они. Продлил.
@unit3301 😂
Помоги пожалуйста вз0мать школьний дневник😅😂😂😂😂
Красавчег.
Но.... Я бы рекомендовал посмотреть в сторону Linux phonов.
Это куда более жизнеспособное направление с большим количеством возможностей.
Во первых минимальные габариты.
Во вторых более современный процессор.
3) Больше ОЗУ.
4) куча встроенных датчиков, как минимум,GSM , блюпуп, вайфай, NFC
5) многообразие возможностей писать коды, команды , скрипты прям на экране смарта, при том на разных языках и в разных средах разработки.
6) возможность подключения гаджета к другим устройствам как по проводной , так и беспроводной связи.
Пусть то это будет переферия или же другие автономные терминалы.
7) возможность использовать гаджет как полноценый смарт.
8) гибкость настройки конфигурации оси и её интерфейса.
9) полный контроль над гаджетом.
10)меньше вопросов от посторонних людей. Если тебя при работе встретят полицаи или кто другой.
При виде что у тебя в руках телефон.
Вряд ли кто то будет задавать вопросы" а что это такое? зачем тебе это? А что ты с этим собираешься делать? "
Телефон, как телефон. Пусть даже с доп клавой, юсб хабом, зарядкой , эзернет переходником и прочими многочисленными проводными или беспроводными гаджетами которые возможно подключить к телефону для расширения функционала. 🤷♂️
Какую модель рассмотреть ?
@unit3301 ну смотри. Данное направление как таково очень ограниченное. Есть определенный слой энтузиастов, но не массово. Соответственно наработки есть. Но их не особо много. Так как линуксоподобные гаджеты во первых сыроватые, во вторых не особо удобны обычному пользователю.
Ну и в-третьих. Линуксные разработки это как чаще всего свободные разработки которые распространяются по свободной лицензии. И на которых сложно зарабатывать коммерсантам.
Впринципе ты как айтишник это и сам думаю, знаешь.
Что до гаджетов.
Тут два путя.
1) можно за гуглить. Есть готовые решения на линксе. Типа.
Pinephone, fairphone, librem, pro 1x, villa phone.
2) взять гаджет на андроид.
К примеру redmi 8 или ему подобные. Портировать на него Линукс и использовать как мини пк. 🤷♂️
Информацию по данным девайсам и наработкам можно найти в интернете.
Дело в том что Линукс оs довольно таки мощная и гибкая, но малоизученная. )
А при условии технических возможностей современных гаджетов и умении создавать драйвера, оболочки, пакеты под линуксом.
Можно много чего интересного создать. )
@@gambridgkalahacer6242 Посмотрю обязательно , спасибо
@@unit3301 да не за что бро. ) сам такой же энтузиаст как и ты. )👍
Да, но цена... Эту штуку можно автоматизировать, бросил в рюкзак - и пусть она урожай собирает :). Мне кажется, чел с ноутом меньше вопросов вызовет, чем персонаж с телефоном с внешней клавиатурой и кучей дополнительных проводов и переходников ;).
Продай
На каком языке написал?
C++
На английском
@ комментарии на русском
Домен на чат протух
Продлил
@ да и пох
Здарова
Здорова
90000
Бред проще гараздо взломать роутер тупо через прдборщик паролей и посмотреть пароль от вайфай