Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

820 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OPENPPP2

Status: Current Type: Navigation Last verified: 2026-07-22 Documentation index: Documentation by task · Chinese: 简体中文

English | 简体中文

OPENPPP2 is a C++ network runtime. The root CMake project builds the native ppp executable and the static openppp2_lib library. This page is a concise repository entry point; use the current task pages below for configuration, operation, and implementation detail.

Start by task

Need Start here
Build and make a first run Getting started
Configure ppp or inspect its command line Configuration reference · CLI reference
Configure routing, DNS, proxy behavior, or a platform Guides
Deploy, observe, or troubleshoot a runtime Operations
Understand runtime structure and lifecycle Startup and lifecycle
Read or change the source safely Source reading guide
Check which interfaces are stable, experimental, internal, or incomplete Project interface map

ppp startup chain

For a normal runtime invocation, the native process follows this path:

main.cpp
  -> ppp::facade::RunApplication()
  -> PppApplication::GetInstance().Run()
  -> PreparedArgumentEnvironment()
  -> Executors::Run()
  -> RunPreparedApplication()
  -> PppApplication::Main()

Argument preparation loads the configuration, resolves the application mode, and prepares the network-interface context. The normal path then enters Main(), which performs host preflight and starts the selected client, server, or proxy runtime. See Startup and lifecycle for the implementation-level sequence and shutdown behavior.

Core and companion surfaces

  • Core native runtime: main.cpp, ppp/, common/, and the Windows, Linux, or Darwin platform sources selected by the root CMake build.
  • Tests: the root project includes tests/ only when configured with -DENABLE_TESTS=ON; use the development documentation for supported test workflows.
  • Separate, platform-specific surfaces: go/ and go/guardian/ are Go modules; android/ contains the in-tree Flutter application and Android/NDK build files; ios/ contains a Swift package target; and desktop/client/ has separate Svelte/Vite and Tauri manifests. Root CMake does not build these surfaces. Read their local documentation and manifests before treating one as a production deployment path.

Current versus historical documentation

The linked task pages are the current navigation path. Material under docs/archive/, docs/adr/, and docs/design/ preserves historical rationale, decisions, and evidence; it is not a substitute for current configuration, CLI, or operations guidance. These navigation pages are an English/Chinese pair; use each current page’s status, language-peer, and parent-index metadata before relying on it.

About

Next-generation security network access technology, providing high-performance Virtual Ethernet tunneling service.

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages