#client-server #server #client #protocols #networking #api

yanked over-there-core

Core library providing gateway into client <-> server communication for developers and tooling

0.1.0-alpha.1 Mar 24, 2020

#534 in #client-server

MIT/Apache

465KB
12K SLoC

Abandoned in favor of https://github.com/chipsenkbeil/distant

Over There   Build Status Latest Version Latest Docs over-there: rustc 1.39+

Over There is a library and tool to enable software management and execution remotely from "over there."

Building developer version

By default, the CLI feature is not included. This means that executing a normal build will not include the binary:

cargo build

Instead, the cli feature must be specified:

cargo build --features 'cli'

Making a release

See the following link about file size: https://stackoverflow.com/a/54842093

cargo build --release --features 'cli'
strip target/release/over-there

Making a release without dynamically linking libc

rustup target add x86_64-unknown-linux-musl
cargo build --release --target=x86_64-unknown-linux-musl --features 'cli'

Note that on Mac OS X you will need to install musl-gcc:

brew install FiloSottile/musl-cross/musl-cross

And to do a strip (on Mac), use the musl strip:

x86_64-linux-musl-gcc target/x86_64-unknown-linux-musl/release/over-there

Notes on running

One obvious one is that you need to match server IPv4 with client IPv4 and server IPv6 with client IPv6.

E.g. The following works fine between IPv6

# On your machine
over-there client '[1111:2222:3333:4444:5555:6:78:9]:60000' <some command>

# On 1111:2222:3333:4444:5555:6:78:9
over-there server '[::]:60000'

E.g. The following works fine between IPv4

# On your machine
over-there client '123.456.7.890:60000' <some command>

# On 123.456.7.890
over-there server '0.0.0.0:60000'

overthered

otd as alias?

Daemon wrapper around overthere that runs service to listen for requests and execute them.

overtherec

otc as alias?

Client wrapper around overthere that can send commands to a remote daemon to execute and can relay results in a variety of means like stdout or files.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~12MB
~190K SLoC