Skip to content

ChaseSecurity/Pepper

Repository files navigation

Pepper

Pepper is an anonymous broadcast and private messaging protocol based on the DC-net architecture. This repository provides a Go implementation that benchmarks communication throughput via end-to-end file transfer experiments. It supports the following protocol modes:

  • pepper
  • express
  • spectrum
  • pacl

Disclaimer: research code, not for production use.

Requirements

  • Go 1.22 or newer.
  • A populated local V-DMPF dependency directory. The module is wired through go.mod with replace vdmpf => ./V-DMPF.

Build the local DPF library before running Pepper:

cd V-DMPF
make libdpf.a
cd ..

Quick Local Test

Run a small Pepper transfer test with three clients:

./scripts/run_simple_test.sh pepper 3

The script creates local test data and configuration, starts ServerA and ServerB, runs the clients, and writes recovered output under data/output/.

Manual Run

Start the two servers in separate terminals:

go run main.go --role server --server-id A --mode pepper --config data/simple_test.json
go run main.go --role server --server-id B --mode pepper --config data/simple_test.json

Then run the client:

go run main.go --role client --mode pepper --config data/simple_test.json \
  --serverA 127.0.0.1:18080 --serverB 127.0.0.1:18081

Use --mode express, --mode spectrum, or --mode pacl with matching configuration to run other protocols.

Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors