프로젝트 소개
# Weylus
Weylus는 태블릿이나 스마트폰을 컴퓨터용 그래픽 태블릿 또는 터치스크린으로 변환하는 오픈소스 애플리케이션입니다. 모든 주요 운영 체제(Linux, macOS, Windows)에서 작동하며, 태블릿 쪽에는 최신 브라우저(Firefox 80+, iOS/iPadOS 13+)만 필요합니다.
## 주요 기능
- **마우스 제어**: 태블릿을 사용하여 컴퓨터의 마우스 커서를 제어합니다.
- **화면 미러링**: 컴퓨터 화면을 태블릿에 실시간으로 미러링합니다.
- **키보드 입력**: 물리적 Bluetooth 키보드를 태블릿에 연결하여 직접 입력합니다.
- **하드웨어 가속**: GPU 가속 비디오 인코딩을 활용합니다(Linux의 VAAPI, Windows의 NVENC/MediaFoundation, macOS의 VideoToolbox).
- **스타일러스 지원(Linux)**: 스타일러스/펜 입력에 대한 전체 압력 및 기울기 감도를 지원합니다.
- **멀티터치(Linux)**: Krita와 같은 호환 소프트웨어에서 멀티터치 제스처를 지원합니다.
- **창 캡처(Linux)**: 특정 창을 선택하여 미러링하고 해당 창에만 그릴 수 있습니다.
- **보조 화면(Linux)**: 태블릿을 추가 가상 모니터로 사용합니다.
## 설치
자신의 OS에 맞는 최신 릴리스를 [릴리스 페이지](https://github.com/H-M-H/Weylus/releases)에서 받으세요. 태블릿에는 설치가 필요 없으며, 브라우저만 열면 됩니다.
Arch Linux 사용자는 AUR 패키지를 사용할 수 있습니다:
- 소스에서: `weylus`
- 사전 빌드 바이너리: `weylus-bin`
## 빠른 시작
1. Weylus를 시작하고 액세스 코드를 설정한 후(권장) 시작을 누릅니다.
2. 태블릿에서 표시된 URL(예: `http://<컴퓨터-주소>:1701`)을 엽니다.
3. TCP 포트 1701(웹서버) 및 9001(웹소켓)에 대한 방화벽 액세스를 허용합니다.
## 플랫폼별 참고 사항
### Linux
- 스타일러스 및 멀티터치 지원에는 `uinput`이 필요합니다. README의 설정 지침에 따라 udev 규칙을 만드세요.
- Wayland 지원은 실험적이며, `pipewire`, `xdg-desktop-portal` 및 포털 백엔드(GNOME용 GTK, KDE용 KDE)가 필요합니다.
- VAAPI를 통한 하드웨어 가속; `WEYLUS_VAAPI_DEVICE`를 렌더 노드(예: `/dev/dri/renderD129`)로 설정해야 할 수 있습니다.
- Intel의 `xf86-video-intel` 드라이버를 사용하여 보조 화면 기능용 가상 디스플레이를 만들 수 있습니다.
### macOS
- 하드웨어 가속에 VideoToolbox를 사용하지만, 품질은 소프트웨어 인코딩보다 낮을 수 있습니다.
### Windows
- 하드웨어 가속 인코딩을 위해 NVENC 및 MediaFoundation을 지원합니다.
## 소스에서 빌드
Rust, TypeScript, make, git, C 컴파일러, nasm 및 bash가 필요합니다. Linux에서는 추가 종속성이 필요합니다(전체 목록은 README 참조). 빌드 스크립트는 기본적으로 ffmpeg 및 libx264를 컴파일하며, `--features ffmpeg-system`으로 시스템 라이브러리를 사용할 수 있습니다.
Docker 빌드는 `hhmhh/weylus_build` 이미지를 통해 지원됩니다.
## 작동 방식
Weylus는 브라우저 PointerEvents를 사용하여 태블릿에서 스타일러스, 터치 및 마우스 입력을 캡처합니다. 이러한 이벤트는 WebSocket을 통해 서버로 전송되며, 서버는 일반 백엔드(마우스 전용) 또는 Linux에서 전체 스타일러스/멀티터치 지원을 위한 uinput 백엔드를 사용하여 처리합니다. 화면 미러링은 ffmpeg를 사용하여 데스크톱(또는 선택한 창)을 H.264 비디오 스트림으로 인코딩하며, 브라우저에서 Media Source Extensions를 통해 재생됩니다.
## FAQ 주요 사항
- **연결 문제?** 방화벽에서 TCP 포트(1701 및 9001)가 모두 열려 있는지 확인하세요.
- **macOS/Windows에서 창 캡처가 안 되나요?** 이 기능은 X11 통합으로 인해 Linux 전용입니다.
- **Android용 Firefox가 작동하지 않나요?** 다른 브라우저를 사용하거나 네트워크 구성을 확인하세요.
- **iPad Chrome 문제?** Chrome은 iPadOS에서 일부 비디오 스트리밍 기능이 부족하므로 Safari 또는 Firefox를 사용하세요.
- **WiFi가 없나요?** USB 테더링을 사용하거나 태블릿에서 핫스팟을 만드세요. Android 사용자는 ADB 포트 포워딩을 사용하여 `http://127.0.0.1:1701`로 연결할 수 있습니다.
## 보안 참고 사항
Weylus는 지연 시간을 최소화하기 위해 내장 암호화가 없습니다. 신뢰할 수 있는 네트워크에서만 실행하세요. 신뢰할 수 없는 네트워크의 경우 README에 설명된 대로 TLS 프록시(예: hitch 사용)를 설정하세요.
자세한 내용(문제 해결 및 고급 구성 포함)은 [공식 README](https://github.com/H-M-H/Weylus)를 참조하세요.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.