Kitedesk 기능
Kitedesk는 Windows·macOS·Linux·Android용 오픈소스(AGPL-3.0-only) 원격 데스크톱(원격 제어) 앱입니다. 서버 설정 없이 연결하고, 휴대폰으로 PC를 다룰 때의 불편을 하나씩 고쳐 가는 베타입니다.
Kitedesk가 집중하는 것은 세 가지입니다. 휴대폰으로 PC를 다룰 때의 불편을 줄이는 개선, Android 앱의 SSH 터미널, 그리고 게시한 파일의 SHA-256과 소스 코드를 함께 공개하는 배포 방식입니다. 이 페이지에는 지금 게시된 버전에서 되는 것과 아직 안 되는 것을 함께 적었습니다.
한눈에 보기
- 라이선스: GNU AGPL-3.0-only 오픈소스입니다. 설치 파일을 내려받을 수 있는 버전마다 같은 버전의 전체 소스를 함께 게시합니다.
- 비용: 현재 공개 빌드는 무료로 내려받아 쓸 수 있고, 결제 기능은 열려 있지 않습니다. 유료 플랜의 구성과 가격은 공개 전입니다.
- 회원가입: 필요 없습니다. 상대 기기의 ID로 연결을 요청하고 그 기기에서 수락하면 연결됩니다(기본 설정).
- 지원 운영체제: Windows 10/11(x86_64), macOS(Apple Silicon·Intel 유니버설), Linux(x86_64, glibc 2.39 이상), Android(arm64·armv7)입니다. iOS 앱은 준비 중입니다.
- 배포 방식: 공식 사이트에서 직접 내려받습니다. 앱 스토어에는 등록하지 않았고, Windows 설치 파일은 코드 서명 전, macOS 앱은 Apple 공증 전입니다.
- 상태: 베타입니다. 기본 연결 서버는 가용성·속도·수용 인원을 보장하지 않습니다(SLA 없음).
가입도 서버 설정도 없이 연결
Kitedesk는 회원가입 없이 연결합니다. 기본 설정에서는 상대 기기의 ID로 연결을 요청하고, 그 기기에 뜨는 창에서 수락하면 연결됩니다. 상대 기기의 설정에서 비밀번호 접속을 켜 두면 일회용 비밀번호로도 연결할 수 있고, 일회용 비밀번호는 인증된 세션이 끝나면 새 값으로 바뀝니다.
설치 직후 기본 연결 서버에 자동으로 등록되므로 서버 주소나 키를 입력하지 않아도 됩니다. 베타 기간의 기본 연결 서버는 가용성·속도·수용 인원을 보장하지 않습니다(SLA 없음).
직접 운영하는 호환 서버(hbbs/hbbr)의 주소와 공개키를 지정할 수 있으며, 지정한 서버가 기본값보다 우선하고 그 서버에는 Kitedesk 서비스 이용 임대(lease)를 보내지 않습니다.
휴대폰으로 PC 다루기
Android 휴대폰으로 Kitedesk가 실행 중인 PC(Windows·macOS·Linux용 데스크톱 앱)를 원격 제어할 수 있습니다. 실제 사용 확인은 Windows PC 상대로 했습니다. macOS PC는 화면 기록·손쉬운 사용 권한을 허용해야 하고, 지금 빌드는 정식 코드 서명 전이라 업데이트 뒤 다시 허용해야 할 수 있습니다. 아래 기능은 1.4.13-1에 들어 있으며, 괄호로 표시한 항목은 실기기 확인이 진행 중입니다.
모니터 고르기와 모든 모니터 보기
Android 앱에서 원격 PC의 모니터를 번호로 하나씩 고르거나, '모든 모니터'(격자 아이콘)를 골라 모든 모니터를 한 화면에 볼 수 있습니다(상대 PC 모니터가 2개 이상일 때). 양쪽이 1.4.13-1 이상이면 이 보기가 상대 Windows PC의 모니터별 배율(DPI)을 받아 모니터 배치를 운영체제 논리 좌표 기준으로 그리고, 누른 위치도 그 배치에 맞춰 보내도록 개선했습니다. 모니터마다 배율이 다른 Windows PC를 위한 변경이며, 모니터의 물리적 크기를 그대로 재현하지는 않습니다(실제 모니터 환경 확인 진행 중).
키보드가 올라와도 확대 유지
Android 앱에서 확대한 채 소프트 키보드를 올리고 내리면 확대 배율이 풀리던 문제(펼친 폴더블에서 키보드 때문에 화면 방향을 잘못 판정하던 경우 포함)를 개선했고, 키보드가 올라올 때 마지막으로 누른 지점이 가려지면 화면을 옮겨 보여 줍니다. 숫자 1로 시작하는 글을 붙여넣으면 첫 글자가 빠지고 그 뒤 입력이 한 칸씩 밀리던 문제도 수정했습니다(폴더블 실기기 확인 진행 중).
창 전환을 한 번에
Android 앱의 세션 메뉴에서 상대 운영체제에 맞는 '창 전환'(Windows·Linux는 Alt+Tab, macOS는 Cmd+Tab)과 '창 전체 보기'(Windows는 Win+Tab, macOS는 Ctrl+↑)를 한 번에 보낼 수 있습니다(실기기 확인 진행 중).
여러 PC를 탭으로
Android 앱에서 원격 세션을 최대 5개까지 탭으로 열어 두고 전환할 수 있습니다. 화면의 짧은 변이 600dp 이상인 넓은 화면(태블릿·펼친 폴더블 등)에서는 두 세션을 나란히 보여 주고, 보이지 않는 탭은 영상 디코딩을 멈춥니다(실기기 확인 진행 중).
화면이 오지 않을 때 이유 표시
상대가 데스크톱(Windows·macOS·Linux)이고 화면 캡처를 시작하지 못하면, 상대가 보고한 사유(디스플레이 없음, 캡처 준비 실패, macOS 화면 기록 권한 없음, 프레임 없음 등)와 '다시 연결' 버튼을 보여 줍니다. 사유를 알 수 없으면 15초 뒤 확인할 점을 안내합니다. 상대도 1.4.11-7 이상이어야 사유가 보이고, Android 상대는 일반 안내만 보입니다(실기기 교차 확인 진행 중).
Android 기기를 제어받는 쪽으로 쓰기
1.4.13-1에서 Android 기기를 다른 기기에서 제어받는 동작은 아직 확인하지 않아 지원한다고 안내하지 않습니다. 관련 권한 정책은 보안과 권한 관련 동작에 정리했습니다.
원격 화면 툴바를 원하는 자리에
데스크톱 앱에서 원격 화면의 툴바를 위·오른쪽·아래·왼쪽 가장자리로 옮길 수 있습니다. 툴바의 위치 버튼이나 단축키 Ctrl+Shift+F12(macOS에서는 Cmd+Shift+F12)로 순환하고, 위치는 접속 상대별로 기억합니다.
파일 주고받기
- Android 앱의 파일 전송 화면은 진행률과 파일 수·전송량을 보여 주고, 취소하면 진행 중인 전송과 대기 중인 전송을 함께 멈춥니다(1.4.13-1 실기기 전송 확인 전).
- 1.4.13-1은 '모든 파일 접근' 권한을 요청하지 않아, 휴대폰 저장소에서 보낼 파일을 찾는 범위가 제한될 수 있습니다. 휴대폰의 파일은 다른 앱의 공유 메뉴로 Kitedesk에 보내세요. 모바일 전송 목록에서 중단된 전송을 이어받을 수 있습니다(실기기 확인 진행 중).
- 파일 전송 때 파일 이름을 유니코드 NFC로 맞춰 macOS에서 만든 한글 파일명이 자모로 갈라지지 않게 했습니다. UTF-8이 아닌 인코딩(CP949 등)으로 된 파일 이름은 아직 목록에서 빠질 수 있습니다.
휴대폰에서 SSH와 원격 터미널
- Kitedesk Android 앱에는 SSH 터미널이 있어 화면 공유 없이 서버 셸에 접속할 수 있습니다. 시험에서 비밀번호·공개키 로그인, UTF-8로 오는 한글 출력, 잠시(3초) 홈 화면에 다녀온 뒤 같은 세션을 이어 쓰는 것을 확인했습니다.
- SSH 개인키와 접속 프로필(비밀번호 포함)은 Android Keystore로 보호되는 키로 암호화해 앱 전용 보안 저장소에만 둡니다.
- 처음 접속하는 서버는 호스트 키 지문을 보여 주고 승인받아 저장하며, 저장된 지문과 다르면 연결을 거부합니다.
- Android 앱에서 데스크톱 상대의 원격 터미널(명령줄)을 열 수 있습니다. 기본 설정에서는 상대 기기에서 연결을 수락해야 하고(상대가 비밀번호 접속을 켜 두었다면 비밀번호로도 열립니다), 상대가 터미널 권한을 꺼 두었거나 보기 전용으로 두었으면 열리지 않습니다.
- iOS 앱은 준비 중이라 SSH 터미널도 지금은 Android에서만 쓸 수 있습니다.
계정은 선택: 주소록 동기화
- 계정이 없어도 연결할 수 있습니다. 이메일·비밀번호 또는 Google 계정으로 로그인하면 주소록(별칭·태그)이 로그인한 기기들 사이에 동기화되고, 각 기기의 온라인 여부가 표시됩니다.
- 로그인하고 직접 지정한 서버가 없으면, 이 기기에서 시작하는 원격 연결을 Kitedesk 릴레이로 중계하는 설정('Kitedesk 릴레이 사용')이 기본으로 켜집니다. 이 스위치 하나로 끌 수 있고, 끈 선택은 같은 기기에서 다시 로그인해도 유지됩니다.
- 웹 계정 포털에서 내 데이터를 JSON으로 내려받고, 이 사이트에 로그인한 모든 브라우저 세션을 한 번에 로그아웃하고, 회원 탈퇴를 할 수 있습니다(탈퇴는 최근 15분 안에 로그인한 웹 세션에서만). 기기에 설치된 Kitedesk 앱의 로그인은 이 기능으로 끝나지 않습니다.
- 일부 Android 기기에서는 앱의 Google 로그인에 해결되지 않은 문제가 있어 확인하고 있습니다.
새 버전 알림
Kitedesk 앱은 켤 때 공식 배포 채널에서 새 버전을 확인하고, 켜 둔 동안에도 주기적으로 다시 확인해 데스크톱에서는 카드로, 모바일에서는 배너로 알려 줍니다. 1.4.13-1에서는 켜 둔 앱이 사실상 약 12시간마다 다시 확인하므로 새 버전 게시 뒤 알림까지 12시간 가까이 걸릴 수 있습니다. 바로 확인하려면 앱을 완전히 종료한 뒤 다시 실행하거나 릴리스 목록을 확인하세요.
보안과 권한 관련 동작
- 기본 설정의 연결은 libsodium(NaCl) 방식으로 암호화합니다. 연결할 때마다 새로 만든 세션 키를 상대 기기의 Curve25519 공개키로 감싸 전달하고, 이후 데이터는 XSalsa20-Poly1305로 암호화하므로 중계 서버를 지나는 세션 데이터도 암호화된 상태입니다.
- 암호화를 확인하지 못하면 연결 전에 경고하고 계속할지 묻습니다. 경고 뒤 계속하면 보안 연결 없이 진행되고, 외부 보안 감사를 받은 적도 없습니다. 그래서 Kitedesk는 연결이 항상 암호화된다고 보장하지 않습니다.
- Android 앱은 기기 ID·키·접속 비밀번호가 들어 있는 앱 내부 저장소 데이터를 Google 클라우드 백업과 기기 간 전송 대상에서 뺐습니다.
- Kitedesk Android 앱에는 보안 화면(FLAG_SECURE)이나 잠금 화면을 우회하는 기능이 없고, 원격 입력용 접근성 권한을 켜기 전에 목적·처리하는 데이터·끄는 방법을 알리고 동의를 받습니다. (1.4.13-1에서 Android 기기가 제어받는 동작 자체는 아직 확인하지 않았습니다.)
- 기본 설정에서는 연결할 때마다 제어받는 기기에서 수락해야 하고, 비밀번호 접속은 설정에서 직접 켜야 합니다.
- Linux deb·rpm 패키지는 설치할 때 시스템 서비스를 켜고 시작합니다.
투명한 배포와 오픈소스
- Kitedesk는 GNU AGPL-3.0-only로 배포됩니다. 설치 파일과 같은 버전의 전체 소스는 각 릴리스 페이지에서 받을 수 있습니다.
- 공식 사이트의 공개 릴리스 목록(/api/releases)에 지금까지 게시한 모든 파일(2026-09-29 기준 27개 버전, 280개)의 SHA-256을 공개하고, 27개 버전 모두 소스 코드(tar.gz)를 내려받을 수 있습니다. 1.4.13-1 기준으로 제3자 구성요소 목록 1,180개와 라이선스·고지문 전문 544건(라이선스 542, NOTICE 2)을 공개합니다. 자세한 내용은 오픈소스·라이선스 고지에 있습니다.
- 1.4.10-7 이후 공개 빌드(지금 내려받을 수 있는 설치 파일 전부)는 영상 코덱으로 VP8·VP9·AV1만 쓰며, H.264·H.265 구현과 하드웨어 코덱은 넣지 않았습니다.
- 2026-08-05(한국 시간) 첫 공개 이후 2026-09-28까지 27개 버전을 공식 사이트에 게시했습니다. 이 가운데 15개 버전은 지금도 설치 파일을 받을 수 있고, 나머지 12개 버전은 게시 기록과 소스 코드만 제공합니다.
- Windows용은 MSI 설치 파일과 설치 없이 실행하는 포터블 EXE를, Linux용은 AppImage·deb·rpm·tar.gz를 제공합니다. Linux용 Flatpak 파일도 게시돼 있지만 실행을 확인하지 못해 권장하지 않습니다.
- 공개 Git 저장소(GitHub 등)는 운영하지 않습니다. 소스는 릴리스별 압축 파일로 제공합니다.
- 라이선스 전문은 GNU AGPL-3.0에서 볼 수 있습니다.
지원 플랫폼과 요구 사항
- Windows(x86_64): MSI 설치 파일(권장)과 포터블 EXE를 제공합니다. Windows 10/11 기준으로 안내하며 Windows 7·8.1은 지원하지 않습니다. 코드 서명 전이라 SmartScreen 경고가 뜰 수 있습니다. ARM64 빌드는 배포하지 않습니다.
- macOS(Apple Silicon·Intel 유니버설): DMG를 제공합니다. 앱이 선언한 최소 버전은 macOS 10.15이지만 오래된 버전에서는 검증하지 않았습니다. ad-hoc 서명이고 Apple 공증 전이라 첫 실행이 차단될 수 있으며, 업데이트 뒤에는 화면 기록 권한을 다시 허용해야 할 수 있습니다.
- Linux(x86_64): AppImage(권장)·deb·rpm·Flatpak·tar.gz를 제공합니다. deb·rpm·AppImage·tar.gz는 glibc 2.39 이상(예: Ubuntu 24.04 이상, Debian 13 이상)이 필요하고, Ubuntu 22.04와 Debian 12에서는 실행되지 않습니다. Flatpak은 아직 실행을 확인하지 못한 실험적 파일이라 권장하지 않으며, 오래된 배포판의 대안으로 쓸 수 있는지도 확인되지 않았습니다. ARM 빌드는 배포하지 않습니다.
- Android(arm64·armv7): APK를 제공합니다(arm64 권장). 앱이 선언한 최소 버전은 Android 6.0이지만 오래된 기기에서는 검증하지 않았습니다. 스토어에 등록하지 않았으므로 '출처를 알 수 없는 앱' 설치를 허용해야 합니다. x86 빌드는 배포하지 않습니다.
- iOS: 준비 중이며 공개 빌드가 없습니다.
게시된 SHA-256 값과 내려받은 파일을 대조한 뒤 설치하세요. 운영체제별 절차는 설치 가이드에 있습니다.
아직 안 되는 것
- iOS 앱은 준비 중입니다.
- 웹 브라우저에서 쓰는 웹 클라이언트는 없습니다. 기기에 설치하는 앱으로만 제공합니다.
- 한글 입력은 개선 중입니다. 사용하는 운영체제와 입력기에서 결과를 알려 주세요.
- Windows 설치 파일의 코드 서명과 macOS 앱의 Apple 공증은 아직 하지 않았습니다.
- 앱 스토어(Google Play 등)에는 등록하지 않았습니다.
- 공개 빌드에는 하드웨어 코덱과 H.264·H.265 구현이 들어 있지 않습니다.
- 지연 시간이나 프레임 속도를 측정해 공개한 적이 없어 속도는 약속하지 않습니다.
- 공개 Git 저장소는 없습니다. 소스는 릴리스별 압축 파일로 받을 수 있습니다.
베타 테스터 모집
Kitedesk는 정식 출시 전에 함께 써 볼 베타 테스터를 모집합니다. 조건을 채운 참여자는 정식 출시 후 Pro 1년을 받습니다(정식 출시일부터 계산, 양도 불가). 조건은 실사용과 설문 또는 버그 리포트 참여이며, 홍보 글 작성은 조건이 아닙니다.
모집 인원과 기간(기본 30명·4주)은 운영 상황에 따라 바뀔 수 있고, Pro 구성·가격과 정식 출시 일정은 아직 정해지지 않았습니다. 베타 신청자와 참여자가 Kitedesk 후기나 추천 글을 올릴 때는 보상을 받기 전이라도 글 제목이나 첫 부분에 경제적 이해관계를 밝혀야 합니다. 자세한 내용은 베타 테스터 모집과 베타 약관에 있으며, 신청 창구가 열려 있는지는 아래에 표시됩니다.
베타 테스터 모집 준비 중입니다. 신청 창구가 열리면 이 자리에 안내합니다.
관련 페이지
Kitedesk는 RustDesk를 기반으로 한 독립 포크입니다. RustDesk 프로젝트와 제휴하거나 승인받지 않았습니다.