github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/docs/hub.md (about)

     1  # Connecting several managers via Hub
     2  
     3  `syz-hub` program can be used to connect several `syz-manager`'s together and
     4  allow them to exchange programs.
     5  
     6  Build `syz-hub` with `make hub`. Then create a config file along the lines of:
     7  
     8  ```
     9  {
    10  	"http": ":80",
    11  	"rpc":  ":55555",
    12  	"workdir": "/syzkaller/workdir",
    13  	"clients": [
    14  		{"name": "manager1", "key": "6sCFsJVfyFQVhWVKJpKhHcHxpCH0gAxL"},
    15  		{"name": "manager2", "key": "FZFSjthHHf8nKm2cqqAcAYKM5a3XM4Ao"},
    16  		{"name": "manager3", "key": "fTrIBQCmkEq8NsvQXZiOUyop6uWLBuzf"}
    17  	]
    18  }
    19  ```
    20  
    21  And start it with `bin/syz-hub -config hub.cfg`. Then add the following
    22  additional parameters to `syz-manager` config files of each manager:
    23  
    24  ```
    25  	"name": "manager1",
    26  	"hub_client": "manager1",
    27  	"hub_addr": "1.2.3.4:55555",
    28  	"hub_key": "6sCFsJVfyFQVhWVKJpKhHcHxpCH0gAxL",
    29  ```
    30  
    31  And start managers. Once they triage local corpus, they will connect to the hub
    32  and start exchanging inputs. Both hub and manager web pages will show how many
    33  inputs they send/receive from the hub.