Vitaly Shukela (@vi)

Top repositories

1

websocat

Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
Rust
6,121
star
2

tcpsocks

Redirect traffic to SOCKS5 server with iptables, epoll based, single threaded.
C
112
star
3

virtual_touchscreen

Simple evdev linux device driver and GUI program to simulate multitouch touchscreen
C
81
star
4

timeago

In Rust, format Duration into a string like "1 hour ago" or "01hou".
Rust
64
star
5

mkvparse

Simple Python matroska (mkv) reading library, also mkv2xml and xml2mkv
Python
57
star
6

dive

Start programs inside unshare/lxc namespaces easily using UNIX sockets + easy access to capabilities, namespaces, chroot and others.
C
54
star
7

fdlinecombine

Read multiple fds and print data to stdout linewise.
C
44
star
8

timeskew

Override time reporting in Linux processes (accelerate/slowdown games, test code involving timers/delays)
C
37
star
9

sledtool

CLI tool to work with Sled key-value databases.
Rust
35
star
10

wsbroad

Simple websocket broadcaster implemented in Rust
Rust
34
star
11

udptap_tunnel

Simple UDP tun/tap-based tunnel with mcrypt encryption. Also some more AF_PACKET and tun/tap related tools.
C
34
star
12

execfuse

Turn a bunch of scripts into a FUSE filesystem
C
28
star
13

json2

xml2 for JSON; like gron
Python
27
star
14

rust-nbd

Rust library for NBD (network block device) protocol.
Rust
26
star
15

tcplim

User-space TCP bandwidth limiter (based on tcprelay)
C
23
star
16

imlib2-heic

HEIC/HEIF decoder for imlib2 (feh)
C
23
star
17

syscall_limiter

Start Linux programs with only selected syscalls enabled (libseccomp-based)
C
23
star
18

tokio-stdin-stdout

AsyncRead/AsyncWrite stdin/stdout for legacy pre-0.1 Tokio
Rust
18
star
19

trait-enumizer

Derive macro for Rust that turns traits into enums, providing tools for calling funtions over channels
Rust
17
star
20

dnscache

Simple DNS proxy with forced caching
Rust
16
star
21

rust-stunclient

Simple Rust STUN client library for resolving external IP address and port of a UDP socket
Rust
16
star
22

readwriteseekfs

In Rust, Expose Read+Write+Seek (or just Read+Seek) as a FUSE-backed regular file
Rust
12
star
23

syn-file-expand

Rust library to scan files and expand (make modules inline) multi-file crates source code as a single tree.
Rust
12
star
24

turnhammer

Stress-testing tool for TURN (RFC 5766) servers.
Rust
11
star
25

macro_robinhood_hash

Simple Robin Hood hash table implemented using C macros
C
11
star
26

fusecow

Simple single-file FUSE implementation of copy-on-write
C
10
star
27

wgslirpy

User-space Wireguard gateway allowing sharing network connection from environment where usual routing rules are inaccessible.
Rust
10
star
28

nbdserve

A simple NBD (network block device) server in Rust
Rust
10
star
29

float-pretty-print

Format f64 in Rust with minimum and maximum width, auto switching between scientific and normal representation
Rust
10
star
30

zigmkv

[wip] Matroska/webm (mkv) parser in Zig
Zig
10
star
31

rust-turnclient

Simple TURN client library for Rust, also a general-purpose TURN proxy.
Rust
9
star
32

fopen_override

LD_PRELOAD-based fopen/open filename overrider
C
9
star
33

udpnat

P2P-friendly UDPv4-only user-space NAT for Linux. [beta]
C
9
star
34

android-udp-bus

Android tool to exchange UDP packets
Rust
9
star
35

mal-rust-vi

My attempt to solve https://github.com/kanaka/mal using Rust and Pest
Rust
8
star
36

moshudp

Simple alternative session establisher for mosh
Rust
8
star
37

postsse

HTTP POST and Server-sent events interconnector
Rust
7
star
38

fusenbd

Mount network block device export as a single-file FUSE filesystem.
Rust
7
star
39

libmlockall

Lock all pages in memory for a process tree
C
7
star
40

wsmirror

WebSocket mirror (echo server) implementation, for running services like echo.websocket.org
Rust
7
star
41

ts2xml

Dump mpegts files as XML, decoding various headers
Python
7
star
42

DisplayAndPickPixel

Display picture and print coordinates on clicks
C++
7
star
43

vi_tools

Various command-line tools, mostly for Linux
C
7
star
44

csvcatrow

A CLI tool to concatenate rows from many csv files by matching columns of each
Rust
6
star
45

http-bytes

Bridge Rust's `http` crate world and bytes world without a real web framework
Rust
5
star
46

slab_typesafe

A type-safe wrapper for Rust's "slab" data structure
Rust
5
star
47

fusefile

Mount one file to another (with offset and append_only support)
C
5
star
48

netns_tcp_bridge

Linux CLI tool to forward TCP connections from one network namespace to another network namespace
Rust
5
star
49

udpenc

UDP relay with blowfish encryption
C
5
star
50

natram

UDP hole puncher for restrictive-ish NAT
Rust
5
star
51

AnkiImporter

Import cards into AnkiDroid from text files using API
Java
5
star
52

