32 lines
843 B
Markdown
32 lines
843 B
Markdown
# Contributing
|
|
|
|
VPN Share is designed as a serious networking project. Contributions should
|
|
preserve the core product constraints:
|
|
|
|
- No root requirement.
|
|
- No manual proxy or routing setup for users.
|
|
- Existing VPN apps on the phone remain the upstream.
|
|
- Companion clients configure their own local virtual interfaces.
|
|
- No traffic-content logging.
|
|
|
|
## Development Checks
|
|
|
|
```bash
|
|
cargo fmt --check
|
|
cargo test --workspace
|
|
```
|
|
|
|
Android checks require a working Gradle/Android SDK setup:
|
|
|
|
```bash
|
|
gradle :apps:android:app:lintDebug
|
|
gradle :apps:android:app:assembleDebug
|
|
```
|
|
|
|
## Code Style
|
|
|
|
- Keep packet/protocol logic in Rust crates where possible.
|
|
- Keep Android platform glue thin and testable.
|
|
- Avoid adding dependencies to security-sensitive parsing paths without review.
|
|
- Public protocol changes require docs and compatibility tests.
|