MCPcopy Create free account

hub / github.com/Gegam/redpill / functions

Functions312 in github.com/Gegam/redpill

↓ 60 callersMethodlen
(&self)
crates/redpill-quic/src/users.rs:93
↓ 57 callersFunctionrun_cmd
(program: &str, args: &[&str])
crates/redpill-tun/src/route.rs:22
↓ 41 callersMethodload
Load all `*.key` files from the given directory. Each file contains a 64-char hex PSK.
crates/redpill-quic/src/users.rs:35
↓ 21 callersMethodregister
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 callersMethodpush
Push a packet into the appropriate queue. Returns false if the queue is full (backpressure).
crates/redpill-quic/src/priority.rs:86
↓ 15 callersMethodencode
Encode to wire format (66 bytes).
crates/redpill-quic/src/control.rs:35
↓ 14 callersMethodis_empty
(&self)
crates/redpill-quic/src/users.rs:97
↓ 11 callersMethodcompute_mac
Compute HMAC-SHA256(psk, nonce).
crates/redpill-quic/src/auth.rs:45
↓ 8 callersMethodrelease
Release an IP back to the pool.
crates/redpill-quic/src/ip_pool.rs:41
↓ 7 callersMethodallocate
Allocate the next available IP. Returns None if pool is exhausted.
crates/redpill-quic/src/ip_pool.rs:25
↓ 7 callersMethodas_raw_fd
(&self)
crates/redpill-tun/src/device.rs:489
↓ 7 callersFunctionrun_cmd_output
(program: &str, args: &[&str])
crates/redpill-tun/src/route.rs:33
↓ 6 callersMethodconnect
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 callersMethodflush
Flush the current batch. Returns the encoded batch (or empty if nothing pending).
crates/redpill-quic/src/batch.rs:87
↓ 6 callersMethodrecord_blocked
(&self)
crates/redpill-quic/src/stats.rs:58
↓ 6 callersMethodsend
(&self, data: Bytes)
crates/redpill-quic/src/transport/quic_raw.rs:62
↓ 6 callersMethodstats
(&self)
crates/redpill-quic/src/transport/quic_raw.rs:84
↓ 6 callersMethodupdate_rtt
Update with a new RTT measurement. Called periodically (every 100ms).
crates/redpill-quic/src/shaper.rs:204
↓ 5 callersMethodadd
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 callersMethodadd_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 callersFunctioncleanup_client_dns
()
crates/redpill-tun/src/route.rs:649
↓ 5 callersMethodname
Get the device name.
crates/redpill-tun/src/device.rs:260
↓ 5 callersMethodraw_fd
(&self)
crates/redpill-tun/src/device.rs:335
↓ 5 callersMethodrecord_too_large
(&self)
crates/redpill-quic/src/stats.rs:62
↓ 5 callersMethodresolve
Resolve `Random` to a concrete profile.
crates/redpill-quic/src/browser_profile.rs:35
↓ 5 callersFunctionstrip_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 callersFunctionbuild_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 callersFunctionmake_test_endpoints
()
crates/redpill-quic/tests/integration.rs:18
↓ 4 callersMethodmax_datagram_size
(&self)
crates/redpill-quic/src/transport/quic_raw.rs:95
↓ 4 callersFunctionpem_to_cert_der
Parse a PEM string into a DER certificate.
crates/redpill-quic/src/cert.rs:70
↓ 4 callersFunctionproxy_with_initial_data
( remote: &str, mut client_stream: tokio_rustls::server::TlsStream<TcpStream>, initial_data: &[u8]
crates/redpill-quic/src/reality.rs:150
↓ 4 callersMethodrecord_send
(&self, size: usize)
crates/redpill-quic/src/stats.rs:47
↓ 4 callersFunctionremove_pid
Remove PID file.
crates/redpill-quic/src/daemon.rs:64
↓ 4 callersMethodreport
(&self, conn: &quinn::Connection)
crates/redpill-quic/src/stats.rs:132
↓ 4 callersFunctionsend_rt
Send via instant send_datagram (realtime path or batched).
crates/redpill-quic/src/server.rs:859
↓ 4 callersMethodverify
Verify a client's auth: HMAC-SHA256(psk, nonce) == mac.
crates/redpill-quic/src/auth.rs:38
↓ 3 callersMethodbuild
(self: Arc<Self>, _now: Instant, _current_mtu: u16)
crates/redpill-quic/src/noop_cc.rs:26
↓ 3 callersFunctionclient_auth
( conn: &quinn::Connection, auth: &PskAuthenticator, )
crates/redpill-quic/tests/integration.rs:118
↓ 3 callersFunctionpad_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 callersFunctionparse_psk_hex
Parse a PSK from a hex string (64 hex chars).
crates/redpill-quic/src/auth.rs:76
↓ 3 callersFunctionpid_path
Platform-specific PID file location.
crates/redpill-quic/src/daemon.rs:9
↓ 3 callersFunctionserver_auth_handler
( conn: quinn::Connection, auth: &PskAuthenticator, pool: &parking_lot::Mutex<IpPool>, )
crates/redpill-quic/tests/integration.rs:79
↓ 3 callersFunctionsetup_mss_clamping
(tun_dev: &str, tun_mtu: u32)
crates/redpill-tun/src/route.rs:328
↓ 3 callersFunctionsocket_path
Platform-specific IPC socket path.
crates/redpill-quic/src/daemon.rs:36
↓ 3 callersMethodverify
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 callersFunctionbatch_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 callersFunctionbuild_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 callersFunctionbuild_crypto_provider
Build a `rustls::CryptoProvider` matching the given browser profile.
crates/redpill-quic/src/fingerprint.rs:21
↓ 2 callersFunctionclassify
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 callersFunctioncleanup_mss_clamping
(tun_dev: &str, tun_mtu: u32)
crates/redpill-tun/src/route.rs:442
↓ 2 callersFunctioncleanup_notrack_iptables
Clean up all NOTRACK iptables rules (handles duplicates from previous runs).
crates/redpill-quic/src/xdp.rs:59
↓ 2 callersFunctioncleanup_stale
()
crates/redpill-quic/src/killswitch.rs:71
↓ 2 callersMethodcurrent_rate
Get current adaptive rate in bytes/sec.
crates/redpill-quic/src/shaper.rs:255
↓ 2 callersFunctiondefault_reality_target
()
crates/redpill-quic/src/config.rs:379
↓ 2 callersFunctiondisable
()
crates/redpill-quic/src/killswitch.rs:62
↓ 2 callersFunctionenable_with_extras
( tun_name: &str, server_ip: &str, _port: u16, extra_hosts: &[String], )
crates/redpill-quic/src/killswitch.rs:18
↓ 2 callersFunctionflush_mss_rules_nft
(tun_dev: &str)
crates/redpill-tun/src/route.rs:283
↓ 2 callersFunctionflush_nat_rules
(tun_subnet: &str, wan_interface: &str)
crates/redpill-tun/src/route.rs:84
↓ 2 callersMethodgenerate
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 callersFunctiongenerate_placeholder_key
Generate a self-signed placeholder cert (used while waiting for ACME).
crates/redpill-quic/src/acme.rs:105
↓ 2 callersFunctiongenerate_self_signed
Generate a self-signed certificate.
crates/redpill-quic/src/cert.rs:14
↓ 2 callersFunctionis_running
Check if a daemon is already running (by PID file + process check).
crates/redpill-quic/src/daemon.rs:69
↓ 2 callersFunctionload_certified_key
Load a CertifiedKey from PEM files.
crates/redpill-quic/src/acme.rs:89
↓ 2 callersFunctionload_or_generate
Load cert+key from files, or generate and persist them.
crates/redpill-quic/src/cert.rs:38
↓ 2 callersFunctionload_psk
Load a 32-byte PSK from a hex-encoded file (64 hex chars, optional newline).
crates/redpill-quic/src/auth.rs:70
↓ 2 callersMethodmode
(&self)
crates/redpill-quic/src/transport/manager.rs:200
↓ 2 callersFunctionparse_hex
(hex: &str)
crates/redpill-quic/src/auth.rs:56
↓ 2 callersMethodpop
Wait for a packet to become available, then pop it.
crates/redpill-quic/src/priority.rs:123
↓ 2 callersFunctionread_pid
Read PID from file. Returns None if file doesn't exist or is invalid.
crates/redpill-quic/src/daemon.rs:59
↓ 2 callersMethodrecv
(&self)
crates/redpill-quic/src/transport/quic_raw.rs:73
↓ 2 callersMethodremove_user
Remove a user: delete key file and remove from store.
crates/redpill-quic/src/users.rs:129
↓ 2 callersMethodrender
Render all metrics in Prometheus text format.
crates/redpill-quic/src/metrics.rs:158
↓ 2 callersMethodreport_basic
Report stats without QUIC-specific path info (for TCP/WS transports).
crates/redpill-quic/src/stats.rs:104
↓ 2 callersFunctionrequest_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 callersFunctionrun_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 callersFunctionrun_vpn_tunnel
( conn: &quinn::Connection, tun_fd: i32, client_ip: Ipv4Addr, client_queue: Arc<PriorityQueue>
crates/redpill-quic/src/server.rs:811
↓ 2 callersMethodsend
(&self, data: Bytes)
crates/redpill-quic/src/transport/websocket_cdn.rs:63
↓ 2 callersMethodset_mtu
(&self, mtu: u32)
crates/redpill-tun/src/device.rs:266
↓ 2 callersFunctionspawn_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 callersMethodtry_pop
Pop the highest-priority packet, dropping stale realtime packets.
crates/redpill-quic/src/priority.rs:108
↓ 2 callersFunctionvalidate_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 callersFunctionwrite_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 callersFunctionattach_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 callersFunctionbatch_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 callersFunctionbind_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 callersFunctionbuild_camouflaged_rustls_config
Build a rustls `ClientConfig` for camouflaged QUIC with browser-like fingerprint.
crates/redpill-quic/src/fingerprint.rs:32
↓ 1 callersFunctionbuild_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 callersMethodbuild_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 callersFunctionbuild_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 callersMethodcipher_suites
(&self)
crates/redpill-quic/src/browser_profile.rs:45
↓ 1 callersFunctioncleanup_client_routes
(saved: &SavedRoutes)
crates/redpill-tun/src/route.rs:623
↓ 1 callersFunctioncleanup_nat
(tun_subnet: &str, wan_interface: &str)
crates/redpill-tun/src/route.rs:227
↓ 1 callersFunctioncleanup_stale_client
()
crates/redpill-tun/src/route.rs:844
↓ 1 callersFunctionconfigure_interface
( dev_name: &str, address: Ipv4Addr, prefix_len: u8, )
crates/redpill-tun/src/route.rs:46
↓ 1 callersFunctionconfigure_tun_performance
(dev_name: &str, txqueuelen: u32)
crates/redpill-tun/src/route.rs:516
↓ 1 callersMethodconnect
(&self)
crates/redpill-quic/src/transport/manager.rs:126
↓ 1 callersMethodcreate
(name: &str)
crates/redpill-tun/src/device.rs:40
↓ 1 callersFunctiondaemonize
(log_path: &Path)
crates/redpill-quic/src/daemon.rs:131
↓ 1 callersFunctiondefault_acme_dir
()
crates/redpill-quic/src/config.rs:370
↓ 1 callersFunctiondefault_browser_profile
()
crates/redpill-quic/src/config.rs:388
next →1–100 of 312, ranked by callers