Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Gegam/redpill
/ functions
Functions
312 in github.com/Gegam/redpill
⨍
Functions
312
◇
Types & classes
81
↓ 60 callers
Method
len
(&self)
crates/redpill-quic/src/users.rs:93
↓ 57 callers
Function
run_cmd
(program: &str, args: &[&str])
crates/redpill-tun/src/route.rs:22
↓ 41 callers
Method
load
Load all `*.key` files from the given directory. Each file contains a 64-char hex PSK.
crates/redpill-quic/src/users.rs:35
↓ 21 callers
Method
register
Register a client and return a RAII handle that unregisters on drop. Also returns a reference to the client's priority queue.
crates/redpill-quic/src/demux.rs:35
↓ 16 callers
Method
push
Push a packet into the appropriate queue. Returns false if the queue is full (backpressure).
crates/redpill-quic/src/priority.rs:86
↓ 15 callers
Method
encode
Encode to wire format (66 bytes).
crates/redpill-quic/src/control.rs:35
↓ 14 callers
Method
is_empty
(&self)
crates/redpill-quic/src/users.rs:97
↓ 11 callers
Method
compute_mac
Compute HMAC-SHA256(psk, nonce).
crates/redpill-quic/src/auth.rs:45
↓ 8 callers
Method
release
Release an IP back to the pool.
crates/redpill-quic/src/ip_pool.rs:41
↓ 7 callers
Method
allocate
Allocate the next available IP. Returns None if pool is exhausted.
crates/redpill-quic/src/ip_pool.rs:25
↓ 7 callers
Method
as_raw_fd
(&self)
crates/redpill-tun/src/device.rs:489
↓ 7 callers
Function
run_cmd_output
(program: &str, args: &[&str])
crates/redpill-tun/src/route.rs:33
↓ 6 callers
Method
connect
Connect to the server using TCP + TLS Reality. 1. TCP connect to server 2. TLS handshake with fake SNI (target domain) + cert pinning 3. Send ClientA
crates/redpill-quic/src/transport/tcp_reality.rs:156
↓ 6 callers
Method
flush
Flush the current batch. Returns the encoded batch (or empty if nothing pending).
crates/redpill-quic/src/batch.rs:87
↓ 6 callers
Method
record_blocked
(&self)
crates/redpill-quic/src/stats.rs:58
↓ 6 callers
Method
send
(&self, data: Bytes)
crates/redpill-quic/src/transport/quic_raw.rs:62
↓ 6 callers
Method
stats
(&self)
crates/redpill-quic/src/transport/quic_raw.rs:84
↓ 6 callers
Method
update_rtt
Update with a new RTT measurement. Called periodically (every 100ms).
crates/redpill-quic/src/shaper.rs:204
↓ 5 callers
Method
add
Add a packet to the batch. Returns `Some(batch)` if the batch is full and should be flushed. If the packet is too large for batching, returns None (ca
crates/redpill-quic/src/batch.rs:71
↓ 5 callers
Method
add_user
Add a user: generate random PSK, write to file, add to store. Returns the hex PSK.
crates/redpill-quic/src/users.rs:111
↓ 5 callers
Function
cleanup_client_dns
()
crates/redpill-tun/src/route.rs:649
↓ 5 callers
Method
name
Get the device name.
crates/redpill-tun/src/device.rs:260
↓ 5 callers
Method
raw_fd
(&self)
crates/redpill-tun/src/device.rs:335
↓ 5 callers
Method
record_too_large
(&self)
crates/redpill-quic/src/stats.rs:62
↓ 5 callers
Method
resolve
Resolve `Random` to a concrete profile.
crates/redpill-quic/src/browser_profile.rs:35
↓ 5 callers
Function
strip_padding
Strip padding from a received packet using the IP header's total_length. - IPv4: bytes 2-3 = total length (header + payload) - IPv6: bytes 4-5 = payl
crates/redpill-quic/src/padding.rs:31
↓ 4 callers
Function
build_transport_config
Build the production QUIC transport config (no-op CC, 16MB window). No-op CC with 16 MB constant window - inner TCP handles congestion control. Datag
crates/redpill-quic/src/transport/quic_raw.rs:23
↓ 4 callers
Function
make_test_endpoints
()
crates/redpill-quic/tests/integration.rs:18
↓ 4 callers
Method
max_datagram_size
(&self)
crates/redpill-quic/src/transport/quic_raw.rs:95
↓ 4 callers
Function
pem_to_cert_der
Parse a PEM string into a DER certificate.
crates/redpill-quic/src/cert.rs:70
↓ 4 callers
Function
proxy_with_initial_data
( remote: &str, mut client_stream: tokio_rustls::server::TlsStream<TcpStream>, initial_data: &[u8]
crates/redpill-quic/src/reality.rs:150
↓ 4 callers
Method
record_send
(&self, size: usize)
crates/redpill-quic/src/stats.rs:47
↓ 4 callers
Function
remove_pid
Remove PID file.
crates/redpill-quic/src/daemon.rs:64
↓ 4 callers
Method
report
(&self, conn: &quinn::Connection)
crates/redpill-quic/src/stats.rs:132
↓ 4 callers
Function
send_rt
Send via instant send_datagram (realtime path or batched).
crates/redpill-quic/src/server.rs:859
↓ 4 callers
Method
verify
Verify a client's auth: HMAC-SHA256(psk, nonce) == mac.
crates/redpill-quic/src/auth.rs:38
↓ 3 callers
Method
build
(self: Arc<Self>, _now: Instant, _current_mtu: u16)
crates/redpill-quic/src/noop_cc.rs:26
↓ 3 callers
Function
client_auth
( conn: &quinn::Connection, auth: &PskAuthenticator, )
crates/redpill-quic/tests/integration.rs:118
↓ 3 callers
Function
pad_to_standard
Pad a packet to the next standard size boundary. The receiver strips padding using `strip_padding()` which reads the real length from the IP header.
crates/redpill-quic/src/padding.rs:13
↓ 3 callers
Function
parse_psk_hex
Parse a PSK from a hex string (64 hex chars).
crates/redpill-quic/src/auth.rs:76
↓ 3 callers
Function
pid_path
Platform-specific PID file location.
crates/redpill-quic/src/daemon.rs:9
↓ 3 callers
Function
server_auth_handler
( conn: quinn::Connection, auth: &PskAuthenticator, pool: &parking_lot::Mutex<IpPool>, )
crates/redpill-quic/tests/integration.rs:79
↓ 3 callers
Function
setup_mss_clamping
(tun_dev: &str, tun_mtu: u32)
crates/redpill-tun/src/route.rs:328
↓ 3 callers
Function
socket_path
Platform-specific IPC socket path.
crates/redpill-quic/src/daemon.rs:36
↓ 3 callers
Method
verify
Verify client auth. Returns Some(username) on success, None on failure. For single PSK mode, username is "default".
crates/redpill-quic/src/server.rs:74
↓ 2 callers
Function
batch_encode
Encode multiple packets into a single batched datagram. Wire format: `[2B len BE][data][2B len BE][data]...` All packets must be < BATCH_SIZE_THRESHO
crates/redpill-quic/src/batch.rs:20
↓ 2 callers
Function
build_camouflaged_rustls_config_with_profile
Build a rustls `ClientConfig` for camouflaged QUIC with a specific browser profile.
crates/redpill-quic/src/fingerprint.rs:44
↓ 2 callers
Function
build_crypto_provider
Build a `rustls::CryptoProvider` matching the given browser profile.
crates/redpill-quic/src/fingerprint.rs:21
↓ 2 callers
Function
classify
Classify a raw IP packet into a priority level. Realtime: DSCP EF (46), small UDP (<300B), DNS (UDP port 53). Bulk: everything else.
crates/redpill-quic/src/priority.rs:27
↓ 2 callers
Function
cleanup_mss_clamping
(tun_dev: &str, tun_mtu: u32)
crates/redpill-tun/src/route.rs:442
↓ 2 callers
Function
cleanup_notrack_iptables
Clean up all NOTRACK iptables rules (handles duplicates from previous runs).
crates/redpill-quic/src/xdp.rs:59
↓ 2 callers
Function
cleanup_stale
()
crates/redpill-quic/src/killswitch.rs:71
↓ 2 callers
Method
current_rate
Get current adaptive rate in bytes/sec.
crates/redpill-quic/src/shaper.rs:255
↓ 2 callers
Function
default_reality_target
()
crates/redpill-quic/src/config.rs:379
↓ 2 callers
Function
disable
()
crates/redpill-quic/src/killswitch.rs:62
↓ 2 callers
Function
enable_with_extras
( tun_name: &str, server_ip: &str, _port: u16, extra_hosts: &[String], )
crates/redpill-quic/src/killswitch.rs:18
↓ 2 callers
Function
flush_mss_rules_nft
(tun_dev: &str)
crates/redpill-tun/src/route.rs:283
↓ 2 callers
Function
flush_nat_rules
(tun_subnet: &str, wan_interface: &str)
crates/redpill-tun/src/route.rs:84
↓ 2 callers
Method
generate
Generate a random-length padding packet. First nibble is 0 so it's not confused with a real IP packet.
crates/redpill-quic/src/padding.rs:73
↓ 2 callers
Function
generate_placeholder_key
Generate a self-signed placeholder cert (used while waiting for ACME).
crates/redpill-quic/src/acme.rs:105
↓ 2 callers
Function
generate_self_signed
Generate a self-signed certificate.
crates/redpill-quic/src/cert.rs:14
↓ 2 callers
Function
is_running
Check if a daemon is already running (by PID file + process check).
crates/redpill-quic/src/daemon.rs:69
↓ 2 callers
Function
load_certified_key
Load a CertifiedKey from PEM files.
crates/redpill-quic/src/acme.rs:89
↓ 2 callers
Function
load_or_generate
Load cert+key from files, or generate and persist them.
crates/redpill-quic/src/cert.rs:38
↓ 2 callers
Function
load_psk
Load a 32-byte PSK from a hex-encoded file (64 hex chars, optional newline).
crates/redpill-quic/src/auth.rs:70
↓ 2 callers
Method
mode
(&self)
crates/redpill-quic/src/transport/manager.rs:200
↓ 2 callers
Function
parse_hex
(hex: &str)
crates/redpill-quic/src/auth.rs:56
↓ 2 callers
Method
pop
Wait for a packet to become available, then pop it.
crates/redpill-quic/src/priority.rs:123
↓ 2 callers
Function
read_pid
Read PID from file. Returns None if file doesn't exist or is invalid.
crates/redpill-quic/src/daemon.rs:59
↓ 2 callers
Method
recv
(&self)
crates/redpill-quic/src/transport/quic_raw.rs:73
↓ 2 callers
Method
remove_user
Remove a user: delete key file and remove from store.
crates/redpill-quic/src/users.rs:129
↓ 2 callers
Method
render
Render all metrics in Prometheus text format.
crates/redpill-quic/src/metrics.rs:158
↓ 2 callers
Method
report_basic
Report stats without QUIC-specific path info (for TCP/WS transports).
crates/redpill-quic/src/stats.rs:104
↓ 2 callers
Function
request_certificate
Request a certificate from Let's Encrypt. Uses HTTP-01 challenge via a temporary TCP listener on port 80. This is simpler than TLS-ALPN-01 and works
crates/redpill-quic/src/acme.rs:194
↓ 2 callers
Function
run_pmtu_monitor
Monitor PMTU changes and send SessionUpdate messages over the control stream. Checks every 5s, sends update if MTU changes by >50 bytes.
crates/redpill-quic/src/server.rs:781
↓ 2 callers
Function
run_vpn_tunnel
( conn: &quinn::Connection, tun_fd: i32, client_ip: Ipv4Addr, client_queue: Arc<PriorityQueue>
crates/redpill-quic/src/server.rs:811
↓ 2 callers
Method
send
(&self, data: Bytes)
crates/redpill-quic/src/transport/websocket_cdn.rs:63
↓ 2 callers
Method
set_mtu
(&self, mtu: u32)
crates/redpill-tun/src/device.rs:266
↓ 2 callers
Function
spawn_metrics_server
Spawn the metrics HTTP server on the given address. Returns a JoinHandle that can be aborted on shutdown.
crates/redpill-quic/src/metrics.rs:169
↓ 2 callers
Method
try_pop
Pop the highest-priority packet, dropping stale realtime packets.
crates/redpill-quic/src/priority.rs:108
↓ 2 callers
Function
validate_source_ip
Validate that the source IP of an IPv4 packet matches the expected IP. For IPv6 packets, validation is skipped (returns true). Returns false for inval
crates/redpill-quic/src/datagram.rs:24
↓ 2 callers
Function
write_to_tun
Write an IP packet to a TUN device (platform-specific). - Linux: raw write (TUN is IFF_NO_PI, no header) - macOS: writev with 4-byte big-endian AF he
crates/redpill-quic/src/datagram.rs:61
↓ 1 callers
Function
attach_bpf_filter
Set up conntrack bypass for UDP:443 via iptables NOTRACK. Conntrack is the main bottleneck for high-rate UDP. NOTRACK skips it entirely.
crates/redpill-quic/src/xdp.rs:15
↓ 1 callers
Function
batch_decode
Decode a batched datagram into individual packets. Returns the list of decoded packets. Invalid trailing bytes are ignored.
crates/redpill-quic/src/batch.rs:33
↓ 1 callers
Function
bind_ipc_socket
Bind the IPC socket synchronously (call before spawning the async server). Returns the std UnixListener ready for conversion to tokio.
crates/redpill-quic/src/ipc.rs:56
↓ 1 callers
Function
build_camouflaged_rustls_config
Build a rustls `ClientConfig` for camouflaged QUIC with browser-like fingerprint.
crates/redpill-quic/src/fingerprint.rs:32
↓ 1 callers
Function
build_camouflaged_transport_config
Build QUIC transport config matching a real browser's transport parameters. Overlays browser-specific values on top of our VPN transport config (no-o
crates/redpill-quic/src/transport/quic_camouflaged.rs:136
↓ 1 callers
Method
build_client_config
Build a quinn ClientConfig with camouflage settings. Returns (client_config, fake_sni) - the caller must use the fake SNI as the server_name when call
crates/redpill-quic/src/transport/quic_camouflaged.rs:102
↓ 1 callers
Function
build_transport_manager
Build a TransportManager based on client configuration. Connectors are ordered by preference (fastest first). Mode "auto" adds all available transpor
crates/redpill-quic/src/transport/manager.rs:383
↓ 1 callers
Method
cipher_suites
(&self)
crates/redpill-quic/src/browser_profile.rs:45
↓ 1 callers
Function
cleanup_client_routes
(saved: &SavedRoutes)
crates/redpill-tun/src/route.rs:623
↓ 1 callers
Function
cleanup_nat
(tun_subnet: &str, wan_interface: &str)
crates/redpill-tun/src/route.rs:227
↓ 1 callers
Function
cleanup_stale_client
()
crates/redpill-tun/src/route.rs:844
↓ 1 callers
Function
configure_interface
( dev_name: &str, address: Ipv4Addr, prefix_len: u8, )
crates/redpill-tun/src/route.rs:46
↓ 1 callers
Function
configure_tun_performance
(dev_name: &str, txqueuelen: u32)
crates/redpill-tun/src/route.rs:516
↓ 1 callers
Method
connect
(&self)
crates/redpill-quic/src/transport/manager.rs:126
↓ 1 callers
Method
create
(name: &str)
crates/redpill-tun/src/device.rs:40
↓ 1 callers
Function
daemonize
(log_path: &Path)
crates/redpill-quic/src/daemon.rs:131
↓ 1 callers
Function
default_acme_dir
()
crates/redpill-quic/src/config.rs:370
↓ 1 callers
Function
default_browser_profile
()
crates/redpill-quic/src/config.rs:388
next →
1–100 of 312, ranked by callers