#cli #call #remote #build

app rust-call

Make remote development more elegant

6 releases

0.3.0 Aug 31, 2021
0.2.0 Jun 14, 2021
0.1.3 May 7, 2021

#2036 in Command line utilities

Download history 9/week @ 2023-10-29 8/week @ 2023-11-05 1/week @ 2023-11-12 1/week @ 2023-11-19 8/week @ 2023-11-26 18/week @ 2023-12-03 6/week @ 2023-12-17 12/week @ 2023-12-24 6/week @ 2024-01-07 6/week @ 2024-01-14 6/week @ 2024-01-21 12/week @ 2024-01-28 1/week @ 2024-02-04 35/week @ 2024-02-11

60 downloads per month


632 lines

Table of Contents

Call: Make remote development more elegant


Build Status

What does it do

Call is an easy-to-use command tools for remote development. It helps you to build remote development easily and elegant. It can work with makefile and justfile.

Call provides three ways.

  • openssh SSH Login Without Password

  • password SSH Login With Password

  • keypair SSH Login With Private Key File

How it works(now)

Functions currently implemented:

  • step1: synchronize data to the specified server

  • step2: execute commands on the remote server


Quick Start

It is super easy to get started with your first project.

Step 1: install call command tools

cargo install --git  https://github.com/bingryan/call.git


cargo install rust-call

Step 2: init call

cd your_project_homepage
call i

there will be a call.yml file at your_project_homepage. Then you can configure call.yml。such as:

        - dev  # active server label
    runner: make  # make -> makefile , just -> justfile
    src: . # current dir
    dest: ~/workspace/call  # remote path
    exclude: # Ignored directories in .gitignore will also be ignored
      - ./target
      - README.md
      dev: # label for openssh server
          - # multiple
        port: 22
        authentication_type: openssh
        username: rust # remote server username

Step 3: run call

replace make xxx with call xxx command, when your project has makefile.

replace just xxx with call xxx command, when your project has justfile.


  • openssh (rsync)
  • password (rsync,sshpass)
  • keypair (rsync)
# Debian/Ubuntu
$ sudo apt-get install rsync
$ sudo apt-get install sshpass

# Red Hat
$ sudo yum install rsync
$ sudo yum install sshpass

# Arch Linux
$ sudo pacman -S rsync
$ sudo pacman -S sshpass

# MacOS
$ brew install rsync
$ brew install http://git.io/sshpass.rb(if notwork, copy raw content to `sshpass.rb`: brew install sshpass.rb)


  • Call Server(Relay Server): relay server which is able to coordinate with clients to establish connectivity(use other port forward tools).
  • default template(Put the template.yml under ~/.call/template.yml and copy it directly when run: call i)


Tutorial Doc


Contributors are welcomed to join this project. Please check CONTRIBUTING about how to contribute to this project.


~208K SLoC