kvm/app.log

920 lines
296 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2025-10-09T07:52:31Z INF jetkvm gin Request body_size=30 ip=192.168.100.141 latency=403.012207 method=POST path=/auth/login-local status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:31 | 200 | 404.399374ms | 192.168.100.141 | POST "/auth/login-local"
2025-10-09T07:52:31Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.182291 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:31 | 200 | 1.485167ms | 192.168.100.141 | GET "/device/status"
2025-10-09T07:52:31Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.217 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:31 | 200 | 1.463875ms | 192.168.100.141 | GET "/device"
2025/10/09 07:52:31 http: TLS handshake error from 192.168.100.141:57339: remote error: tls: unknown certificate
2025-10-09T07:52:31Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"]
2025-10-09T07:52:31Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local
2025-10-09T07:52:31Z INF jetkvm websocket new websocket connection established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:31Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=9398 source=192.168.100.141 sourceType=local type=offer
2025-10-09T07:52:32Z INF jetkvm websocket new session request received with raw data connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDc3MjIzNTc1MzcyOTYxODg5NjYgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnZpektcclxuYT1pY2UtcHdkOnRsK2IrcXRUcUtkNVo0bTI2MFZyZTFlVFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZEOkE5OkM5OjdEOkJBOjU2OjQ5OjE2OjUxOjEyOjk5Ojk3OjI1OjExOkY2OkUyOkNBOjc4OjJEOjM3OjQ4OkU5OjE1OkIzOkQzOjQ2OkRBOkU5OjNGOkUzOjFDOjdEXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnZpektcclxuYT1pY2UtcHdkOnRsK2IrcXRUcUtkNVo0bTI2MFZyZTFlVFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZEOkE5OkM5OjdEOkJBOjU2OjQ5OjE2OjUxOjEyOjk5Ojk3OjI1OjExOkY2OkUyOkNBOjc4OjJEOjM3OjQ4OkU5OjE1OkIzOkQzOjQ2OkRBOkU5OjNGOkUzOjFDOjdEXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{}}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket parsed session request connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDc3Mj source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion pc signaling state changed to have-remote-offer
2025-10-09T07:52:32Z INF pion pc signaling state changed to stable
2025-10-09T07:52:32Z INF pion ice Setting new connection state: Checking
2025-10-09T07:52:32Z INF jetkvm websocket Local session established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket Session added to manager mode=observer sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 totalSessions=1
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=173 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:55560887 1 udp 2122194687 192.168.64.1 64320 typ host generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 64320 typ host generation 0 ufrag vizK network-id 1 0x25fa370 0x28b7aa8 0x25fa378}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 64320 typ host generation 0 ufrag vizK network-id 1 0x25fa370 0x28b7aa8 0x25fa378}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3740741620 1 udp 2122063615 192.168.100.141 58632 typ host generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion pc ICE connection state changed: checking
2025-10-09T07:52:32Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=checking sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion pc peer connection state changed: connecting
2025-10-09T07:52:32Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:32Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":55205,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":51434,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 58632 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x25fa990 0x2332078 0x25fb460}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 58632 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x25fa990 0x2332078 0x25fb460}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 49498 typ host generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 49498 typ host generation 0 ufrag vizK network-id 2 0x25fba48 0x23330e8 0x25fba50}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 49498 typ host generation 0 ufrag vizK network-id 2 0x25fba48 0x23330e8 0x25fba50}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=217 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 58103 typ host generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 58103 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23ba138 0x23337e8 0x23ba140}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 58103 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23ba138 0x23337e8 0x23ba140}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=173 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:55560887 1 udp 2122194687 192.168.64.1 56604 typ host generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 56604 typ host generation 0 ufrag vizK network-id 1 0x23ba728 0x2333de8 0x23ba730}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 56604 typ host generation 0 ufrag vizK network-id 1 0x23ba728 0x2333de8 0x23ba730}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3740741620 1 udp 2122063615 192.168.100.141 59953 typ host generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 59953 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x23bad30 0x2011098 0x23bad38}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 59953 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x23bad30 0x2011098 0x23bad38}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 54851 typ host generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 54851 typ host generation 0 ufrag vizK network-id 2 0x23bb320 0x21aa888 0x23bb328}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 54851 typ host generation 0 ufrag vizK network-id 2 0x23bb320 0x21aa888 0x23bb328}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=217 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 54224 typ host generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 54224 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23bb910 0x21ab258 0x23bb918}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 54224 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23bb910 0x21ab258 0x23bb918}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=186 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2380300 0x220df98 0x2380308}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2380300 0x220df98 0x2380308}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9)
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x2380ff0 0x23640b8 0x2381048}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x2380ff0 0x23640b8 0x2381048}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9)
2025-10-09T07:52:32Z INF pion ice Setting new connection state: Connected
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x23819c0 0x23648d8 0x23819c8}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x23819c0 0x23648d8 0x23819c8}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9)
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x2482788 0x2364f78 0x24827a0}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x2482788 0x2364f78 0x24827a0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9)
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=186 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2483398 0x2365628 0x24833a0}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion pc ICE connection state changed: connected
2025-10-09T07:52:32Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=connected sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2483398 0x2365628 0x24833a0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9)
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x261a1d8 0x2354478 0x261a1e0}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x261a1d8 0x2354478 0x261a1e0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9)
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x261a8a8 0x2354b18 0x261a8b0}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x261a8a8 0x2354b18 0x261a8b0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9)
2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x261af40 0x2355208 0x261af48}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x261af40 0x2355208 0x261af48}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9)
2025-10-09T07:52:32Z INF jetkvm native running video stream file=video.c func=run_video_stream line=320
2025-10-09T07:52:32Z INF jetkvm native opened video capture device /dev/video0 file=video.c func=run_video_stream line=337
2025-10-09T07:52:32Z INF jetkvm native VIDIOC_REQBUFS successful file=video.c func=run_video_stream line=370
2025-10-09T07:52:32Z INF jetkvm native allocated buffers file=video.c func=run_video_stream line=373
2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QUERYBUF successful for buffer 0 file=video.c func=run_video_stream line=394
2025-10-09T07:52:32Z INF jetkvm native plane: length = 4177920 file=video.c func=run_video_stream line=396
2025-10-09T07:52:32Z INF jetkvm native plane: offset = 0 file=video.c func=run_video_stream line=397
2025-10-09T07:52:32Z INF jetkvm native Got memory block for buffer 0 file=video.c func=run_video_stream line=406
2025-10-09T07:52:32Z INF jetkvm native Converted memory block to file descriptor for buffer 0 file=video.c func=run_video_stream line=417
2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QUERYBUF successful for buffer 1 file=video.c func=run_video_stream line=394
2025-10-09T07:52:32Z INF jetkvm native plane: length = 4177920 file=video.c func=run_video_stream line=396
2025-10-09T07:52:32Z INF jetkvm native plane: offset = 0 file=video.c func=run_video_stream line=397
2025-10-09T07:52:32Z INF jetkvm native Got memory block for buffer 1 file=video.c func=run_video_stream line=406
2025-10-09T07:52:32Z INF jetkvm native Converted memory block to file descriptor for buffer 1 file=video.c func=run_video_stream line=417
2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QUERYBUF successful for buffer 2 file=video.c func=run_video_stream line=394
2025-10-09T07:52:32Z INF jetkvm native plane: length = 4177920 file=video.c func=run_video_stream line=396
2025-10-09T07:52:32Z INF jetkvm native plane: offset = 0 file=video.c func=run_video_stream line=397
2025-10-09T07:52:32Z INF jetkvm native Got memory block for buffer 2 file=video.c func=run_video_stream line=406
2025-10-09T07:52:32Z INF jetkvm native Converted memory block to file descriptor for buffer 2 file=video.c func=run_video_stream line=417
2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QBUF successful for buffer 0 file=video.c func=run_video_stream line=436
2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QBUF successful for buffer 1 file=video.c func=run_video_stream line=436
2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QBUF successful for buffer 2 file=video.c func=run_video_stream line=436
2025-10-09T07:52:32Z INF pion pc peer connection state changed: connected
2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=1 label=rpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=3 label=hidrpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=22 method=generateNickname params={"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} result={"nickname":"u-chrome-3eba"}
2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=9 label=terminal source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=11 label=serial source=192.168.100.141 sourceType=local
2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=25 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=23 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=24 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=27 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0}
2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=26 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false}
2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=28 method=updateSessionNickname params={"nickname":"Admin","sessionId":"a74b6cd0-9475-4d3d-99b8-c709bccfc950"} result={"status":"updated"}
2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=30 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=31 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=29 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=ft7sfv2fmib method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:32.169469292Z","mode":"observer","nickname":"Admin","source":"192.168.100.141"}]
2025-10-09T07:52:35Z INF jetkvm websocket Primary session grace period expired - slot now available expiredSessionID=410865e3-94c9-4e55-b4fd-f6d29a9056a8
2025-10-09T07:52:35Z INF jetkvm websocket Selected most trusted session for emergency promotion selectedSession=a74b6cd0-9475-4d3d-99b8-c709bccfc950 trustScore=35
2025-10-09T07:52:35Z WRN jetkvm websocket EMERGENCY: Bypassing approval requirement to prevent deadlock consecutiveEmergencyPromotions=1 expiredSessionID=410865e3-94c9-4e55-b4fd-f6d29a9056a8 promotedSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 requireApproval=true trustScore=35
2025-10-09T07:52:35Z INF jetkvm websocket Primary role transferred with bidirectional protection blacklistDuration=60000 blacklistedSessions=0 context="primary grace period expired" fromSessionID= toSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 transferType=emergency_promotion_deadlock_prevention
2025-10-09T07:52:35Z WRN jetkvm websocket Auto-promoted session after primary grace period expiration expiredSessionID=410865e3-94c9-4e55-b4fd-f6d29a9056a8 isEmergencyPromotion=true promotedSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 reason=emergency_promotion_deadlock_prevention
2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=34 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=32 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=33 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=36 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=35 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:36Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["h2","http/1.1"]
2025/10/09 07:52:36 http: TLS handshake error from 192.168.100.141:57342: remote error: tls: unknown certificate
2025-10-09T07:52:36Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["h2","http/1.1"]
2025-10-09T07:52:37Z INF jetkvm gin Request body_size=30 ip=192.168.100.141 latency=975.457973 method=POST path=/auth/login-local status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:37 | 200 | 977.306265ms | 192.168.100.141 | POST "/auth/login-local"
2025-10-09T07:52:37Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.258125 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:37 | 200 | 1.9985ms | 192.168.100.141 | GET "/device/status"
2025-10-09T07:52:37Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.353208 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:37 | 200 | 2.317584ms | 192.168.100.141 | GET "/device"
2025-10-09T07:52:37Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.397833 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:37 | 200 | 6.020001ms | 192.168.100.141 | GET "/static/favicon.ico"
2025-10-09T07:52:37Z INF jetkvm gin Request body_size=11757 ip=192.168.100.141 latency=8.402042 method=GET path=/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:37 | 200 | 29.748545ms | 192.168.100.141 | GET "/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png"
2025/10/09 07:52:37 http: TLS handshake error from 192.168.100.141:57344: remote error: tls: unknown certificate
2025-10-09T07:52:37Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"]
2025-10-09T07:52:37Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local
2025-10-09T07:52:37Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9398 source=192.168.100.141 sourceType=local type=offer
2025-10-09T07:52:38Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDQ5NTgyNTMxMzk0MzY4MzUzNzcgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjVDUWFcclxuYT1pY2UtcHdkOlU3dFZMamg2c1BoNFlWYkMrM1VIRDdlTlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEY5OjU5OjY0OjE5OkQ3OkZFOjVBOkI1OjMwOjhEOkJEOjEzOjZFOjJBOjMzOjg4Ojc5OkNGOkIxOkZGOkNCOkFGOkJCOkU2OjY5OjI1OjkzOjQ5OkUzOjc3OjdCOkFFXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjVDUWFcclxuYT1pY2UtcHdkOlU3dFZMamg2c1BoNFlWYkMrM1VIRDdlTlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEY5OjU5OjY0OjE5OkQ3OkZFOjVBOkI1OjMwOjhEOkJEOjEzOjZFOjJBOjMzOjg4Ojc5OkNGOkIxOkZGOkNCOkFGOkJCOkU2OjY5OjI1OjkzOjQ5OkUzOjc3OjdCOkFFXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{}}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDQ5NT source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF pion pc signaling state changed to have-remote-offer
2025-10-09T07:52:38Z INF pion pc signaling state changed to stable
2025-10-09T07:52:38Z INF pion ice Setting new connection state: Checking
2025-10-09T07:52:38Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket Session added to manager mode=pending sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2
2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 64513 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 64513 typ host generation 0 ufrag 5CQa network-cost 999 0x2584c70 0x25e8438 0x2584c78}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 64513 typ host generation 0 ufrag 5CQa network-cost 999 0x2584c70 0x25e8438 0x2584c78}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 62210 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 62210 typ host generation 0 ufrag 5CQa network-cost 999 0x25852b8 0x25e8a48 0x25852c0}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 62210 typ host generation 0 ufrag 5CQa network-cost 999 0x25852b8 0x25e8a48 0x25852c0}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 61957 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF pion pc ICE connection state changed: checking
2025-10-09T07:52:38Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF pion pc peer connection state changed: connecting
2025-10-09T07:52:38Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:38Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:38Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:38Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":60367,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":57634,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 61957 typ host generation 0 ufrag 5CQa network-cost 999 0x25858b8 0x25e9098 0x25858c0}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 61957 typ host generation 0 ufrag 5CQa network-cost 999 0x25858b8 0x25e9098 0x25858c0}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 59651 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 59651 typ host generation 0 ufrag 5CQa network-cost 999 0x22d13a0 0x24de618 0x22d13a8}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 59651 typ host generation 0 ufrag 5CQa network-cost 999 0x22d13a0 0x24de618 0x22d13a8}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF pion ice Setting new connection state: Connected
2025-10-09T07:52:38Z INF pion pc ICE connection state changed: connected
2025-10-09T07:52:38Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF pion pc peer connection state changed: connected
2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:52:38Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}"
2025-10-09T07:52:38Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}"
2025-10-09T07:52:38Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"usbState\",\"params\":\"configured\"}"
2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local
2025-10-09T07:52:38Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"pending","permissions":{}}
2025-10-09T07:52:38Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=generateNickname params={"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} result={"nickname":"u-chrome-beb2"}
2025-10-09T07:52:38Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"pending","permissions":{}}
2025-10-09T07:52:38Z DBG jetkvm websocket Running periodic session validation to catch deadlock states
2025-10-09T07:52:38Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0
2025-10-09T07:52:38Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0
2025-10-09T07:52:38Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0
2025-10-09T07:52:40Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=updateSessionNickname params={"nickname":"User","sessionId":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b"} result={"status":"updated"}
2025-10-09T07:52:44Z INF jetkvm jsonrpc RPC handler returned successfully id=37 method=denyNewSession params={"sessionId":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b"} result={"status":"denied"}
2025-10-09T07:52:48Z DBG jetkvm websocket Running periodic session validation to catch deadlock states
2025-10-09T07:52:48Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0
2025-10-09T07:52:48Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0
2025-10-09T07:52:48Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.361958 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 2.222792ms | 192.168.100.141 | GET "/"
2025-10-09T07:52:49Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025/10/09 07:52:49 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83)
2025-10-09T07:52:49Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked
 body_size=0 ip=192.168.100.141 latency=11535.780367 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 101 | 11.537486909s | 192.168.100.141 | GET "/webrtc/signaling/client"
Error #01: http: connection has been hijacked
2025-10-09T07:52:49Z INF pion pc Closing PeerConnection from DTLS CloseNotify
2025-10-09T07:52:49Z WRN pion pc Failed to accept RTP stream is already closed
2025-10-09T07:52:49Z WRN pion pc Failed to accept RTCP stream is already closed
2025-10-09T07:52:49Z WRN pion ice Failed to discover mDNS candidate b9151458-13ae-4168-9c78-9aeea6bd62a6.local: mDNS: connection is closed
2025-10-09T07:52:49Z INF pion ice Setting new connection state: Closed
2025-10-09T07:52:49Z WRN pion ice Failed to discover mDNS candidate b9151458-13ae-4168-9c78-9aeea6bd62a6.local: mDNS: connection is closed
2025-10-09T07:52:49Z INF pion pc ICE connection state changed: closed
2025-10-09T07:52:49Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:49Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:49Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:49Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false
2025-10-09T07:52:49Z INF pion pc peer connection state changed: closed
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=1098 ip=192.168.100.141 latency=0.662083 method=GET path=/static/assets/immutable/vendor-CCFZcsOx.css status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 2.120709ms | 192.168.100.141 | GET "/static/assets/immutable/vendor-CCFZcsOx.css"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=16453 ip=192.168.100.141 latency=69.466841 method=GET path=/static/assets/immutable/index-3KaWki3G.css status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 71.552257ms | 192.168.100.141 | GET "/static/assets/immutable/index-3KaWki3G.css"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=68275 ip=192.168.100.141 latency=110.189052 method=GET path=/static/assets/immutable/CircularXXWeb-Book-DcdztGze.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 111.738969ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Book-DcdztGze.woff2"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=71261 ip=192.168.100.141 latency=126.929262 method=GET path=/static/assets/immutable/CircularXXWeb-Medium-B7cMW5Np.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 128.552388ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Medium-B7cMW5Np.woff2"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=70308 ip=192.168.100.141 latency=126.367804 method=GET path=/static/assets/immutable/CircularXXWeb-Regular-C2Km8yIq.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 128.163304ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Regular-C2Km8yIq.woff2"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=63764 ip=192.168.100.141 latency=126.994304 method=GET path=/static/assets/immutable/index-Cld9j8ke.js status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 128.862138ms | 192.168.100.141 | GET "/static/assets/immutable/index-Cld9j8ke.js"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=73585 ip=192.168.100.141 latency=137.795597 method=GET path=/static/assets/immutable/CircularXXWeb-Black-CPoU8bYr.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 139.221264ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Black-CPoU8bYr.woff2"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=74165 ip=192.168.100.141 latency=140.956681 method=GET path=/static/assets/immutable/CircularXXWeb-Bold-6tPVDRzI.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 142.565806ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Bold-6tPVDRzI.woff2"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=465403 ip=192.168.100.141 latency=204.449021 method=GET path=/static/assets/immutable/vendor-C8gpwofI.js status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 206.443729ms | 192.168.100.141 | GET "/static/assets/immutable/vendor-C8gpwofI.js"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.319375 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 2.403625ms | 192.168.100.141 | GET "/device/status"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.359916 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 2.349958ms | 192.168.100.141 | GET "/static/favicon.ico"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.503709 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 2.513875ms | 192.168.100.141 | GET "/device"
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=11757 ip=192.168.100.141 latency=3.626292 method=GET path=/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 5.406333ms | 192.168.100.141 | GET "/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png"
2025/10/09 07:52:49 http: TLS handshake error from 192.168.100.141:57348: remote error: tls: unknown certificate
2025-10-09T07:52:49Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"]
2025-10-09T07:52:49Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local
2025-10-09T07:52:49Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:49Z INF jetkvm gin Request body_size=1652 ip=192.168.100.141 latency=0.484167 method=GET path=/static/assets/immutable/Terminal-D18ALJYf.js status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:49 | 200 | 2.590001ms | 192.168.100.141 | GET "/static/assets/immutable/Terminal-D18ALJYf.js"
2025-10-09T07:52:49Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer
2025-10-09T07:52:49Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDU0ODA4MDk2ODAxMzkxMDk1NTMgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnNGMXNcclxuYT1pY2UtcHdkOnF0bzR5NnV1VGZTTWVrbFBCY1ZxMFlIU1xyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDBFOjIyOkMxOjE0OjVCOkI0OkZEOjg1OkQxOjUzOjE5OkREOkFEOjdBOjc5OjUyOjg1OkI0OjAxOjg3OjRGOkI3OjA5OjE1OjI1Ojc4OjE3OkQ1OjNBOkMxOjExOkVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnNGMXNcclxuYT1pY2UtcHdkOnF0bzR5NnV1VGZTTWVrbFBCY1ZxMFlIU1xyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDBFOjIyOkMxOjE0OjVCOkI0OkZEOjg1OkQxOjUzOjE5OkREOkFEOjdBOjc5OjUyOjg1OkI0OjAxOjg3OjRGOkI3OjA5OjE1OjI1Ojc4OjE3OkQ1OjNBOkMxOjExOkVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:49Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDU0OD source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF pion pc signaling state changed to have-remote-offer
2025-10-09T07:52:50Z INF pion pc signaling state changed to stable
2025-10-09T07:52:50Z INF pion ice Setting new connection state: Checking
2025-10-09T07:52:50Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:50Z INF jetkvm websocket Session added to manager mode=pending sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2
2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 50466 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 50466 typ host generation 0 ufrag sF1s network-cost 999 0x25fabf8 0x24de738 0x25fac10}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 50466 typ host generation 0 ufrag sF1s network-cost 999 0x25fabf8 0x24de738 0x25fac10}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF pion pc ICE connection state changed: checking
2025-10-09T07:52:50Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF pion pc peer connection state changed: connecting
2025-10-09T07:52:50Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:50Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:50Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:50Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":37654,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":41321,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 59496 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 59496 typ host generation 0 ufrag sF1s network-cost 999 0x2026d88 0x24dfbb8 0x2026d90}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 59496 typ host generation 0 ufrag sF1s network-cost 999 0x2026d88 0x24dfbb8 0x2026d90}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 51603 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 51603 typ host generation 0 ufrag sF1s network-cost 999 0x2027dd0 0x2332398 0x2027dd8}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 51603 typ host generation 0 ufrag sF1s network-cost 999 0x2027dd0 0x2332398 0x2027dd8}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 54472 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 54472 typ host generation 0 ufrag sF1s network-cost 999 0x2380b58 0x2332b98 0x2380b60}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 54472 typ host generation 0 ufrag sF1s network-cost 999 0x2380b58 0x2332b98 0x2380b60}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF pion ice Setting new connection state: Connected
2025-10-09T07:52:50Z INF pion pc ICE connection state changed: connected
2025-10-09T07:52:50Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF pion pc peer connection state changed: connected
2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:52:50Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}"
2025-10-09T07:52:50Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}"
2025-10-09T07:52:50Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"usbState\",\"params\":\"configured\"}"
2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"pending","permissions":{}}
2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local
2025-10-09T07:52:50Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"pending","permissions":{}}
2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=39 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=38 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:53Z INF jetkvm gin Request body_size=70850 ip=192.168.100.141 latency=14.231876 method=GET path=/static/assets/immutable/CircularXXWeb-Italic-D9ZGG85N.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:53 | 200 | 16.559669ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Italic-D9ZGG85N.woff2"
2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=41 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=40 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=42 method=approveNewSession params={"sessionId":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b"} result={"status":"approved"}
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=43 method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:51.631432123Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:50.278241278Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:52:50.278244195Z","mode":"observer","nickname":"User","source":"192.168.100.141"}]
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:58Z DBG jetkvm websocket Running periodic session validation to catch deadlock states
2025-10-09T07:52:58Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0
2025-10-09T07:52:58Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0
2025-10-09T07:52:58Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0
2025-10-09T07:52:58Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.448291 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:58 | 200 | 3.206ms | 192.168.100.141 | GET "/"
2025-10-09T07:52:59Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025/10/09 07:52:59 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83)
2025-10-09T07:52:59Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked
 body_size=0 ip=192.168.100.141 latency=9089.523079 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:59 | 101 | 9.09404158s | 192.168.100.141 | GET "/webrtc/signaling/client"
