Skip to content
dont-be-evil-companyPublic

About

p2p.kiwi πŸ₯, Cross-Platform screen πŸ–₯️ sharing πŸ“‘ made simple ⚑.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6.6k stars

Watchers

20 watching

Forks

Latest commit

Β 

History

185 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

p2p.kiwi logo

p2p.kiwi - P2P Conferencing and Screen Sharing

Downloads Discord GitHub release (latest by date)

Install β€’ Website β€’ Privacy Policy β€’ Terms of Service β€’ Code of Conduct

p2p.kiwi P2P Conferencing and Screen Sharing is a simple and easy-to-use screen sharing tool for Mac, Windows, and Linux.

It utilizes a peer-to-peer connection to share your screen with others, without the need for an account. STUN and optional TURN servers are still used to exchange ICE connectivity information.

That is not a signaling server for chat or media keys.

p2p.kiwi open-graph image

Install

Install Manually

Grab the latest release from the GitHub releases page.

Install via Arch Linux AUR

paru -S p2p-kiwi-bin`

or

yay -S p2p-kiwi-bin`

Install via Homebrew

brew install --cask p2p-kiwi

E2EE (End-to-End Encryption)

Warning

Don't determine whether the call is E2EE by checking whether WebRTC reports DTLS-SRTP. DTLS-SRTP is expected to encrypt transport.

Our actual E2EE guarantee comes from MLS-managed application keys encrypting the media with SFrame.

E2EE (End-to-End Encryption) Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  MLS                        β”‚
β”‚       membership + E2EE key management      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                 SFrame                      β”‚
β”‚       E2EE encryption of media frames       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚               DTLS-SRTP                     β”‚
β”‚          WebRTC transport security          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚               ICE / UDP                     β”‚
β”‚               networking                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

MLS answers: "Who is in this encrypted group, and what cryptographic secrets should they possess?"

SFrame answers: "How do I encrypt this video/audio frame so infrastructure carrying it can't read it?"

DTLS-SRTP answers: "How do I securely transport WebRTC media over this connection?"

E2EE (End-to-End Encryption) Example

     MLS Group
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Alice Bob Carol β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
 derives E2EE keys
         β”‚
         β–Ό
      SFrame
   encrypt media
         β”‚
         β–Ό
     DTLS-SRTP
         β”‚
 WebRTC transport
         β”‚
         β–Ό
        Peer

About

p2p.kiwi πŸ₯, Cross-Platform screen πŸ–₯️ sharing πŸ“‘ made simple ⚑.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6.6k stars

Watchers

20 watching

Forks

Releases

Used by

Contributors

Languages