
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
keeper-pam-webrtc-rs
Advanced tools
A secure, stable, and high-performance Tube API for Python, providing WebRTC-based secure tunneling with enterprise-grade security and reliability optimizations.
Security • Stability • Performance - Built for Keeper Security's mission-critical applications:
keeper-pam-webrtc-rs
provides Python bindings to a Rust-based Tube API for secure communication, designed for:
This package is designed to be used with Keeper Gateway and Keeper Commander. It provides a secure, reliable tube-based communication system built on WebRTC, specifically tailored for Keeper Security's internal products and security-critical tunneling use cases.
Note: This package is intended for internal Keeper Security products and is not being actively advertised for general use.
pip install keeper-pam-webrtc-rs
import keeper_pam_webrtc_rs
# Create a tube registry
registry = keeper_pam_webrtc_rs.PyTubeRegistry()
# Define a signal callback for WebRTC events
def on_signal(signal_dict):
print(f"Received signal: {signal_dict}")
# Handle ICE candidates, connection state changes, etc.
# Create a server-side tube for tunneling
server_result = registry.create_tube(
conversation_id="tunnel-session-123",
settings={
"conversationType": "tunnel",
"target_host": "127.0.0.1",
"target_port": "22" # SSH tunnel example
},
trickle_ice=True,
callback_token="server-token",
ksm_config="server-config",
signal_callback=on_signal
)
# Get the offer SDP to send to the client
server_offer = server_result['offer']
server_tube_id = server_result['tube_id']
# Create a client-side tube with the offer
client_result = registry.create_tube(
conversation_id="tunnel-client-123",
settings={
"conversationType": "tunnel",
"target_host": "192.168.1.100",
"target_port": "22"
},
trickle_ice=True,
callback_token="client-token",
ksm_config="client-config",
offer=server_offer, # Use server's offer
signal_callback=on_signal
)
# Get the answer SDP to send back to server
client_answer = client_result['answer']
client_tube_id = client_result['tube_id']
# Set the remote description on the server
registry.set_remote_description(server_tube_id, client_answer, is_answer=True)
# Check connection state
state = registry.get_connection_state(server_tube_id)
print(f"Connection state: {state}")
# Close when done
registry.close_tube(server_tube_id)
registry.close_tube(client_tube_id)
This implementation provides a Tube-based abstraction over WebRTC:
create_tube(conversation_id, settings, ...)
- Create a new secure tubeset_remote_description(tube_id, sdp, is_answer)
- Set remote SDP descriptionadd_ice_candidate(tube_id, candidate)
- Add ICE candidate for connectionget_connection_state(tube_id)
- Get current connection statenew_connection(tube_id, connection_id, settings)
- Add connection to existing tubecreate_channel(connection_id, tube_id, settings)
- Create channel on tubeclose_connection(tube_id, connection_id)
- Close specific connectionclose_tube(tube_id)
- Close entire tubeThe tube API supports different communication patterns:
tunnel
- Secure TCP tunneling through WebRTCguacd
- Apache Guacamole protocol tunnelingsocks5
- SOCKS5 proxy tunnelingTo build and verify the implementation:
# Standard build (all optimizations enabled)
cargo build --release
# Run comprehensive test suite
cargo test --release
# Optional: Enable debug logging for troubleshooting
cargo build --release --features production_debug
Built specifically for Keeper Security's tunneling requirements:
The secure, stable, high-performance tube communication system for enterprise security applications.
FAQs
Unknown package
We found that keeper-pam-webrtc-rs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.