# distribusi-go > This is still very experimental, please take a backup of your archives if you > are running it on files you care about. It hasn't been tested on large > archives. There are probably some pretty bad bugs lurking in there. It may > still thrash files. Please [report issues] as you find them :100: Thanks for > testing! A [Go] implementation of [distribusi]. If you're migrating from the Python version or have experience using it, here are the differences in `distribusi-go`: - This is a compiled `distribusi` which is simpler to install on your computer, just download the binary, `chmod +x` and run it. - There is no need to install [Pillow] for handling images, that is now built-in. The only external dependency is [exiftool] for image captions from embedded metadata. If you don't have `exiftool` installed, then it gracefully skips that feature. So, you don't need to install anything else to run `distribusi` now :pray: - The command-line interface is quite different. There are less optional flags and more defaults. I shuffled a number of things around according to my preferences (open to changes, please [open a ticket]). For example, I always like my images to be thumbnail'd. There's a handy web server built-in now, just run with `-s` :metal: ## Install ``` curl https://git.vvvvvvaria.org/decentral1se/distribusi-go/raw/branch/main/distribusi -o distribusi chmod +x distribusi ./distribusi ``` ## Quick start ``` ./distribusi -p -s ``` If you want to ignore certain paths, you can use `-i/--ignore` (comma separated list, wildcards supported, more [here] for supported patterns): ``` ./distribusi -p -s -i '*.gif, *.md, mydir' ``` If you run into issues, run with `-d/--debug` to see what is happening under the hood. ## Hacking You'll need [Go] >= 1.11 installed. Run `go build .` to build a new `./distribusi` executable. [Go]: https://go.dev [distribusi]: https://git.vvvvvvaria.org/varia/distribusi [Pillow]: https://pillow.readthedocs.io/en/stable/installation.html#external-libraries [exiftool]: https://exiftool.org/ [report issues]: https://git.vvvvvvaria.org/decentral1se/distribusi-go/issues/new/choose [open a ticket]: https://git.vvvvvvaria.org/decentral1se/distribusi-go/issues/new/choose [here]: https://pkg.go.dev/path/filepath#Match