gRPC Debugging
gRPC Entry Point
Section titled “gRPC Entry Point”SyncTV public gRPC and HTTP REST share server.port, default 8080.
server.enable_reflection=false by default. Development environments can enable it explicitly to explore services with grpcurl; production should usually keep reflection disabled and use checked-in protobuf files.
Use grpcurl
Section titled “Use grpcurl”Start with reflection:
SYNCTV_SERVER_ENABLE_REFLECTION=true \cargo run -p synctv --bin synctv -- serveList services:
grpcurl -plaintext localhost:8080 listgrpcurl -plaintext localhost:8080 list synctv.client.AuthServicePublic client services include synctv.client.AuthService, UserService, RoomService, PublicService, EmailService, NotificationService, OAuth2Service, ProviderCommonService, AlistProviderService, BilibiliProviderService, EmbyProviderService, and RtmpProviderService. The public admin gRPC service is synctv.admin.AdminService. The management gRPC service is a separate endpoint named synctv.management.ManagementService; it is not served on server.port.
Use repository protobuf files without reflection:
grpcurl -plaintext \ -import-path synctv-proto \ -proto proto/client.proto \ localhost:8080 \ synctv.client.AuthService/Login-plaintext is for local development or trusted internal networks only. Production deployments should use TLS at the proxy or client connection layer.
Register Example
Section titled “Register Example”grpcurl -plaintext -d '{ "username": "alice", "email": "alice@example.com", "password": "SecurePassword123"}' localhost:8080 synctv.client.AuthService/RegisterLogin Example
Section titled “Login Example”grpcurl -plaintext -d '{ "username": "alice", "password": "SecurePassword123"}' localhost:8080 synctv.client.AuthService/LoginRelationship With OpenAPI
Section titled “Relationship With OpenAPI”OpenAPI documents HTTP APIs only. gRPC debugging uses reflection or protobuf files. See OpenAPI Access for Swagger UI and OpenAPI JSON.