3 ms·
This is very much what age is designed for. The Go implementation supports every OS. The Rust implementation (rage) also does, and can be called from C, JavaSc
by FiloSottile 5y ago
This is very much what age is designed for.
The Go implementation supports every OS. The Rust implementation (rage) also does, and can be called from C, JavaScript, Python, and anything else with a C FFI. Also, age can be implemented entirely on top of libsodium, so anything with libsodium bindings can easily get an age implementation. I’m working to a TypeScript implementation to demonstrate it.
I’d be interested to hear what language support is missing, to know where to invest in the future.
- binwiederhier 5y agoHeyy! Thank you very much for designing age. It's fantastic. And thank you for making it open source and your continued work! I wasn't aware that there is widespread support in other languages. I'll have to look into it. The ideal state IMHO would be age support in the standard library of most popular languages, or at least as ubiquitous support as for instance OpenSSL. My concrete suggestions to make age as ubiquitous as OpenPGP and OpenSSL, would be: - Better documentation: The age GitHub page and the man page are geared towards the CLI tool, and not the use as a library. There are no examples for other languages and not even a link to rage or the FFI examples you mentioned. Maybe make a website or a mkdocs documentation showing examples, something like this [1] (disclaimer: this is mine) - Officially supported libraries in other languages: This one is tough, because it's hard work. But maybe if you create a CONTRIBUTING.md document and ask for people to step forward, they will. List out the languages you want to support and specifically call out that you're looking for help. Once again, thanks for creating age. Much appreciated!! [1] https://ntfy.sh/docs/publish/ https://ntfy.sh/docs/publish/ Edit: I could not find instructions on how to use age/rage with Python or JS. Can you point me to them?
- binwiederhier 5y agoI created a discussion for it here: https://github.com/FiloSottile/age/discussions/404 https://github.com/FiloSottile/age/discussions/404