Если вы не живете в пещере и осведомлены о происходящем в мире 🌍, то знаете, что российское 🇷🇺 правительство начало глобальное вооруженное вторжение на территорию Украины 24 февраля 2022 года. Это реальная война. Российская армия убивает украинских солдат, гражданских жителей Украины и детей Украины прямо сейчас по приказу российского правительства. Вы можете найти тысячи видео, показывающие, что происходит в Украине.Украинцы мужественно защищают свою землю и никогда не сдадутся. Но вы должны понимать, что наша страна воюет не только за свою землю, но и за безопасность всего мира. ❗️❗️❗️ Если Украина потерпит поражение в этой войне с российской армией и российским правительством, безопасность всех стран мира 🌍 окажется под угрозой! Российское правительство и его злобные союзники, а также правительства других стран начнут перебрасывать свои армии на ВАШУ землю, рано или поздно. ❗️❗️❗Вы должны понимать, что сейчас в Украине больше людей, готовых воевать, чем оружия, военных запасов и других средств.
Если вы МОЖЕТЕ и ХОТИТЕ поддержать Украину 🇺🇦 и украинскую армию, вот твит с инструкциями от ОФИЦИАЛЬНОГО ✅ аккаунта Украины 🇺🇦## ♥️ КЛИКНИТЕ ЗДЕСЬ, ЧТОБЫ ПЕРЕЙТИ НА ТВИТ ДЛЯ ДОНАТЫ В ПОДДЕРЖКУ УКРАИНЕ! ♥️
Deskreen — это приложение на основе electron.js
, которое использует WebRTC
для создания прямого потока вашего рабочего стола в веб-браузер на любом устройстве.
Оно построено на основе Electron React Boilerplate.
Для улучшения механизмов безопасности реализована конечная шифровка, вдохновленная darkwire.io. Разница заключается в том, что оно переписано на Typescript
и преобразовано для использования node-forge
вместо window.crypto.subtle
.
Почему это было сделано? Потому что клиент, обслуживаемый http
без SSL, делает window.crypto.subtle
недоступным.
Хотите добавить поддержку нового языка для Deskreen? Или вы нашли опечатку в существующих переводах приложения Deskreen или веб-сайта? Вот пошаговые руководства:
Читайте и соблюдайте наш код поведения Contributor Covenant при письме в наших темах обсуждения.
Некоторые прогресс и обновления Deskreen можно найти здесь.
Bugs Общий - для общих отчетов о багах, если вы не знаете детали среды разработки. Пожалуйста, укажите версию Deskreen! Если вы заметили баг и знаете свою среду разработки, а также как его воспроизвести, пожалуйста, рассмотрите возможность открытия нового Issue с меткой "Bug" и предоставьте полные детали.---
Общие обсуждения - для обсуждения общих вопросов. Например, как вы узнали о Deskreen? Или отправьте приветствия и благодарности любому участнику сообщества Deskreen. 🎉---
Сценарии использования Deskreen - поделитесь с нашим сообществом, как вы используете Deskreen в этом обсуждении.
---- Передача аудио вместе с видео при экранной передаче с использованием WebRTC в Electron | Драйверы для передачи аудиовыхода как источника аудиовхода, который может быть прочитан ElectronJS WebRTC и потоком передан клиенту вместе с видео - эта функция была запрошена несколько раз, но ей еще далеко до реализации. Поделитесь своими знаниями или полезными ссылками о том, как получить встроенный аудиовыход системы и передать его в поток WebRTC, чтобы клиент мог воспроизводить его вместе с видео.---
Если вы опытный хакер Windows, Linux или MacOS, имеющий знания о низкоуровневых настройках и хитростях, вы можете помочь нам сделать Deskreen лучше!
В долгосрочной перспективе Deskreen стремится избавиться от Dummy Plugs, так как большинство людей не любят их использование. Иногда они не могут использовать их, так как все доступные порты дисплея уже заняты.
Поэтому нам нужны собственные драйверы для Windows / Mac / Linux, которые помогут включить виртуальный дисплей без использования Dummy Display Plugs.
Существуют уже работающие коммерческие решения с собственными драйверами, которые они не раскрывают, но эта задача выполнима с помощью всего сообщества.
Цель Deskreen — использовать силу и знания сообщества для преодоления этих технических проблем и сделать его надежным решением для второго экрана, от которого будут выигрывать все! Мы планируем добавить поддержку виртуального дисплейного драйвера для каждого из трех основных операционных систем и разместить все коды, связанные с ОС, в подпапке ./drivers
этого проекта.
Краткие требования к API драйвера можно найти в ./drivers/README.md
.Поделитесь вашими ценных знаний о том, как создать виртуальный рабочий стол без использования Dummy Display Plug в этом обсуждении.
Благодарим вас заранее!
Получите файл .dmg с Releases
Или установите через Homebrew: brew install --cask deskreen
Распределения на основе Debian и Ubuntu (deb)
Распределения на основе Enterprise Linux (rpm)
Arch Linux AUR Package
AppImage для других распределений
yarn test-all
локально, чтобы убедиться, что у вас нет ошибок перед отправкой PRВам потребуется наличие node
, npm
и yarn
, установленных глобально на вашем компьютере.
cd app/client; yarn install --frozen-lockfile ; cd ../../ ; yarn install --frozen-lockfile
yarn dev
-- запустите в режиме разработки с обновлениями в реальном времениyarn start
-- запустите в режиме производства для тестирования, без упаковки
yarn package
-- для упаковки приложения и создания исполняемых файлов в папке release
package.json
yarn test
-- запустите все юнит-тесты
yarn build-ux && yarn test-ux
-- запустите тесты пользовательского опыта (тесты для app/client
пока отсутствуют)### TODO: добавить e2e тесты с взаимодействием host + client app
yarn test-watch-not-silent
-- запустите тесты в режиме отслеживания с выводом консоли только для host app, исключая app/client
yarn test -- -u
-- обновите снимки экрана
app/client
yarn test
-- запустите тесты для app/client
в режиме отслеживания
test:nowatch
-- запустите тесты для app/client
один раз
yarn test -- -u
-- обновите снимки экрана
yarn coverage
-- запустите из корневой папки проекта для генерации отчета о покрытии для host
и app/client
yarn test
в корневом ./
каталоге проекта выполните это:yarn jest --updateSnapshot
в каталоге Deskreen Viewer ./app/client
проекта выполните это:
cd app/client
SKIP_PREFLIGHT_CHECK=true yarn test:nowatch -- -u
yarn test-all
локально, чтобы убедиться, что у вас нет ошибок перед отправкой PRВам нужно установить Sonar Qube community edition для вашей машины. И sonar-scanner. Затем добавьте sonar scanner в ваш PATH.
Вам нужно запустить sonar-scanner отдельно для корневого каталога
и для каталога app/client
.К счастью для вас, sonar scanner автоматически запускается после husky
проверок.
Поэтому вам нужно только установить и настроить SonarCube локально и
создать два отдельных проекта в панели SonarCube.
Первый проект для основного приложения, а второй проект для приложения-клиента.
TODO: добавить инструкции по запуску локальной версии SonarCube для Deskreen в деталях.## Документация
v
(например, v1.0.0
)git push <version-tagname>
установите версию
на <version-tagname>
! без v
в начале! (например, 1.0.0
-- не должно начинаться с v
) в этих трех файлах:
package.json
-- в ключе version
(например, 1.0.0
)app/package.json
-- в ключе version
(например, 1.0.0
)app/package-lock.json
-- в ключе version
(например, 1.0.0
)app/client/package.json
-- в ключе version
(например, 1.0.0
)Вы можете отправить ваш PR с исправлением на репозиторий Deskreen website locales
Лицензия AGPL-3.0 © Павло (Пол) Буйденков
Изображение логотипа Deskreen в формате PNG -- © Надежда ПлауноваApache 2.0 © blueprintjs
MIT © Electron React Boilerplate
simple-peer MIT. Copyright (c) Feross Aboukhadijeh
GNU General Public License (GPL) Version 2 node-forgeISC Copyright (c) 2019, Mapbox pixelmatch
🙏 Особая благодарность сообществу Electron React Boilerplate за предоставление хорошего шаблона для старта проекта Electron, что очень помогло в начале разработки Deskreen.
🙏 Благодарность GitHub workflows за возможность создания надежного CI-пайплайна для нужд 'разработки' 🛠️ Deskreen.
🙏 Большое спасибо всем 🌍 участникам сообщества открытого кода и поддерживаемым библиотекам в этом проекте.
Нажмите, чтобы сделать донат на странице Deskreen на Patreon
Нажмите, чтобы сделать донат на странице Deskreen на OpenCollective
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )