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

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.