compactmap

CompactMap data structure for Rust
Rust
5
star
53

stunserv

Simple STUN server for testing purposes
Rust
5
star
54

outoforderfs

FUSE single-file filesystem simulating dirty block device shutdown (each write is delayed randomly)
Rust
5
star
55

pcap2udp

Simple tool to send frames from pcap dump as udp packets
Rust
5
star
56

tcptunnelchecker

[WiP] Checks TCP tunnel/forwarder for correctness
Rust
4
star
57

mkv.rs

[incomplete] Library to work with Matroska (mkv) files in Rust
Rust
4
star
58

tcprelay

Simple Linux epoll-based single thread TCP relay.
C
4
star
59

zboxmount

FUSE application for mounting ZboxFS
Rust
4
star
60

curve25519tool

Command-line tool to perform curve25519 and ed25519 operations
Rust
4
star
61

imlib2-avif

AVIF loader for Imlib2/feh
C
4
star
62

readwrite

Rust mini-library to combine a reader and a writer into a Read+Write psedo-socket.
Rust
4
star
63

imlib2-bpg

imlib2 plugin for loading BPG images
C
4
star
64

HsMkv

Simple matroska (mkv) demuxer and muxer written in Haskell
Haskell
4
star
65

ipv6proxy

IPv6 router advertisment and neighbour discovery proxy for simple bridge-like extensions of /64 networks.
C
4
star
66

simple_cbor_stream_parse

Simple low-level streamed callback-based CBOR push parser in C and C++
C
4
star
67

tokio-listener

Unified way to specify AF_INET or AF_UNIX address for listening sockets in Tokio projects (or inetd mode)
Rust
3
star
68

forsnapshotfs

Storage for incremental backup/snapshots (as single big files)
C
3
star
69

tcpprepend

Simple TCP forwarder that prepends some fixed bytes to responses and ignores some fixed header on requests
Rust
3
star
70

resolvconffs

Special FUSE filesystem to map /etc/resolv.conf to different files depending on Linux network namespace
Rust
3
star
71

tarpipefs

Virtual write-only FUSE filesystem to create tar archives [early and hacky]
C
3
star
72

pktslow

Virtual network for slowing down or dropping packets selectively
Rust
3
star
73

videomedian

Temporal-median noise reduction video filter
C
3
star
74

line2httppost

Command-line HTTP client for sending a POST request to specified URI on each stdin line.
Rust
3
star
75

chaoticfs

Encrypting FUSE filesystem with "false bottom" allowing exposing the data only partially
C
3
star
76

rechat2srt

Command-line tool to convert Twitch's *.rechat.json files to srt subtitles.
Rust
2
star
77

http_file_uploader

Simple low-level web server to serve file uploads with some shell scripting-friendly features
Rust
2
star
78

torchctl

LED controller for Google Pixel 3 XL smartphone (requires root access)
Rust
2
star
79

tcplinecombine

Accept TCP connections, read lines from them and write them to one zstd-compressed file
Rust
2
star
80

duplo

Web application for anonymous file sharing in intranet environments.
JavaScript
2
star
81

redscreen.apk

Trivial Android application that just shows bright red screen
Java
2
star
82

audiorepeat

ALSA-based program to record from mic and immediately play it back
Rust
2
star
83

fusecloop

Mount cloop images (like in Knoppix) using FUSE
HTML
2
star
84

random-distributions-cli

Command-line tool to generate samples of various random distributions
Rust
2
star
85

netmeasure2

[work in progress] Network quality measurement tool (packet loss and delay statistics).
Rust
2
star
86

socksredirect

"iptables ... -p tcp -j REDIRECT" to this program and it will connect to SOCKS5 server
C
2
star
87

libshortrecv

LD_PRELOAD library to make read/write/send/recv/etc. simulate short reads/writes
C
1
star
88

tokio-copy-with-buffer

A fork of tokio_io::io::copy function that is more flexible.
Rust
1
star
89

for_merge

A test repository to demonstrate git merging and rebasing
1
star
90

simplecowfs

Mount filesystems with unreplayed journal from read-only media easily
C
1
star
91

websocket-sans-io

Low-level WebSocket frame encoding and decoding library for Rust
Rust
1
star
92

wg2gue

Wireguard to GUE/FOU bridge: exchange IPv4 or IPV6 packets between a Wireguard peer and a plain UDP socket.
Rust
1
star
93

wgserve

Android application to route incoming connections from Wireguard tunnels to device's network
Rust
1
star
94

println_logger

Trivial Rust loger that just does println!, like the sample logger in documentation
Rust
1
star
95

lsstack

Enhanced lsstack with periodic probing and output to file
C
1
star
96

jscfi

BSU Super Computer Phoenix Initiative cluster graphical task manager
Clojure
1
star
97

tokio-watchdog

A simple watchdog timer for Rust's Tokio async world
Rust
1
star
98

snp

Command-line Snappy (compression algorithm, not a package) encode/decode tool
C++
1
star
99

codegolf-jein

Toolset and example solution of "Yes or no" codegolf
C
1
star
100

proptest-http

`impl proptest::Arbitrary for http::{Request,Response,Uri}` - random http-related objects generator for Rust
Rust
1
star