Error #01: http: connection has been hijacked
2025-10-09T07:52:59Z INF pion pc Closing PeerConnection from DTLS CloseNotify
2025-10-09T07:52:59Z WRN pion pc Failed to accept RTP stream is already closed
2025-10-09T07:52:59Z WRN pion pc Failed to accept RTCP stream is already closed
2025-10-09T07:52:59Z INF pion ice Setting new connection state: Closed
2025-10-09T07:52:59Z INF pion pc ICE connection state changed: closed
2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false
2025-10-09T07:52:59Z INF pion pc peer connection state changed: closed
2025-10-09T07:52:59Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.192208 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:59 | 200 | 2.147833ms | 192.168.100.141 | GET "/device/status"
2025-10-09T07:52:59Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.604333 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:59 | 200 | 6.507959ms | 192.168.100.141 | GET "/static/favicon.ico"
2025-10-09T07:52:59Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.351167 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:52:59 | 200 | 6.752959ms | 192.168.100.141 | GET "/device"
2025/10/09 07:52:59 http: TLS handshake error from 192.168.100.141:57352: remote error: tls: unknown certificate
2025-10-09T07:52:59Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"]
2025-10-09T07:52:59Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer
2025-10-09T07:52:59Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDE0MTkwODcxMzIzOTUyMDg1NDQgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjEzWFdcclxuYT1pY2UtcHdkOitkZm5HTEkvRzkvaEdKNC9OeTVSd2F1ZFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDRCOjJEOjg1OkEzOjVBOjE3OkYwOkU3OjYwOjAxOkE2OjQ3OjA4OjhFOjJDOjU2OkY3OkZGOjIzOjI2OjVGOjQzOkQ5OjA2OjdFOjUzOkZFOkIzOjYwOkM3OkExOjVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjEzWFdcclxuYT1pY2UtcHdkOitkZm5HTEkvRzkvaEdKNC9OeTVSd2F1ZFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDRCOjJEOjg1OkEzOjVBOjE3OkYwOkU3OjYwOjAxOkE2OjQ3OjA4OjhFOjJDOjU2OkY3OkZGOjIzOjI2OjVGOjQzOkQ5OjA2OjdFOjUzOkZFOkIzOjYwOkM3OkExOjVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDE0MT source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF pion pc signaling state changed to have-remote-offer
2025-10-09T07:52:59Z INF jetkvm websocket ping message received connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF pion pc signaling state changed to stable
2025-10-09T07:52:59Z INF pion ice Setting new connection state: Checking
2025-10-09T07:52:59Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z INF jetkvm websocket Session added to manager mode=observer sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2
2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 58207 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 58207 typ host generation 0 ufrag 13XW network-cost 999 0x27da6b0 0x23323b8 0x27da6b8}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 58207 typ host generation 0 ufrag 13XW network-cost 999 0x27da6b0 0x23323b8 0x27da6b8}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 60456 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 60456 typ host generation 0 ufrag 13XW network-cost 999 0x27dad70 0x2332c30 0x27dad78}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 60456 typ host generation 0 ufrag 13XW network-cost 999 0x27dad70 0x2332c30 0x27dad78}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 59699 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 59699 typ host generation 0 ufrag 13XW network-cost 999 0x27db370 0x2333268 0x27db378}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 59699 typ host generation 0 ufrag 13XW network-cost 999 0x27db370 0x2333268 0x27db378}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 54689 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 54689 typ host generation 0 ufrag 13XW network-cost 999 0x27db970 0x23339b8 0x27db978}" source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 54689 typ host generation 0 ufrag 13XW network-cost 999 0x27db970 0x23339b8 0x27db978}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF pion pc ICE connection state changed: checking
2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF pion pc peer connection state changed: connecting
2025-10-09T07:52:59Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:59Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":50814,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:52:59Z INF jetkvm display set brightness brightness=32 reason=tick_display_dim
2025-10-09T07:52:59Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":59480,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF pion ice Setting new connection state: Connected
2025-10-09T07:52:59Z INF pion pc ICE connection state changed: connected
2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm display set brightness brightness=64 reason=active_sessions_changed
2025-10-09T07:52:59Z INF pion pc peer connection state changed: connected
2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=mvahmbl65w method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:59.53331525Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:52:59.533317Z","mode":"observer","nickname":"User","source":"192.168.100.141"}]
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=13 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=12 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=15 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=17 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=14 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=16 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=20 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=22 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:01Z INF jetkvm jsonrpc RPC handler returned successfully id=44 method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:59.53331525Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:52:59.533317Z","mode":"observer","nickname":"User","source":"192.168.100.141"}]
2025-10-09T07:53:03Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.376542 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:03 | 200 | 1.977209ms | 192.168.100.141 | GET "/"
2025-10-09T07:53:03Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025/10/09 07:53:03 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83)
2025-10-09T07:53:03Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked
 body_size=0 ip=192.168.100.141 latency=3884.505432 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:03 | 101 | 3.886157432s | 192.168.100.141 | GET "/webrtc/signaling/client"
