ityonemo

ityonemo

Librarian (streaming ssh client library)

Just wanted to inform everyone that I have a ssh client that I’m pretty happy about - it’s called librarian, and it improves on sshex in a few ways

1 - the functions are fairly well-typed
2 - it provides fetch/3 and send/4 which are implementations of the SCP protocol.
3 - uses elixir streams and collectible under the hood so it’s composable
4 - it provides ability to defer configuration settings to ~/.ssh/config
5 - there’s an identity: connect option which lets you use a pem file.

https://hexdocs.pm/librarian/SSH.html

It’s still early so there are probably some bugs that need to be worked out, and since I’m working on a linux box, not having a mac or windows to test on is tough, so as usual extra eyes and suggestions are greatly welcome

Most Liked

ityonemo

ityonemo

version 0.1.5 Update:

Lets you use tty: true (it’s pretty fun to log into an iex> shell and do SSH.run(conn, "cmatrix", tty: true)

tentative environment variable support (but unfortunately erlang’s SSH client library is broken!)
https://bugs.erlang.org/browse/ERL-1107/

ityonemo

ityonemo

updated, reflecting API changes in the :ssh app provided by OTP/23. Should continue to be compatible with OTP/20ish-22.

ityonemo

ityonemo

Librarian updated to 0.2.0, with support for sending File.Stream (and streams of file streams) to a librarian SCP stream. This means you can do a streaming SCP file send without loading the entire binary into memory (useful for VERY large files, like > 1GB)

Where Next?

Popular in Libraries Top

josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
hpopp
After just over two years in development, this latest version of Pigeon is what I finally consider done in regards to my original vision ...
New
seancribbs
Today I released a new dialyzer Mix task as the dialyzex package! At the time we started writing this task, the existing dialyzer integra...
New
treble37
Just looking for a little feedback on a tiny helper library I built - Sometimes I find the need to convert maps with atom keys to maps...
New
OvermindDL1
Been making an MLElixir thing (not released yet…) for fun in spare time in the past day. I’m just trying to see how much I can get an ML...
132 13487 106
New
wfgilman
I’ve cleaned up and open sourced three financial libraries I was using for my company. They are bindings for the APIs of these three comp...
New
asiniy
Hey there! I wrote a download elixir package which does exactly what its name about - an easy way to download files. I saw solutions ...
New
Crowdhailer
I have been updating a library that allows you to pipe between functions that use the erlang result tuple convention. Assuming you have...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New
tmbb
I’ve decided to create this topic to discuss optimization possibilities for something like Phoenix LiveView. I’ve created this topic unde...
New

Other popular topics Top

gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

Sub Categories:

We're in Beta

About us Mission Statement