Eugene
Мне лень vs code запускать, т.к запущено много другим программ
Eugene
Тебе надо через ipcMain в main.js передать данные
Eugene
Потом в preload их получить и обернуть/засунуть в contextBridge
Eugene
А в render.js уже юзаешь window.твойОбъект
Eugene
Александр
Завтра попробую
Григорий
залил "релиз" тестового приложения и настроил управление обновлением через диалоговое окно, сразу спрашивает
есть обновление, скачать или нет - если нажать нет тогда все ок
если нажать нажал скачать, потом новый диалог
установить сейчас или нет - если отменить то как бы просто обновление будет в ожидании и после закрытия окна оно автоматически обновится
можно как-то запретить автообновление до следующего запуска, пока пользователь не нажмет установить обновления?
Григорий
например в фигме заметил там обновления качаются автоматически и при запуске дают выбор, либо сейчас либо после перезапуска будет установка
Григорий
но все же больше интересно полностью контролировать обновления
Nicky
Всем привет. Ребят, подскажите пожалуйста, как я могу вызвать nodejs модуль по колбэку в реакте при использовании electron?
Григорий
Eugene
Григорий
на сколько не безопасно отключать contextIsolation?
пишет что для безопасноти необходимо отключать nodeIntegration
но если отключен contextIsolation можно так же получать доступ к файловой системе
Eugene
Смотри выше
Eugene
я писал уже об этом
Григорий
я писал уже об этом
а если так?))
на сколько не безопасно отключать contextIsolation?
пишет что для безопасноти необходимо отключать nodeIntegration
но если отключен contextIsolation можно так же получать доступ к файловой системе
Eugene
У меня ipcRender в vue не работал
Григорий
Eugene
Григорий
Eugene
Григорий
Eugene
Ты вызываешь window.registerUser(), в main.js обрабатываешь это и вызываешь нужный модуль
Eugene
Григорий
Nicky
loader
я не знаю такой среды. Я знаю среду серверную (process) и браузерную (рендерер)
Григорий
если у тебя нету лодера, значит ты работаешь через nodeIntegration true
Nicky
ааа значит process
Nicky
а почему в process? почему сразу ipcRenderer не вызвать в renderer?
Григорий
если у тебя nodeIntegration true значит хацкеры могут залезть через твое приложение очень легко в комп
Григорий
и даже спалить его
Nicky
как? Как это работает?
Григорий
хочешь стать хацкером?)))
Nicky
есть статьи?
Nicky
нет, я хочу написать безопасное приложение
Григорий
статьи где описывают печальное завершение хакерской атаки?))
Nicky
понятно. Что-то где-то как-то слышал, но никто ничего никогда не видел. Мне так же говорили что не стоит токены в localstorage хранить - хацверы всё украдут. Пока ни разу не видел чтоб хацкеры что-то из ls угнали, ни разу ни от кого не услышал как это возможно хотя бы теоретически
Григорий
Nicky
и когда под соусом безопасности говорят ээй чувак, используй window - это безопаснее, ну я фэйспалм ловлю)
Григорий
а ломать комп тоже очень сложно с учетом того что часть у всех стоят антивиры и материнка отключается от перегрева, если кто-то захочет сломать комп) и на этом все закончится)
Григорий
https://cloud.mail.ru/public/4KNm/5ryMDE1RW
Григорий
на качай, тут не плохо учит для старта, даже релиз и автоообновление приложение есть
Григорий
и нету возможности у кого-то спросить ... только в дискорде электрона там помогают, но там на английском все
Григорий
правда там старая версия и обязательно нужно будет отключить contextIsolation если захочешь прям все за ним повторять
Григорий
а кстати там реакт
Nicky
Anonymous
𝐇𝐞𝐥𝐥𝐨 𝐞𝐯𝐞𝐫𝐲𝐨𝐧𝐞 𝐈'𝐦 𝐯𝐞𝐫𝐲 𝐡𝐚𝐩𝐩𝐲 𝐦𝐞𝐞𝐭𝐢𝐧𝐠 𝐭𝐡𝐢𝐬 𝐛𝐞𝐬𝐭 𝐨𝐩𝐩𝐨𝐫𝐭𝐮𝐧𝐢𝐭𝐲 𝐢𝐧 𝐦𝐲 𝐥𝐢𝐟𝐞 𝐭𝐡𝐢𝐬 𝐡𝐚𝐯𝐞 𝐜𝐡𝐚𝐧𝐠𝐞𝐝 𝐦𝐲 𝐥𝐢𝐟𝐞 𝐈 𝐜𝐚𝐦𝐞 𝐚𝐜𝐫𝐨𝐬𝐬 𝐭𝐞𝐬𝐭𝐢𝐦𝐨𝐧𝐲 𝐥𝐢𝐤𝐞 𝐭𝐡𝐢𝐬 𝐨𝐧 𝐚 𝐠𝐫𝐨𝐮𝐩 𝐚𝐧𝐝 𝐢 𝐣𝐮𝐬𝐭 𝐠𝐢𝐯𝐞 𝐢𝐭 𝐚 𝐭𝐫𝐲 𝐰𝐢𝐭𝐡 𝐥𝐢𝐭𝐭𝐥𝐞 𝐜𝐚𝐩𝐢𝐭𝐚𝐥 𝐢 𝐦𝐚𝐝𝐞 𝐚 𝐩𝐫𝐨𝐟𝐢𝐭 𝐚𝐧𝐝 𝐢 𝐭𝐫𝐲 𝐢𝐭 𝐚𝐠𝐚𝐢𝐧 𝐢 𝐰𝐢𝐭𝐡𝐝𝐫𝐚𝐰𝐧 𝐦𝐲 𝐩𝐫𝐨𝐟𝐢𝐭 𝐒𝐮𝐜𝐜𝐞𝐬𝐬𝐟𝐮𝐥𝐥𝐲 𝐚𝐥𝐥 𝐦𝐲 𝐟𝐚𝐦𝐢𝐥𝐲'𝐬 𝐚𝐧𝐝 𝐟𝐫𝐢𝐞𝐧𝐝𝐬 𝐚𝐫𝐞 𝐫𝐞𝐚𝐥𝐥𝐲 𝐛𝐞𝐧𝐞𝐟𝐢𝐭𝐢𝐧𝐠 𝐟𝐫𝐨𝐦 𝐭𝐡𝐢𝐬 𝐧𝐨𝐰 𝐲𝐨𝐮 𝐜𝐚𝐧 𝐣𝐨𝐢𝐧 𝐰𝐢𝐭𝐡 𝐭𝐡𝐞 Link 𝐛𝐞𝐥𝐨𝐰 𝐭𝐡𝐢𝐬 𝐢𝐬 𝟏𝟎𝟎% 𝐥𝐞𝐠𝐢𝐭👇
https://t.me/joinchat/bnncLfFkVxQ0ODNk
Timofey
🤘кто-то заливал electron приложения для macos в тестфлайт?
Расскажите, как вы это делали? Как подписывали приложение
Григорий
в группе скоро будет 1000 молчунов, как прекрасно
Timofey
Илья
как? Как это работает?
фишка в том, что если у тебя в приложении открывается какой-то внешний ресурс и есть это разрешение, то нехороший человек может выполнить на твоем железе любой код на nodejs, то есть сможет творить все что душе угодно. Захотел, удалил все файлы, захотел, считал какие-то файлы и отправил себе по сети на сервак, запустил какой-то .exe файл, записал видео с экрана, используя api electron, или даже твоей вебки, и так же отправил себе по сети... В общем, вариантов развлечения очень много
Nicky
фишка в том, что если у тебя в приложении открывается какой-то внешний ресурс и есть это разрешение, то нехороший человек может выполнить на твоем железе любой код на nodejs, то есть сможет творить все что душе угодно. Захотел, удалил все файлы, захотел, считал какие-то файлы и отправил себе по сети на сервак, запустил какой-то .exe файл, записал видео с экрана, используя api electron, или даже твоей вебки, и так же отправил себе по сети... В общем, вариантов развлечения очень много
и как он сможет внедрить код через renderer в main process?
Илья
nodeIntegration: true дает возможность в renderer использовать возможности nodejs
Nicky
Илья
если у тебя только локальные файлы в приложении, то все ок
Илья
не нужен никакой доступ, если nodeIntegration: true, повторюсь, он уже есть автоматически, я просто в скрипте прописываю желаемую логику хака твоей системы и оно спокойненько отрабатывает
Nicky
другое дело window - когда через подключенный извне скрипт может проверить window на предполагаемые свойства с апи твоего main process и попробовать на нём что-то сделать, стянуть данные откуда-нибудь с удалённой базы - это понятно
Nicky
Илья
почитай) не буду спорить https://www.electronjs.org/ru/docs/latest/tutorial/security
Nicky
он бы был полным, если б рендерер отрабатывал в main типа ssr своеобразного
Nicky
так я же не спорю, я не могу просто твою логику понять - в ней пробелы
Илья
я уже все написал)
Илья
более подробно в доке
Nicky
понятно. Это нужно целый удалённый рендерер запустить чтоб он получил доступ к главному процессу. И то они сами не описывают каким образом, даже взяв под полный контроль один из рендереров платформы, как они получат доступ к main process - somehow бть:
As an example, consider a remote website being displayed inside a default BrowserWindow. If an attacker somehow manages to change said content (either by attacking the source directly, or by sitting between your app and the actual destination), they will be able to execute native code on the user's machine.
Nicky
я могу объяснить почему я так рьяно бросился в детали. Если бы можно было через электрон так просто получить доступ к main process через рендерер - можно было б свой тимвивер накатать на электроне, вще изи
Александр
ребят подскажите, вот я добавил такие строки в main.js которые выводят имя пк, как мне теперь это передать в index.html
Александр
Александр
когда делаю npm start все выводится, но не понимаю как передать значекние переменной в Index.html чтобы дальше с ней работать
Maksim
Григорий
понятно. Это нужно целый удалённый рендерер запустить чтоб он получил доступ к главному процессу. И то они сами не описывают каким образом, даже взяв под полный контроль один из рендереров платформы, как они получат доступ к main process - somehow бть:
As an example, consider a remote website being displayed inside a default BrowserWindow. If an attacker somehow manages to change said content (either by attacking the source directly, or by sitting between your app and the actual destination), they will be able to execute native code on the user's machine.
Ну я думаю ты же знаешь, что есть вирус,, которая вытворяет все что хочешь на компе
И вот если открыл nodeIntegration ты можешь через сайт скачать и тот же вирус или скрипт словить, который может у nodejs запросить очистку того же жёсткого и он спокойно почистит от лишней инфы твой комп, это самый простой вариант
Sergey