Skip to content

Network Services

Coming Soon

These network services are currently in development and will be launching soon. Visit our Contact page to get notified when they become available!

Overview

The Lunar Network exposes a small set of essential, privacy‑focused network services that can be consumed by custom Android ROMs and self‑built devices. This section describes what each service does on Android, how it is typically used, and example Docker deployments and ports.


πŸ“ SUPL (Secure User Plane Location)

SUPL (Secure User Plane Location) is an Assisted-GPS (A-GPS) protocol that provides satellite assistance data to mobile devices, enabling faster GPS locks and improved location accuracy in challenging signal environments.

✨ Why Use Lunar SUPL?

Privacy Risk with Default SUPL Servers

By default, most Android devices use Google's or your carrier's SUPL servers. Every GPS assistance request can be used to track your location, build movement patterns, and profile your behavior. These requests typically include device identifiers, making it easy to link location data to your identity.

πŸ”„ Drop-in Replacement

Seamlessly works with existing vendor/Google SUPL endpoints

πŸ”’ Privacy First

No per-device identifiers logged; only coarse operational metrics

🌍 Regional Endpoints

EU / NA options for better latency and data locality

πŸ”§ Configuration

Network Details:

Parameter Value
Protocol TCP (optionally wrapped in TLS)
Port 7275

Android ROM Configuration:

Edit /system/etc/gps.conf (or vendor overlay):

# Point to Lunar SUPL server
SUPL_HOST=supl.thelunar.network
SUPL_PORT=7275

Configuration Location

The hostname and port are defined in gps.conf (or a vendor overlay) via SUPL_HOST and SUPL_PORT.

Example Docker Deployment:

services:
  supl:
    image: lunar/supl-proxy
    restart: unless-stopped
    ports:
      - "7275:7275"    # TCP SUPL
    environment:
      - REGION=eu       # or 'na' for North America
      - LOG_LEVEL=info

πŸ” DNS Service (Resolver)

DNS (Domain Name System) resolves human-readable domain names (like thelunar.network) into IP addresses. Every app, browser request, and system service relies on DNS lookups.

✨ Why Use Lunar DNS?

Privacy Risk with Default DNS Servers

By default, most devices use Google (8.8.8.8), Cloudflare, or your ISP's DNS servers. Every DNS query reveals which websites and services you access, creating a detailed log of your online activity. ISPs and DNS providers can monitor, log, and sell this data, or use it to build behavioral profiles.

πŸ”’ Zero Logging

No query logs, device IDs, or behavioral analytics retained

πŸ” Modern Encryption

Supports DoT (DNS-over-TLS) and DoH (DNS-over-HTTPS)

βœ”οΈ DNSSEC Validation

Protects against DNS spoofing and forged responses

πŸ”§ Server Endpoints

Protocol Hostname / URL Port Use case
Standard DNS (UDP/TCP) dns.thelunar.network 53 Legacy devices or fallback resolver
DNS-over-TLS (DoT) dns.thelunar.network 853 OS-level encryption support (Android 9+, some routers)
DNS-over-HTTPS (DoH) https://dns.thelunar.network/dns-query 443 Browser or app level encrypted DNS

Note

IP addresses of the resolver infrastructure may change; use hostnames above rather than hard-coding IPs.

πŸ”§ Configuration

Android ROM Configuration:

Edit framework overlay or system properties:

<!-- Set Private DNS hostname -->
<string name="config_private_dns_default_mode">hostname</string>
<string name="config_private_dns_hostname">dns.thelunar.network</string>

Or users can manually configure: Settings β€Ί Network & Internet β€Ί Private DNS and enter dns.thelunar.network.

Router / IoT Gateway (DoT):

# Example stub resolver config (e.g., stubby, dnsproxy)
server:
  address_data: dns.thelunar.network
  tls_auth_name: "dns.thelunar.network"
  port: 853
  protocol: tls

πŸ”— Connectivity Check

Connectivity Check is a periodic network request Android makes to verify internet connectivity and detect captive portals ("Sign in to Wi-Fi" pages).

✨ Why Use Lunar Connectivity Check?

Privacy Risk with Default Connectivity Checks

By default, Android devices ping Google servers (like connectivitycheck.gstatic.com) every time you connect to a network. These requests reveal your network changes, locations, and connection patterns, allowing Google to track when and where you go online.

🚫 No Tracking

Connectivity checks don't log device IDs or network information

⚑ Fast Response

HTTP 204 responses for quick connectivity detection

🌍 Global Availability

Reliable endpoints accessible worldwide

πŸ”§ Configuration

Network Details:

Protocol Port Endpoint
HTTPS 443 /generate_204

Android ROM Configuration:

Update connectivity/captive portal URLs in framework overlays:

<string name="config_captive_portal_https_url">
  https://connectivity.thelunar.network/generate_204
</string>
<string name="config_captive_portal_http_url">
  http://connectivity.thelunar.network/generate_204
</string>

⏰ NTP (Network Time Protocol)

NTP (Network Time Protocol) synchronizes your device's system clock with time servers. Accurate time is essential for TLS/SSL validation, scheduled tasks, logging, and GPS functionality.

✨ Why Use Lunar NTP?

Privacy Risk with Default NTP Servers

Default NTP servers (like Google's time.android.com or vendor servers) can log your device's IP address and sync patterns, revealing when devices are active and their approximate locations. Over time, this creates a profile of your device's usage patterns.

πŸ”’ Privacy Focused

No logging of IP addresses or device sync patterns

⏱️ High Accuracy

Stratum 1/2 time sources for precise synchronization

🌍 Regional Servers

Low-latency time sync from geographically distributed servers

πŸ”§ Configuration

Network Details:

Parameter Value
Protocol UDP
Port 123

Android ROM Configuration:

Edit gps.conf or system properties:

# Set Lunar NTP server
NTP_SERVER=ntp.thelunar.network

Or in framework overlay:

<string-array name="config_ntpServers">
  <item>ntp.thelunar.network</item>
</string-array>