Amir Khan cebcf25b74 Update to Go 1.23 1 year ago
..
matchfinder cebcf25b74 Update to Go 1.23 1 year ago
LICENSE c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
README.md cebcf25b74 Update to Go 1.23 1 year ago
backward_references.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
backward_references_hq.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
bit_cost.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
bit_reader.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
bitwriter.go cebcf25b74 Update to Go 1.23 1 year ago
block_splitter.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
block_splitter_command.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
block_splitter_distance.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
block_splitter_literal.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
brotli_bit_stream.go cebcf25b74 Update to Go 1.23 1 year ago
cluster.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
cluster_command.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
cluster_distance.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
cluster_literal.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
command.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
compress_fragment.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
compress_fragment_two_pass.go cebcf25b74 Update to Go 1.23 1 year ago
constants.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
context.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
decode.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
dictionary.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
dictionary_hash.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
encode.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
encoder.go cebcf25b74 Update to Go 1.23 1 year ago
encoder_dict.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
entropy_encode.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
entropy_encode_static.go cebcf25b74 Update to Go 1.23 1 year ago
fast_log.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
find_match_length.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
h10.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
h5.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
h6.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
hash.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
hash_composite.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
hash_forgetful_chain.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
hash_longest_match_quickly.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
hash_rolling.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
histogram.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
http.go cebcf25b74 Update to Go 1.23 1 year ago
huffman.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
literal_cost.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
memory.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
metablock.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
metablock_command.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
metablock_distance.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
metablock_literal.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
params.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
platform.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
prefix.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
prefix_dec.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
quality.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
reader.go 83d2135f40 Upgrade to uTLS 1.3.3 2 years ago
ringbuffer.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
state.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
static_dict.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
static_dict_lut.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
symbol_list.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
transform.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
utf8_util.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
util.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
write_bits.go c040e4cc6c Update utls and use new TLS fingerprints and extensions 3 years ago
writer.go cebcf25b74 Update to Go 1.23 1 year ago

README.md

This package is a brotli compressor and decompressor implemented in Go. It was translated from the reference implementation (https://github.com/google/brotli) with the c2go tool at https://github.com/andybalholm/c2go.

I have been working on new compression algorithms (not translated from C) in the matchfinder package. You can use them with the NewWriterV2 function. Currently they give better results than the old implementation (at least for compressing my test file, Newton’s Opticks) on levels 2 to 6.

I am using it in production with https://github.com/andybalholm/redwood.

API documentation is found at https://pkg.go.dev/github.com/andybalholm/brotli?tab=doc.