Sync Server에는 동기화 데이터가 저장된 후 이벤트를 받는 플러그인 기능이 있습니다. 공개용 상세 사양과 개발 가이드는 준비 중입니다. 이 페이지에서는 현재 구현된 범위를 안내합니다.
현재 동작
plugins/<id>/plugin.php에 둔 신뢰할 수 있는 PHP 코드는 pack.stored, operations.stored, device.revoked 이벤트를 받을 수 있습니다. operations.stored에는 평문 작업 데이터가 포함됩니다. 이벤트는 관리 화면의 유지보수 작업이나 php bin/maintenance.php 실행 시 전달됩니다.
전달은 최소 1회 보장 방식이므로 같은 eventId가 여러 번 도착할 수 있습니다. 중복 처리해도 안전하게 작성하고 유지보수 작업을 동시에 여러 개 실행하지 마세요. 플러그인 예외가 이미 저장된 SyncPack을 취소하지는 않습니다.
보안과 향후 문서
플러그인은 격리된 샌드박스가 아니라 서버의 PHP 프로세스 안에서 실행됩니다. 동기화 내용을 읽을 수 있으므로 신뢰하는 코드만 설치하고 운영 플러그인과 비밀 정보는 공개 저장소에 넣지 마세요.
이벤트 인자와 호환성을 다루는 정식 가이드는 추후 공개합니다. 현재 구현 예시는 Sync Server 저장소의 plugins/example/을 참고하세요.