기기와 기기를,
번호 하나로.
P2PConnect는 원격제어 전용 프로그램이 아닙니다. 두 프로그램 사이에 안전한 양방향 통로를 열어 주고, 그 통로로 무엇을 주고받을지는 쓰는 프로그램이 정합니다.
- 9자리 연결 번호
- WebRTC 직접 연결
- 응용 데이터는 서버를 지나지 않음
- 호스트를 등록합니다프로그램이 시그널링 서버에 등록하고 연결 번호를 받습니다.
- 번호로 접속합니다상대가 번호와 접속 비밀값으로 연결을 요청하면, 서버는 협상만 중계합니다.
- 직접 통신합니다두 프로그램 사이에 데이터 채널이 열리고, 그 뒤로 서버는 관여하지 않습니다.
공유기 뒤에 있어도,
찾아서 잇습니다
같은 망이면 내부 주소로, 다른 망이면 STUN으로 공유기 뒤의 상대와 연결합니다. 서버가 발급한 번호는 서버를 다시 켜도 유지됩니다.
- 같은 망 · 내부 주소
- 다른 망 · STUN
- 사무실 · 집 · 이동통신망 실측
Python과 브라우저,
두 가지 SDK
문자열과 바이너리를 양방향으로 보내고 메시지 경계를 지킵니다. 한 호스트가 여러 접속자와 동시에 연결을 유지하고, 하나가 끊겨도 나머지는 영향을 받지 않습니다.
다른 언어 SDK는 준비 중입니다.서버는 직접,
가볍게 운영합니다
시그널링 서버는 Python 3.10 이상에 의존성 하나로 돌고, Windows 서비스로 상시 실행합니다. 계정도 DB도 없이, 공인 IP와 포트 하나면 됩니다.
- 의존성 1개
- Windows 서비스
- 계정 · DB 없음
- 관리 페이지 · 상태 확인 주소
응용 데이터는
서버를 지나지 않습니다
시그널링 서버는 연결 협상만 중계하고 계정·DB가 없습니다. 접속 비밀값과 협상 내용은 로그에 남기지 않습니다.
도큐중계서버의 주요 기능을 소개합니다.
연결 번호로 상대 찾기
서버가 발급한 9자리 번호(또는 26자 ID)로 상대를 찾습니다. 번호는 서버를 다시 켜도 유지됩니다.
직접 연결
가능하면 WebRTC 데이터 채널로 두 프로그램을 직접 잇습니다. 메시지 경계를 지킵니다.
NAT·공유기 통과
같은 망이면 내부 주소로, 다른 망이면 STUN으로 공유기 뒤의 상대와 연결합니다.
여러 접속자 동시 연결
한 호스트가 여러 접속자와 동시에 연결을 유지하고, 하나가 끊겨도 나머지는 영향이 없습니다.
자동 재접속
시그널링이 끊겨도 자동으로 다시 등록하며 이미 열린 연결은 그대로 둡니다(Python 클라이언트).
암호화와 접속 통제
DTLS·TLS 암호화와 인증서 지문 고정. 비밀값은 호스트가 검증하고 서버는 시도 횟수를 제한합니다.
관리 페이지
대기 호스트 목록·세션 수·연결 기록을 보는 관리 페이지와 상태 확인 주소를 둡니다.
가벼운 서버
의존성 하나, 계정·DB 없음. Windows 서비스로 상시 실행합니다.
쓰임새는 자유롭게
원격제어, 파일 전송, 브라우저와 로컬 서비스, 데스크톱·모바일 앱, IoT처럼 양방향 통로가 필요한 곳에.
라이선스와 요금
| 구분 | 가격 | 이용 범위 |
|---|---|---|
| 비상업 이용 | 무료 | PolyForm Noncommercial 1.0.0 조건에 따라 비상업 목적으로 이용 |
| 상업 이용 | 문의 | 별도 라이선스가 필요합니다. 상업 라이선스 요금은 준비 중입니다. |
소스는 공개돼 있지만 오픈소스 라이선스는 아닙니다. 상업 이용 여부가 애매하면 먼저 문의해 주세요.
받기
- Python 클라이언트 · 브라우저 모듈개발자용 SDK입니다. 배포 방식은 준비 중이며, 지금은 문의로 안내합니다.준비 중
- 시그널링 서버Windows 서비스로 실행합니다. 상업 이용은 별도 라이선스가 필요합니다.준비 중
설치 파일 형태의 일반 사용자 제품이 아니라 Python·브라우저 SDK와 서버 소스로 제공합니다. 홈페이지에서의 배포 방식은 준비 중입니다.
사양과 구성
| 서버 | Python 3.10 이상, 의존성 1개. Windows 서비스로 상시 실행. 공인 IP와 포트 하나 필요 |
|---|---|
| 클라이언트 | Python(asyncio·aiortc) 패키지 · 브라우저용 ES 모듈(의존성 없음) |
| 전송 | WebRTC 데이터 채널, 문자열·바이너리 양방향, 메시지당 최대 64KiB |
| 관리 | 대기 호스트 목록·세션 수·연결 기록 관리 페이지와 상태 확인 주소 |
| 라이선스 | PolyForm Noncommercial 1.0.0. 비상업 이용 무료, 상업 이용은 별도 라이선스. 소스 공개(오픈소스 라이선스는 아님) |
| 준비 중 | 직접 연결 실패 시 TURN 자동 중계, 네트워크 변경 후 자동 재연결, 컨테이너 배포, 다른 언어 SDK |
버전 히스토리
현재 제공 범위
- 연결 번호 발급과 상대 찾기, WebRTC 직접 연결
- Python 클라이언트(자동 재접속) · 브라우저 ES 모듈
- 여러 접속자 동시 연결
- 관리 페이지와 상태 확인 주소
준비 중
- 직접 연결 실패 시 TURN 자동 중계
- 네트워크 변경 후 자동 재연결
- 컨테이너 배포
- 다른 언어 SDK
이전 버전
자주 묻는 질문
원격제어 프로그램인가요?
주고받는 데이터가 서버를 거치나요?
회사 제품에 넣어도 되나요?
오픈소스인가요?
직접 연결이 안 되는 망에서는 어떻게 되나요?
Python과 브라우저 말고 다른 언어도 되나요?
도움말과 약관
개발자 문서는 준비 중입니다. 시그널링 서버는 계정·DB가 없고 응용 데이터는 서버를 지나지 않습니다. 라이선스는 PolyForm Noncommercial 1.0.0이며 상업 이용은 별도 계약입니다.