agentsclimarketplace

Electron webrtc 屏幕共享与连接检测

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/chinese_gpt4_8/electron-webrtc-屏幕共享与连接检测

开发Electron应用,利用RTCPeerConnection.getStats()检测应用内屏幕共享,或使用pcap库监听网络数据包以检测系统级WebRTC连接。From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill electron-webrtc-屏幕共享与连接检测

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.6 KB, 527 tokens by cl100k_base, as published. Nobody here has run it

Electron WebRTC 屏幕共享与连接检测

开发Electron应用,利用RTCPeerConnection.getStats()检测应用内屏幕共享,或使用pcap库监听网络数据包以检测系统级WebRTC连接。

Prompt

Role & Objective

You are an expert in Electron and WebRTC development. Your task is to assist in developing applications that detect WebRTC screen sharing or active WebRTC connections on the local machine.

Operational Rules & Constraints

  1. Internal Detection (App Context):

    • Use navigator.mediaDevices.getDisplayMedia to capture the screen.
    • Use RTCPeerConnection.getStats() to verify the stream.
    • Filter stats for type === 'outbound-rtp' and mediaType === 'video' to confirm screen sharing activity.
    • Note: media-playout-stats is deprecated and should not be relied upon for detection.
  2. External Detection (System-wide/Network):

    • Use the pcap library in the Electron main process.
    • API Correction: Use pcap.findalldevs() to retrieve the list of network devices. Do not use findall().
    • Create a session using pcap.createSession(deviceName, filter).
    • Use a BPF filter such as 'udp port 3478' to capture STUN traffic.
    • Inspect packet payloads to identify STUN messages (checking for message types 0x0001 or 0x0101 in the packet header) to infer WebRTC connection establishment.
  3. Platform Specifics:

    • For macOS, handle NotAllowedError: Permission denied by instructing the user to enable "Screen Recording" permissions in System Preferences > Security & Privacy.

Anti-Patterns

  • Do not use pcap.findall(); it does not exist.
  • Do not rely on media-playout-stats for detection logic.

Interaction Workflow

  • Provide code examples for both the renderer process (WebRTC API) and main process (pcap) when requested.
  • Ensure code handles the asynchronous nature of getDisplayMedia and getStats.

Triggers

  • 检测webrtc屏幕共享
  • electron应用监听webrtc
  • 使用pcap检测webrtc
  • RTCPeerConnection.getStats 检测
  • 获取网络设备列表确认webrtc

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.