릴레이의 용도
기기는 먼저 직접 연결을 시도합니다. 직접 연결할 수 없으면 릴레이가 승인된 세션의 화면, 소리 및 입력 데이터를 전달합니다. Mac과 iPad 양쪽의 연결 서비스에 자신의 릴레이를 추가하면 보조 경로로 사용할 수 있습니다. 이 안내서의 다운로드, 설정 및 시작 절차는 모두 릴레이에 관한 것입니다.
다운로드 및 준비
서버 구조에 맞는 Linux x86_64 또는 ARM64 패키지를 선택하세요. remoscreen-service, remoscreen-setup, 템플릿, 이 안내서, 버전 및 소스 식별 정보, SHA256SUMS가 있어야 합니다. 배포 페이지의 체크섬과 대조한 뒤 새 버전 디렉터리에 압축을 풀고 이전 버전을 보관하세요.
Linux 서버, 해당 서버를 가리키는 도메인 및 도메인과 일치하는 유효한 HTTPS 인증서를 준비하세요. 최소 권한의 전용 사용자와 영구 데이터 디렉터리를 사용합니다. 프로그램에 실행 권한을 부여하고 상태 디렉터리는 전용 사용자만 접근하도록, 생성된 키 파일은 0600으로 설정하세요.
예시는 connect.example.com, HTTPS 8443, 릴레이 TCP 9443을 사용합니다. 도메인, 포트, 방화벽 및 클라우드 보안 그룹을 먼저 확인하세요. 사용 중인 포트는 기존 서비스를 덮어쓰지 말고 역방향 프록시나 별도 수신 주소를 계획하세요.
보조 릴레이 초기화
서비스 사용자로 실행하세요. 예시 도메인을 실제 주소로 바꾸고 그 사용자가 소유한 별도 데이터 디렉터리를 지정합니다.
./remoscreen-setup -directory /var/lib/remoscreen/relay \
-role relay -name RemoScreen \
-control-url https://connect.example.com:8443/v2/control \
-relay-host connect.example.com -relay-tcp-port 9443
서비스 ID, 클라이언트 접근 키 및 구성이 생성됩니다. 다시 초기화할 때도 relay 역할과 원래 주소를 유지해야 하며 기존 ID는 덮어쓰지 않습니다. 프로그램을 업데이트하기 위해 데이터를 삭제하거나 키를 다시 생성하지 마세요.
보조 릴레이 시작
같은 데이터 디렉터리를 사용하고 인증서 경로를 서비스 사용자가 읽을 수 있는 실제 PEM 파일로 바꾸세요.
./remoscreen-service -service-role=relay \
-control-listen=:8443 \
-control-tls-certificate=/etc/remoscreen/fullchain.pem \
-control-tls-key=/etc/remoscreen/privkey.pem \
-service-info-config=/var/lib/remoscreen/relay/service-info.json \
-relay-control-config=/var/lib/remoscreen/relay/relay-control.json \
-relay-access-keys=/var/lib/remoscreen/relay/relay-access-keys.json \
-control-revocation-store=/var/lib/remoscreen/relay/revocations.json \
-control-primary-lock=/var/lib/remoscreen/relay/primary.lock \
-account-deletion-journal=/var/lib/remoscreen/relay/deletion-journal.json \
-usage-ledger-store=/var/lib/remoscreen/relay/usage.jsonl \
-public-host=connect.example.com -tcp-relay-listen=:9443 \
-tcp-require-local-control-allocation=true \
-relay-node-id=self-hosted -relay-region=self-hosted \
-require-commercial-subscription=false
먼저 포그라운드에서 시작 결과를 확인한 뒤 Linux 서비스 관리자로 관리하세요. 서비스 정의에는 전용 사용자, 실행 파일의 절대 경로, 같은 인수, 비공개 데이터 디렉터리와 실패 시 재시작 정책이 필요합니다. 인증서 갱신 후에는 해당 서비스를 재시작하여 새 인증서를 불러오세요.
Mac 및 iPad에 추가
서버의 비공개 client-connection.json에서 서비스 주소와 클라이언트 접근 키를 확인하고 신뢰할 수 있는 경로로 사용자에게 전달하세요. 각 기기에서 연결 서비스 → 서버 추가를 열어 주소와 키를 입력하고 서비스 ID를 확인한 후 저장합니다.
앱으로 가져올 구성은 앱의 구성 내보내기 기능으로 생성해야 합니다. client-connection.json은 관리자용 초기화 결과이며 앱의 가져오기 파일이 아닙니다. service-info.json, relay-control.json, TLS 개인 키 또는 전체 서버 데이터 디렉터리를 공유하지 마세요.
직접 연결을 우선하며, 릴레이가 허용되고 직접 연결을 사용할 수 없을 때만 이 보조 서비스를 사용합니다.
배포 후 확인
다른 네트워크에서 HTTPS 인증서와 /v2/service-info의 서명된 서비스 ID를 확인한 뒤 앱에서 서버 연결 검사를 실행하세요. 이미 승인된 기기와 직접 연결이 불가능한 테스트 네트워크로 접속하여 실제로 해당 릴레이를 사용하는지 확인합니다. 인증서 또는 접근 키 오류가 없는지 로그를 확인하세요.
프로세스 실행이나 상태 확인 성공만으로 전체 기능을 보장하지 않습니다. 실제 원격 화면, 키보드, 마우스, 파일 전송 및 재연결을 확인하고 서버가 보고하는 버전이 배포 버전과 일치하는지 확인하세요.
업데이트, 복원 및 제거
업데이트 전에 구성, 모든 영구 데이터 및 이전 프로그램을 백업하고 현재 버전을 기록하세요. 대상 서비스를 중지한 후 새 버전으로 전환하되 데이터 디렉터리와 ID는 유지하고 배포 후 검사를 반복합니다. 실패하면 새 버전을 중지하고 이전 버전과 해당 백업을 복원하세요. 데이터 형식 변경 시 해당 버전의 마이그레이션 안내를 따릅니다.
제거할 때는 먼저 해당 서비스 정의를 비활성화하고 제거한 뒤, 프로그램과 데이터 삭제 여부를 관리자가 명시적으로 결정해야 합니다. 영구 데이터와 백업은 기본적으로 보관하며 다른 서비스나 앱의 데이터를 삭제하지 마세요.