From 65acece251c5b2e11fc508ce5625f076da947f25 Mon Sep 17 00:00:00 2001 From: tmgrask Date: Fri, 20 Feb 2026 19:05:59 -0500 Subject: [PATCH] docs cleanup --- .github/workflows/release-cli.yml | 2 +- cli/GUIDE.md | 2 +- cli/README.md | 71 +++------------------------- cli/cmd/root.go | 4 +- cli/cmd/start.go | 4 +- src/i18n/locales/en/translation.json | 2 +- 6 files changed, 12 insertions(+), 73 deletions(-) diff --git a/.github/workflows/release-cli.yml b/.github/workflows/release-cli.yml index 09454850..71c378e3 100644 --- a/.github/workflows/release-cli.yml +++ b/.github/workflows/release-cli.yml @@ -138,7 +138,7 @@ jobs: body: | ## Conduit CLI ${{ steps.version.outputs.VERSION }} - Conduit is a volunteer-run proxy node that helps relay traffic for users in censored regions. + Conduit is a volunteer-run proxy node that helps relay traffic for Psiphon users. ### Running the Conduit CLI diff --git a/cli/GUIDE.md b/cli/GUIDE.md index 4f6b65f3..a65892d0 100644 --- a/cli/GUIDE.md +++ b/cli/GUIDE.md @@ -18,7 +18,7 @@ We have observed that Conduit can support around 150-350 concurrent users for ev ## Expected usage patterns: -Conduit is one tool of many in Psiphon's circumvention toolbox. On some networks, Conduit will not work as well as some of our other protocols, and on other networks Conduit may be the best way to get users connected. This changes constantly as network conditions change. Like everything, Conduit servers can be blocked, this is another reason why IP diversity is so important. +Conduit is one tool of many in Psiphon's toolbox. On some networks, Conduit will not work as well as some of our other protocols, and on other networks Conduit may be the best way to get users connected. This changes constantly as network conditions change. Like everything, Conduit servers can be blocked, this is another reason why IP diversity is so important. Brand new Conduit stations will take time to build up a reputation with the tunnel connection broker. For this reason, it is not unexpected for freshly deployed Conduit stations to not see traffic for some hours or even days, depending on supply vs demand. If you can, keep your Conduit stations running even if they are not seeing high connection volumes; this latent capacity may become very useful when network conditions change. diff --git a/cli/README.md b/cli/README.md index 58ad132f..92730809 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1,6 +1,6 @@ # Conduit CLI -Command-line interface for running a Psiphon Conduit node, a volunteer-run proxy that relays traffic for users in censored regions. +Command-line interface for running a Psiphon Conduit node, a volunteer-run proxy that relays traffic for Psiphon users. ## Quick Start @@ -13,26 +13,12 @@ Contact Psiphon (`conduit-oss@psiphon.ca`) to discuss custom configuration value Conduit deployment guide: [GUIDE.md](./GUIDE.md) -### Common-only mode +### Usage -```bash -conduit start -``` - -### Personal compartment mode - -```bash -# Generate and persist a personal compartment ID, and print a share token -conduit new-compartment-id --name my-station - -# Enable personal clients (can be combined with common clients) -conduit start --max-common-clients 50 --max-personal-clients 10 -``` - -If you do not have `personal_compartment.json` in your data directory yet, you can also pass a compartment ID or share token directly: +Download a release binary, then : ```bash -conduit start --max-personal-clients 10 --compartment-id "" +conduit start ``` ## Docker @@ -48,7 +34,6 @@ The compose file enables Prometheus metrics on `:9090` inside the container. To ## Commands - `conduit start` - start the Conduit inproxy service -- `conduit new-compartment-id` - create and persist a personal compartment ID and output a share token - `conduit ryve-claim` - output Conduit claim data for Ryve ## Start Command Flags @@ -57,8 +42,6 @@ The compose file enables Prometheus metrics on `:9090` inside the container. To | -------------------------- | ------- | --------------------------------------------------------------------------------- | | `--psiphon-config, -c` | - | Path to Psiphon network config file (required when no embedded config is present) | | `--max-common-clients, -m` | `50` | Maximum common proxy clients (`0-1000`) | -| `--max-personal-clients` | `0` | Maximum personal proxy clients (`0-1000`) | -| `--compartment-id` | - | Personal compartment ID or share token | | `--bandwidth, -b` | `40` | Total bandwidth limit in Mbps (`-1` for unlimited) | | `--set` | - | Override allowlisted config keys (`key=value`), repeatable | | `--metrics-addr` | - | Prometheus metrics listen address (for example, `:9090`) | @@ -68,25 +51,6 @@ Global flags: - `--data-dir, -d` (default `./data`) - `--verbose, -v` (repeatable count flag) -At least one of `--max-common-clients` or `--max-personal-clients` must be greater than `0`. - -## Personal Compartments - -When `--max-personal-clients` is greater than 0, Conduit needs a personal compartment ID. - -Use `conduit new-compartment-id` to: - -1. Generate a personal compartment ID. -2. Save it to `personal_compartment.json` in your data directory. -3. Print a v1 share token (for pairing). - -`--name` is limited to 32 characters. - -You can provide `--compartment-id` as either: - -- a raw compartment ID, or -- a share token (the CLI extracts and validates the ID) - ## `--set` Overrides `--set` supports a strict allowlist of config keys: @@ -97,8 +61,6 @@ You can provide `--compartment-id` as either: - `InproxyLimitUpstreamBytesPerSecond` - `InproxyMaxClients` - `InproxyMaxCommonClients` -- `InproxyMaxPersonalClients` -- `InproxyProxyPersonalCompartmentID` - `InproxyReducedEndTime` - `InproxyReducedLimitDownstreamBytesPerSecond` - `InproxyReducedLimitUpstreamBytesPerSecond` @@ -108,9 +70,7 @@ You can provide `--compartment-id` as either: Example: ```bash -conduit start \ - --set EmitInproxyProxyActivity=true \ - --set InproxyReducedMaxCommonClients=10 +conduit start --set InproxyMaxCommonClients=25 ``` ## Metrics @@ -145,25 +105,7 @@ To use throttling with Docker: docker compose -f docker-compose.limited-bandwidth.yml up -d ``` -Edit `docker-compose.limited-bandwidth.yml` to set limits: - -```yaml -command: [ - "--traffic-limit", - "500", # Total quota in GB - "--traffic-period", - "30", # Time period in days - "--bandwidth-threshold", - "80", # Throttle at 80% usage - "--min-connections", - "10", # Reduced common clients when throttled - "--min-bandwidth", - "10", # Reduced bandwidth when throttled - "--", # Separator - "start", # Conduit command - ..., # Conduit flags - ] -``` +Edit `docker-compose.limited-bandwidth.yml` to set limits. How it works: @@ -177,7 +119,6 @@ How it works: Keys and state are stored in the data directory (default: `./data`): - `conduit_key.json` - node identity keypair -- `personal_compartment.json` - persisted personal compartment ID - `traffic_state.json` - traffic usage state (when throttling is enabled) The Psiphon broker tracks proxy reputation by key. Always use persistent storage for your data directory so your key and reputation survive restarts. diff --git a/cli/cmd/root.go b/cli/cmd/root.go index 2dde82d6..5097325f 100644 --- a/cli/cmd/root.go +++ b/cli/cmd/root.go @@ -35,9 +35,7 @@ var ( var rootCmd = &cobra.Command{ Use: "conduit", Short: "Conduit - A volunteer-run proxy relay for the Psiphon network", - Long: `Conduit is a Psiphon inproxy service that relays traffic for users -in censored regions, helping them access the open internet. - + Long: `Conduit is a Psiphon inproxy service that relays traffic for Psiphon users, helping them access the open internet. Run 'conduit start' to begin relaying traffic.`, Version: version, } diff --git a/cli/cmd/start.go b/cli/cmd/start.go index 261a1c6f..f0b1f9b9 100644 --- a/cli/cmd/start.go +++ b/cli/cmd/start.go @@ -51,9 +51,9 @@ var startCmd = &cobra.Command{ func getStartLongHelp() string { if config.HasEmbeddedConfig() { - return `Start the Conduit inproxy service to relay traffic for users in censored regions.` + return `Start the Conduit inproxy service to relay traffic for Psiphon users.` } - return `Start the Conduit inproxy service to relay traffic for users in censored regions. + return `Start the Conduit inproxy service to relay traffic for Psiphon users. Requires a Psiphon network configuration file (JSON) containing the PropagationChannelId, SponsorId, and broker specifications.` diff --git a/src/i18n/locales/en/translation.json b/src/i18n/locales/en/translation.json index 012c8dde..a13bef83 100644 --- a/src/i18n/locales/en/translation.json +++ b/src/i18n/locales/en/translation.json @@ -96,7 +96,7 @@ "string": "What is Conduit?" }, "ONBOARDING_INFO_1_BODY_I18N": { - "string": "Conduit is an open-source application that enables people in censored regions worldwide to bounce off your device and into the Psiphon Network.\n\nThe more Conduit Stations there are, the stronger Psiphon is and the more open the internet becomes." + "string": "Conduit is an open-source application that enables Psiphon users worldwide to bounce off your device and into the Psiphon Network.\n\nThe more Conduit Stations there are, the stronger Psiphon is and the more open the internet becomes." }, "ONBOARDING_INFO_1_BUTTON_I18N": { "string": "Next"