Skip to content

Commit 482367d

Browse files
release: v0.8.6 - Stabilized macOS 15 networking and overhauled extensive technical documentation
1 parent b54b520 commit 482367d

10 files changed

Lines changed: 127 additions & 202 deletions

File tree

ARCHITECTURE.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,20 @@ session_id — UUID per phone session
176176
event — attach | detach | handshake_ok | ip_assigned | relay_error | etc.
177177
```
178178

179-
Set `format = "json"` in config for machine-readable logs (useful for log aggregators).
179+
## macOS 15+ Networking & DNS Boundary
180+
181+
Modern macOS versions (15.0 Tahoe and later) have introduced a strict "System Trust" model for virtual interfaces. This has several architectural implications:
182+
183+
### 1. Supplemental vs Authoritative DNS
184+
DroidTether implements a **Supplemental DNS** model.
185+
* **How it works**: We register our DNS servers (usually the phone's gateway) under `State:/Network/Service/droidtether/DNS`.
186+
* **The Limitation**: macOS 15 only promotes a virtual interface to "Authoritative" (System-wide) if it meets specific hardware-equivalent trust criteria. Without a signed System Extension, macOS will prioritize hardware resolvers (Wi-Fi/Ethernet) for system-level tools like `Safari` or `curl`.
187+
* **The Pragmatic Choice**: We choose transparency over complex interception (like AAAA hijacking) to ensure maximum stability and zero-trust security.
188+
189+
### 2. TCP/IP Passthrough
190+
DroidTether performs zero modification to the IP payload. This ensures that:
191+
* **VPNs work natively**: You can run an additional VPN (WireGuard, etc.) on top of DroidTether.
192+
* **End-to-End Encryption**: HTTPS and TLS traffic are untouched and unverifiable by the daemon, maintaining user privacy.
180193

181194
---
182195

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ Format:
1414

1515
---
1616

17+
## v0.8.6 — 2026-04-13 (Current)
18+
19+
### 2026-04-13 15:20 — 🛡️ The "Total Transparency" Update: Extensive Stability
20+
- What: Formalized stable "Supplemental DNS" model for macOS 15 compatibility; overhauled README with extensive technical verification commands and macOS 15 workaround; restored security-posture deep-dives.
21+
- Why: Prioritized user-auditable documentation and rock-solid IPv4 relay over experimental system-layer hijacks. Provided a clear path for CLI/Native tools via documented DNS overrides.
22+
- Files: `internal/tun/utun_darwin.go`, `internal/daemon/relay.go`, `README.md`, `CHANGELOG.md`, `VERSIONS.md`
23+
- Breaking: no ✅
24+
1725
## v0.8.5 — 2026-04-12
1826

1927
### 2026-04-12 22:25 — 💎 The "Recovery" Fix: Unified Stability

CODE_OF_CONDUCT.md

Lines changed: 18 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,110 +1,39 @@
1-
# Contributor Covenant Code of Conduct
1+
# Code of Conduct
22

33
## Our Pledge
44

5-
We as members, contributors, and leaders pledge to make participation in our
6-
community a harassment-free experience for everyone, regardless of age, body
7-
size, visible or invisible disability, ethnicity, sex characteristics, gender
8-
identity and expression, level of experience, education, socio-economic status,
9-
nationality, personal appearance, race, religion, or sexual identity
10-
and orientation.
5+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
116

12-
We pledge to act and interact in ways that contribute to an open, welcoming,
13-
diverse, inclusive, and healthy community.
7+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
148

159
## Our Standards
1610

17-
Examples of behavior that contributes to a positive environment for our
18-
community include:
11+
Examples of behavior that contributes to a positive environment for our community include:
1912

20-
* Demonstrating empathy and kindness toward other people
21-
* Being respectful of differing opinions, viewpoints, and experiences
22-
* Giving and gracefully accepting constructive feedback
23-
* Accepting responsibility and apologizing to those affected by our mistakes,
24-
and learning from the experience
25-
* Focusing on what is best not just for us as individuals, but for the
26-
overall community
13+
* Demonstrating empathy and kindness toward other people
14+
* Being respectful of differing opinions, viewpoints, and experiences
15+
* Giving and gracefully accepting constructive feedback
16+
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17+
* Focusing on what is best not just for us as individuals, but for the overall community
2718

2819
Examples of unacceptable behavior include:
2920

30-
* The use of sexualized language or imagery, and sexual attention or
31-
advances of any kind
32-
* Trolling, insulting or derogatory comments, and personal or political attacks
33-
* Public or private harassment
34-
* Publishing others' private information, such as a physical or email
35-
address, without their explicit permission
36-
* Other conduct which could reasonably be considered inappropriate in a
37-
professional setting
21+
* The use of sexualized language or imagery, and unwelcome sexual attention or advances
22+
* Trolling, insulting or derogatory comments, and personal or political attacks
23+
* Public or private harassment
24+
* Publishing others' private information, such as a physical or email address, without their explicit permission
25+
* Other conduct which could reasonably be considered inappropriate in a professional setting
3826

3927
## Enforcement Responsibilities
4028

41-
Community leaders are responsible for clarifying and enforcing our standards of
42-
acceptable behavior and will take appropriate and fair corrective action in
43-
response to any behavior that they deem inappropriate, threatening, offensive,
44-
or harmful.
29+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
4530

46-
Community leaders have the right and responsibility to remove, edit, or reject
47-
comments, commits, code, wiki edits, issues, and other contributions that are
48-
not aligned to this Code of Conduct, and will communicate reasons for moderation
49-
decisions when appropriate.
31+
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct.
5032

5133
## Scope
5234

53-
This Code of Conduct applies within all community spaces, and also applies when
54-
an individual is officially representing the community in public spaces.
55-
Examples of representing our community include using an official e-mail address,
56-
posting via an official social media account, or acting as an appointed
57-
representative at an online or offline event.
35+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.
5836

5937
## Enforcement
6038

61-
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62-
reported to the community leaders responsible for enforcement via direct message to:
63-
- **LinkedIn**: [Prince Pal](https://www.linkedin.com/in/theprincepal/)
64-
- **Reddit**: [@PrincePal_](https://www.reddit.com/user/PrincePal_/)
65-
66-
All complaints will be reviewed and investigated promptly and fairly.
67-
68-
All community leaders are obligated to respect the privacy and security of the
69-
reporter of any incident.
70-
71-
## Enforcement Guidelines
72-
73-
Community leaders will follow these Community Impact Guidelines in determining
74-
the consequences for any action they deem in violation of this Code of Conduct:
75-
76-
### 1. Correction
77-
**Community Impact**: Use of inappropriate language or other behavior deemed
78-
unprofessional or unwelcome in the community.
79-
**Consequence**: A private, written warning from community leaders, providing
80-
clarity around the nature of the violation and an explanation of why the
81-
behavior was inappropriate. A public apology may be requested.
82-
83-
### 2. Warning
84-
**Community Impact**: A violation through a single incident or series
85-
of actions.
86-
**Consequence**: A warning with consequences for continued behavior. No
87-
interaction with the people involved, including unsolicited interaction with
88-
those enforcing the Code of Conduct, for a specified period of time.
89-
90-
### 3. Temporary Ban
91-
**Community Impact**: A serious violation of community standards, including
92-
sustained inappropriate behavior.
93-
**Consequence**: A temporary ban from any sort of interaction or public
94-
communication with the community for a specified period of time.
95-
96-
### 4. Permanent Ban
97-
**Community Impact**: Demonstrating a pattern of violation of community
98-
standards, including sustained inappropriate behavior, harassment of an
99-
individual, or aggression toward or disparagement of classes of individuals.
100-
**Consequence**: A permanent ban from any sort of public interaction within
101-
the community.
102-
103-
## Attribution
104-
105-
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
106-
version 2.1, available at
107-
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
108-
109-
[homepage]: https://www.contributor-covenant.org
110-
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
39+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainers. All complaints will be reviewed and investigated promptly and fairly.

Formula/droidtether.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
class DroidTether < Formula
22
desc "Android USB tethering for Apple Silicon Macs — no kext, no SIP changes"
33
homepage "https://github.com/princePal/droidtether"
4-
version "1.0.0"
4+
version "0.8.6"
55

66
# ARM binary (Apple Silicon — M1/M2/M3/M4)
77
on_arm do

PRIVACY.md

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,32 @@
1-
# 🛡️ Privacy Policy
1+
# 🛡️ DroidTether Privacy Policy
22

3-
**DroidTether is built with privacy and security as core principles.**
3+
**Effective Date**: April 13, 2026
44

5-
This project is a userspace network daemon that handles local network traffic between an Android device and a macOS host.
5+
DroidTether is built with a **Privacy-First** philosophy. As a system-level networking utility, we understand that we are in a position of high trust. This policy outlines our commitment to your data sovereignty and security.
66

7-
### 1. No Data Collection
8-
DroidTether **does not collect, transmit, or share** any of your personal data, browser history, or network traffic with any third-party servers. All data processing happens entirely on your local machine.
7+
## 1. Zero-Inspection Policy
8+
DroidTether operates as a transparent userspace bridge between your Android phone's USB interface (RNDIS) and your Mac's virtual tunnel (`utun`).
9+
* **No Deep Packet Inspection (DPI)**: We do not read, inspect, store, or modify the contents of the individual data packets flowing through the relay.
10+
* **Encapsulation Only**: Our core logic is restricted to RNDIS/Ethernet encapsulation and decapsulation required for packet transport.
911

10-
### 2. Local Logging
11-
DroidTether logs its activity to a local file at `/var/log/droidtether.log` to help with debugging and troubleshooting. These logs remain only on your computer and are never uploaded or shared.
12+
## 2. No Telemetry or Analytics
13+
* **No "Call Home"**: The DroidTether daemon contains no code to contact any remote server for telemetry, crash reporting, or user analytics.
14+
* **No Identity Tracking**: We do not collect your name, email, IP address, device serial numbers, or any other personally identifiable information (PII).
15+
* **Offline by Default**: DroidTether does not require an internet connection to function (other than the connection provided by your phone).
1216

13-
### 3. Network Traffic Transparency
14-
DroidTether operates as a Layer 3 (IP) relay. It does not inspect the contents of your packets (e.g., your passwords or credit card numbers) and respects any end-to-end encryption (HTTPS, TLS, VPN) that your applications already use.
17+
## 3. Local Operational Logs
18+
For debugging and performance monitoring, DroidTether writes limited operational logs to your local filesystem at:
19+
`/var/log/droidtether.log`
1520

16-
### 4. Telemetry
17-
DroidTether has **no telemetry, no analytics, and no "call-home" features**. It will never connect to the internet unless you (the user) are using it to route your network traffic through your phone's connection.
21+
These logs contain:
22+
* USB connection/disconnection events.
23+
* DHCP lease assignments (Local IPs only).
24+
* Traffic volume statistics (Total bytes sent/received).
1825

19-
---
26+
**These logs never leave your machine.** You are free to inspect or delete them at any time.
2027

21-
### 📝 Audit & Transparency
22-
To ensure full trust, the entire core logic is implemented in less than **2,000 lines of Go code**. This makes it easy for any security researcher or user to audit the source code in a single afternoon. We believe transparency is the foundation of security.
28+
## 4. Compliance & Transparency
29+
DroidTether is 100% open-source. Anyone can audit our packet-handling logic in `internal/daemon/relay.go` to verify that we are adhering to this policy.
2330

24-
---
25-
26-
### Questions?
27-
If you have any questions about this Privacy Policy or how DroidTether handles your data, please open an issue in the [GitHub repository](https://github.com/HelloPrincePal/DroidTether).
31+
## 5. Contact
32+
If you have security or privacy concerns, please open an issue on our GitHub repository or contact the author via LinkedIn.

0 commit comments

Comments
 (0)