MCPcopy Index your code
hub / github.com/Psiphon-Inc/conduit

github.com/Psiphon-Inc/conduit @release-cli-2.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release release-cli-2.0.0 ↗ · + Follow
692 symbols 1,956 edges 133 files 89 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Conduit

Conduit runs inproxy from psiphon-tunnel-core. This repository targets a mobile app on Android, iOS, and Mac (via Catalyst), as well as a cross-platform CLI.

CLI and Mac releases are available on this repository's releases page. The Android mobile app is available on the Google Play store: https://play.google.com/store/apps/details?id=ca.psiphon.conduit. The iOS app is not currently released due to technical limitations.

For more information about Conduit, visit the web site.

React Native App

The React Native app is implemented in src/ and the relevant native folders (android/, ios/). This project uses expo, so follow the instructions there for setting up an expo development environment.

To run the app in a development environment, you need a psiphon config file. This can be obtained from Psiphon at conduit-oss@psiphon.ca.

Run the android client with:

npm install
npm run android

This starts a metro development server automatically.

CLI App

See the cli folder for more details about the Conduit CLI.

Contributing

See CONTRIBUTING.md for information about contributing to Conduit.

Git LFS Usage

This project uses Git LFS to manage large files such as the tunnel core libraries.

Translations

For information about pulling and verifying translations, see i18n/README.md.

Extension points exported contracts — how you extend this code

DataItem (Interface)
(no doc) [2 implementers]
android/app/src/main/java/ca/psiphon/conduit/nativemodule/stats/DataStats.java
ConduitModuleAPI (Interface)
(no doc)
src/inproxy/module.ts
ReducedUsageWindowProps (Interface)
(no doc)
src/components/ReducedUsageWindow.tsx
AuthContextValue (Interface)
(no doc)
src/auth/context.tsx
InproxyContextValue (Interface)
(no doc)
src/inproxy/types.ts
EditableNumberSliderProps (Interface)
(no doc)
src/components/EditableNumberSlider.tsx
QRDisplayProps (Interface)
(no doc)
src/components/QRDisplay.tsx
QRModule (Interface)
(no doc)
src/components/QRDisplay.tsx

Core symbols most depended-on inside this repo

put
called by 86
src/components/QRDisplay.tsx
e
called by 52
android/app/src/main/java/ca/psiphon/conduit/nativemodule/logging/MyLog.java
i
called by 49
android/app/src/main/java/ca/psiphon/conduit/nativemodule/logging/MyLog.java
toString
called by 33
src/common/svgutils.ts
timedLog
called by 28
src/common/utils.ts
get
called by 26
src/components/QRDisplay.tsx
parse
called by 24
android/app/src/main/java/ca/psiphon/conduit/nativemodule/ConduitServiceParameters.java
add
called by 20
android/app/src/main/java/ca/psiphon/conduit/nativemodule/stats/DataStats.java

Shape

Method 354
Function 246
Class 61
Struct 15
Interface 12
Enum 3
TypeAlias 1

Languages

TypeScript42%
Java38%
Go18%
Kotlin2%
Python1%

Modules by API surface

src/components/QRDisplay.tsx59 symbols
android/app/src/main/java/ca/psiphon/conduit/nativemodule/ConduitService.java35 symbols
src/common/svgutils.ts34 symbols
android/app/src/main/java/ca/psiphon/conduit/nativemodule/stats/DataStats.java33 symbols
android/app/src/main/java/ca/psiphon/conduit/nativemodule/stats/ProxyActivityStats.java30 symbols
android/app/src/main/java/ca/psiphon/conduit/nativemodule/ConduitModule.java25 symbols
cli/scripts/monitor/main.go21 symbols
cli/internal/conduit/service.go20 symbols
android/app/src/main/java/ca/psiphon/conduit/nativemodule/ProxyState.java18 symbols
android/app/src/main/java/ca/psiphon/conduit/nativemodule/ConduitServiceInteractor.java18 symbols
src/inproxy/mockModule.ts17 symbols
src/common/utils.ts17 symbols

For agents

$ claude mcp add conduit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page