Error #01: http: connection has been hijacked
2025-10-09T07:53:03Z INF pion pc Closing PeerConnection from DTLS CloseNotify
2025-10-09T07:53:03Z WRN pion sctp [0x20b5088] failed to write packets on netConn: dtls fatal: conn is closed
2025-10-09T07:53:03Z WRN pion pc Failed to accept RTP stream is already closed
2025-10-09T07:53:03Z WRN pion pc Failed to accept RTCP stream is already closed
2025-10-09T07:53:03Z INF pion ice Setting new connection state: Closed
2025-10-09T07:53:03Z INF pion pc peer connection state changed: closed
2025-10-09T07:53:03Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.846417 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:03 | 200 | 8.021126ms | 192.168.100.141 | GET "/device/status"
2025-10-09T07:53:03Z INF pion pc ICE connection state changed: closed
2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false
2025-10-09T07:53:03Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.504583 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:03 | 200 | 13.140751ms | 192.168.100.141 | GET "/static/favicon.ico"
2025-10-09T07:53:03Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.1925 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:03 | 200 | 1.590167ms | 192.168.100.141 | GET "/device"
2025/10/09 07:53:03 http: TLS handshake error from 192.168.100.141:57355: remote error: tls: unknown certificate
2025-10-09T07:53:03Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"]
2025-10-09T07:53:03Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer
2025-10-09T07:53:03Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDg5NjY4MTc1NTMyMDM3NTU2NzQgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOmdGYk9cclxuYT1pY2UtcHdkOk0vUWdxTEJZSlZ0R1MrZWg5enFCcHV1TlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEQ5OjhGOjJBOkNEOjEyOjEyOkY2OjMyOkVGOkNEOkQ1OkFBOkUxOjA2OjVBOjc0OjgxOjc1OjkzOjgwOjA1OjhFOjA3OjA2OkVEOjhGOkM3OjcwOkJEOjM1OjZDOjdCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOmdGYk9cclxuYT1pY2UtcHdkOk0vUWdxTEJZSlZ0R1MrZWg5enFCcHV1TlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEQ5OjhGOjJBOkNEOjEyOjEyOkY2OjMyOkVGOkNEOkQ1OkFBOkUxOjA2OjVBOjc0OjgxOjc1OjkzOjgwOjA1OjhFOjA3OjA2OkVEOjhGOkM3OjcwOkJEOjM1OjZDOjdCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDg5Nj source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF pion pc signaling state changed to have-remote-offer
2025-10-09T07:53:03Z INF pion pc signaling state changed to stable
2025-10-09T07:53:03Z INF pion ice Setting new connection state: Checking
2025-10-09T07:53:03Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:03Z INF jetkvm websocket Session added to manager mode=observer sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2
2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=207 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:03Z INF pion pc ICE connection state changed: checking
2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF pion pc peer connection state changed: connecting
2025-10-09T07:53:03Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:53:03Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:53:03Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:53:03Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":36470,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":38951,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 57252 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 57252 typ host generation 0 ufrag gFbO network-cost 999 0x27db700 0x24dfbf0 0x27db708}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 57252 typ host generation 0 ufrag gFbO network-cost 999 0x27db700 0x24dfbf0 0x27db708}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 64240 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 64240 typ host generation 0 ufrag gFbO network-cost 999 0x27dbd30 0x23323d8 0x27dbd38}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 64240 typ host generation 0 ufrag gFbO network-cost 999 0x27dbd30 0x23323d8 0x27dbd38}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=207 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 64018 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 64018 typ host generation 0 ufrag gFbO network-cost 999 0x29f8440 0x2332bd8 0x29f8448}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 64018 typ host generation 0 ufrag gFbO network-cost 999 0x29f8440 0x2332bd8 0x29f8448}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 56862 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 56862 typ host generation 0 ufrag gFbO network-cost 999 0x29f8b90 0x2333268 0x29f8b98}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 56862 typ host generation 0 ufrag gFbO network-cost 999 0x29f8b90 0x2333268 0x29f8b98}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF pion ice Setting new connection state: Connected
2025-10-09T07:53:03Z INF pion pc ICE connection state changed: connected
2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF pion pc peer connection state changed: connected
2025-10-09T07:53:03Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:53:03Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}"
2025-10-09T07:53:03Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}"
2025-10-09T07:53:03Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"usbState\",\"params\":\"configured\"}"
2025-10-09T07:53:03Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local
2025-10-09T07:53:03Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local
2025-10-09T07:53:04Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local
2025-10-09T07:53:04Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local
2025-10-09T07:53:04Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=n2fkkg2bt29 method=getSessions params={} result=[{"created_at":"2025-10-09T07:53:03.649667705Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:03.649675872Z","mode":"observer","nickname":"User","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"}]
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=13 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=12 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=15 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=14 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=18 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=16 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=17 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=21 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:05Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.693001 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:05 | 200 | 2.765ms | 192.168.100.141 | GET "/"
2025-10-09T07:53:05Z INF pion pc Closing PeerConnection from DTLS CloseNotify
2025-10-09T07:53:05Z WRN pion pc Failed to accept RTP stream is already closed
2025-10-09T07:53:05Z WRN pion pc Failed to accept RTCP stream is already closed
2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local: mDNS: connection is closed
2025-10-09T07:53:05Z INF pion ice Setting new connection state: Closed
2025-10-09T07:53:05Z INF pion pc peer connection state changed: closed
2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate de34b7f1-faab-41d7-a607-5c720c36750e.local: mDNS: connection is closed
2025-10-09T07:53:05Z INF pion pc ICE connection state changed: closed
2025-10-09T07:53:05Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false
2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local: mDNS: connection is closed
2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate de34b7f1-faab-41d7-a607-5c720c36750e.local: mDNS: connection is closed
2025-10-09T07:53:05Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025/10/09 07:53:05 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83)
2025-10-09T07:53:05Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked
 body_size=0 ip=192.168.100.141 latency=2154.792133 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:05 | 101 | 2.156837592s | 192.168.100.141 | GET "/webrtc/signaling/client"
Error #01: http: connection has been hijacked
2025-10-09T07:53:05Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.204458 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:05 | 200 | 1.781209ms | 192.168.100.141 | GET "/device/status"
2025-10-09T07:53:05Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.35175 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:05 | 200 | 1.967ms | 192.168.100.141 | GET "/static/favicon.ico"
2025-10-09T07:53:05Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.32375 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:05 | 200 | 2.440375ms | 192.168.100.141 | GET "/device"
2025/10/09 07:53:05 http: TLS handshake error from 192.168.100.141:57358: remote error: tls: unknown certificate
2025-10-09T07:53:05Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"]
2025-10-09T07:53:05Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer
2025-10-09T07:53:05Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDYxNTk4NzQ1NDcyNDAwNTU3NDMgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOithU3JcclxuYT1pY2UtcHdkOjU2Y2ZwZDdRbjVCZXFad0ZXT3pBUFRacVxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDFBOkJDOkU4OjQ4OkU3OkREOkUzOjc4OkREOjdDOkE5OjAzOjNFOkY4OkJFOjU5OjBGOjAzOkEzOjY5OkUyOjU0OkUzOkFBOjYzOkJFOjIzOjQ5OjBDOjA3OjlEOjlBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOithU3JcclxuYT1pY2UtcHdkOjU2Y2ZwZDdRbjVCZXFad0ZXT3pBUFRacVxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDFBOkJDOkU4OjQ4OkU3OkREOkUzOjc4OkREOjdDOkE5OjAzOjNFOkY4OkJFOjU5OjBGOjAzOkEzOjY5OkUyOjU0OkUzOkFBOjYzOkJFOjIzOjQ5OjBDOjA3OjlEOjlBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDYxNT source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF pion pc signaling state changed to have-remote-offer
2025-10-09T07:53:05Z INF pion pc signaling state changed to stable
2025-10-09T07:53:05Z INF pion ice Setting new connection state: Checking
2025-10-09T07:53:05Z INF pion pc ICE connection state changed: checking
2025-10-09T07:53:05Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID= source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF pion pc peer connection state changed: connecting
2025-10-09T07:53:05Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:53:05Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:05Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b
2025-10-09T07:53:06Z INF jetkvm websocket Session added to manager mode=observer sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2
2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 52864 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 52864 typ host generation 0 ufrag +aSr network-cost 999 0x29f8de8 0x2c2a808 0x29f8df0}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 52864 typ host generation 0 ufrag +aSr network-cost 999 0x29f8de8 0x2c2a808 0x29f8df0}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61968 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61968 typ host generation 0 ufrag +aSr network-cost 999 0x29f9830 0x2c2b1d0 0x29f9838}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61968 typ host generation 0 ufrag +aSr network-cost 999 0x29f9830 0x2c2b1d0 0x29f9838}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 58248 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 58248 typ host generation 0 ufrag +aSr network-cost 999 0x29f9e60 0x2c2b7a8 0x29f9e68}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 58248 typ host generation 0 ufrag +aSr network-cost 999 0x29f9e60 0x2c2b7a8 0x29f9e68}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61152 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61152 typ host generation 0 ufrag +aSr network-cost 999 0x2d80810 0x2c2bf78 0x2d80818}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61152 typ host generation 0 ufrag +aSr network-cost 999 0x2d80810 0x2c2bf78 0x2d80818}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":42842,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":47500,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:53:06Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:53:06Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF pion ice Setting new connection state: Connected
2025-10-09T07:53:06Z INF pion pc ICE connection state changed: connected
2025-10-09T07:53:06Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF pion pc peer connection state changed: connected
2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}"
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0}
2025-10-09T07:53:06Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}"
2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=ih99k2kfazt method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:53:06.000931775Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:06.000933816Z","mode":"observer","nickname":"User","source":"192.168.100.141"}]
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:08Z DBG jetkvm websocket Running periodic session validation to catch deadlock states
2025-10-09T07:53:08Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0
2025-10-09T07:53:08Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0
2025-10-09T07:53:08Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0
2025-10-09T07:53:09Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=2.827709 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:09 | 200 | 5.036208ms | 192.168.100.141 | GET "/"
2025-10-09T07:53:09Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025/10/09 07:53:09 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83)
2025-10-09T07:53:09Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked
 body_size=0 ip=192.168.100.141 latency=37128.988105 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:09 | 101 | 37.130508856s | 192.168.100.141 | GET "/webrtc/signaling/client"
Error #01: http: connection has been hijacked
2025-10-09T07:53:09Z INF pion pc Closing PeerConnection from DTLS CloseNotify
2025-10-09T07:53:09Z WRN pion sctp [0x254a168] failed to write packets on netConn: dtls fatal: conn is closed
2025-10-09T07:53:09Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.283792 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:09 | 200 | 2.38875ms | 192.168.100.141 | GET "/device/status"
2025-10-09T07:53:09Z WRN pion pc Failed to accept RTP stream is already closed
2025-10-09T07:53:09Z WRN pion pc Failed to accept RTCP stream is already closed
2025-10-09T07:53:09Z INF pion ice Setting new connection state: Closed
2025-10-09T07:53:09Z INF pion pc peer connection state changed: closed
2025-10-09T07:53:09Z INF pion pc ICE connection state changed: closed
2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=closed sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm webrtc Cleaning up session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 reason=ice-closed sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 wasPrimary=true
2025-10-09T07:53:09Z INF jetkvm websocket Primary session removed, grace period active gracePeriod=10000 remainingSessions=1 sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:09Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.2975 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:09 | 200 | 2.466042ms | 192.168.100.141 | GET "/device"
2025-10-09T07:53:09Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.433708 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
[GIN] 2025/10/09 - 07:53:09 | 200 | 2.262458ms | 192.168.100.141 | GET "/static/favicon.ico"
2025/10/09 07:53:09 http: TLS handshake error from 192.168.100.141:57360: remote error: tls: unknown certificate
2025-10-09T07:53:09Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"]
2025-10-09T07:53:09Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket new websocket connection established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=9467 source=192.168.100.141 sourceType=local type=offer
2025-10-09T07:53:09Z INF jetkvm websocket new session request received with raw data connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDMwNTE2NjcwMzE4NTgzMTg3OTAgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOkcvV1BcclxuYT1pY2UtcHdkOlQxL3ZSNDEwc3k3OTBKTjlJeUFzckFHRlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZFOjIzOjVEOkQzOjYwOkI2Ojg2OjU5OjJEOjk1OkI2OjBEOjJDOkU1OjVEOjREOjVGOjZCOjlBOkM1OkNFOkZBOjA5OkI4OkY4OkU2OjM2OkEwOjgyOkI0OjI3OkZCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOkcvV1BcclxuYT1pY2UtcHdkOlQxL3ZSNDEwc3k3OTBKTjlJeUFzckFHRlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZFOjIzOjVEOkQzOjYwOkI2Ojg2OjU5OjJEOjk1OkI2OjBEOjJDOkU1OjVEOjREOjVGOjZCOjlBOkM1OkNFOkZBOjA5OkI4OkY4OkU2OjM2OkEwOjgyOkI0OjI3OkZCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"a74b6cd0-9475-4d3d-99b8-c709bccfc950\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"Admin\"}}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket parsed session request connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDMwNT source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF pion pc signaling state changed to have-remote-offer
2025-10-09T07:53:09Z INF pion pc signaling state changed to stable
2025-10-09T07:53:09Z INF pion ice Setting new connection state: Checking
2025-10-09T07:53:09Z INF jetkvm websocket Local session established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:09Z INF jetkvm websocket Session added to manager mode=observer sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 totalSessions=2
2025-10-09T07:53:09Z INF jetkvm websocket Auto-promoting observer to primary - no primary sessions exist and no grace period active promotedSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:09Z INF jetkvm websocket Primary role transferred with bidirectional protection blacklistDuration=60000 blacklistedSessions=1 context="no primary sessions detected" fromSessionID= toSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 transferType=emergency_auto_promotion
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=175 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1476888005 1 udp 2122194687 192.168.64.1 52377 typ host generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 52377 typ host generation 0 ufrag G/WP network-id 1 0x2585630 0x225b6a8 0x2585640}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 52377 typ host generation 0 ufrag G/WP network-id 1 0x2585630 0x225b6a8 0x2585640}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2243911814 1 udp 2122063615 192.168.100.141 58240 typ host generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 58240 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x2585e60 0x225bdb8 0x2585e68}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF pion pc ICE connection state changed: checking
2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=checking sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF pion pc peer connection state changed: connecting
2025-10-09T07:53:09Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet.
2025-10-09T07:53:09Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":44326,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":47097,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 58240 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x2585e60 0x225bdb8 0x2585e68}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 55670 typ host generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 55670 typ host generation 0 ufrag G/WP network-id 2 0x28c64a8 0x240d108 0x28c64b0}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 55670 typ host generation 0 ufrag G/WP network-id 2 0x28c64a8 0x240d108 0x28c64b0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=218 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 55952 typ host generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 55952 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x28c6ad0 0x240d7b8 0x28c6ae0}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 55952 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x28c6ad0 0x240d7b8 0x28c6ae0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=175 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1476888005 1 udp 2122194687 192.168.64.1 54686 typ host generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 54686 typ host generation 0 ufrag G/WP network-id 1 0x28c72c8 0x23be028 0x28c72d0}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 54686 typ host generation 0 ufrag G/WP network-id 1 0x28c72c8 0x23be028 0x28c72d0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2243911814 1 udp 2122063615 192.168.100.141 52695 typ host generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 52695 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x28c79d8 0x23be648 0x28c79e0}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 52695 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x28c79d8 0x23be648 0x28c79e0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 56531 typ host generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 56531 typ host generation 0 ufrag G/WP network-id 2 0x22f2148 0x23beda8 0x22f2150}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 56531 typ host generation 0 ufrag G/WP network-id 2 0x22f2148 0x23beda8 0x22f2150}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=218 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 63034 typ host generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 63034 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x22f2978 0x23bf3d8 0x22f2980}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 63034 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x22f2978 0x23bf3d8 0x22f2980}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=185 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x22f3250 0x23bfbf8 0x22f3270}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x22f3250 0x23bfbf8 0x22f3270}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9)
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF pion ice Setting new connection state: Connected
2025-10-09T07:53:09Z INF pion pc ICE connection state changed: connected
2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=connected sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm jsonrpc RPC channel not available
2025-10-09T07:53:09Z INF jetkvm websocket Sent WebRTC reconnection signal to promoted session newMode=primary sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 transferType=emergency_auto_promotion
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x25fa770 0x28b6a98 0x25fa778}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x25fa770 0x28b6a98 0x25fa778}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9)
2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x25faf70 0x28b7368 0x25faf78}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x25faf70 0x28b7368 0x25faf78}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9)
2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x25fb610 0x28b7a38 0x25fb618}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x25fb610 0x28b7a38 0x25fb618}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9)
2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=185 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x25fbeb0 0x25e8210 0x25fbeb8}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x25fbeb0 0x25e8210 0x25fbeb8}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9)
2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x2027978 0x25e8f78 0x2027980}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x2027978 0x25e8f78 0x2027980}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9)
2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x2380628 0x25e9608 0x2380630}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x2380628 0x25e9608 0x2380630}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9)
2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate
2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x2381160 0x25e9ca8 0x2381168}" source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x2381160 0x25e9ca8 0x2381168}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9)
2025-10-09T07:53:10Z INF pion pc peer connection state changed: connected
2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=1 label=rpc source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=3 label=hidrpc source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=9 label=terminal source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=11 label=serial source=192.168.100.141 sourceType=local
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=5hmdy2isjv8 method=getSessions params={} result=[{"created_at":"2025-10-09T07:53:09.811387407Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:53:09.811389741Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:53:06.000931775Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:06.000933816Z","mode":"observer","nickname":"User","source":"192.168.100.141"}]
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false}
2025-10-09T07:53:10Z INF jetkvm terminal Set terminal size cols=80 data_channel_id=9 rows=24 session_id=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getKeyboardMacros params={} result=[{"id":"eiropb3","name":"kvm-1","sortOrder":1,"steps":[{"delay":200,"keys":null,"modifiers":["ControlLeft"]},{"delay":200,"keys":null,"modifiers":["ControlLeft"]},{"delay":200,"keys":["Digit1"],"modifiers":null}]}]
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=12 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=14 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=13 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=16 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=15 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=18 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=17 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=21 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"}
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950
2025-10-09T07:53:18Z DBG jetkvm websocket Running periodic session validation to catch deadlock states
2025-10-09T07:53:18Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0
2025-10-09T07:53:18Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0
2025-10-09T07:53:18Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0
2025-10-09T07:53:28Z DBG jetkvm websocket Running periodic session validation to catch deadlock states
2025-10-09T07:53:28Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0
2025-10-09T07:53:28Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0
2025-10-09T07:53:28Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0
2025-10-09T07:53:33Z INF jetkvm websocket ping message received connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local
2025-10-09T07:53:35Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getSessions params={} result=[{"created_at":"2025-10-09T07:53:09.811387407Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:53:31.894144376Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:53:06.000931775Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:06.000933816Z","mode":"observer","nickname":"User","source":"192.168.100.141"}]