Important
This repository is for educational, personal DNS configuration, and privacy filtering purposes only. Do not use this project to bypass payment, app entitlement, or subscription verification.
- Quick Start β Shadowrocket
- Quick Start β NextDNS
- How It Works
- Project Structure
- Documentation
- Credit
Copy this URL and import into Shadowrocket:
https://raw.githubusercontent.com/Long18/shadowrocket/main/Locket.conf
Or use the standalone module:
https://raw.githubusercontent.com/Long18/shadowrocket/main/modules/Locket.sgmodule
- Open Shadowrocket β tap the config file β
- Go to HTTPS Decryption
- Tap Generate New CA Certificate
- Tap Install Certificate
- On iPhone: Settings β General β About β Certificate Trust Settings
- Enable trust for the Shadowrocket certificate
- Make sure the config is selected and Shadowrocket is connected
- Open the Locket app
- Check that Gold features are active
If not working: force-close Locket β reconnect Shadowrocket β reopen Locket.
- Go to https://nextdns.io
- Sign up for a free account
- Open Dashboard and copy your Configuration ID (e.g.,
abc123)
Open PersonalNextDNS.mobileconfig and replace placeholders:
| Placeholder | Replace with | Example |
|---|---|---|
{{NEXTDNS_ID}} |
Your Configuration ID | abc123 |
{{DEVICE_NAME}} |
Device name (shown on NextDNS dashboard) | iPhone-16-Pro |
{{PROFILE_DISPLAY_NAME}} |
Profile name on iPhone | My Personal DNS |
{{PROFILE_OWNER}} |
Your name (lowercase) | william |
{{DNS_PAYLOAD_UUID}} |
Run uuidgen in terminal |
A1B2C3D4-... |
{{MAIN_PAYLOAD_UUID}} |
Run uuidgen again |
E5F6G7H8-... |
- AirDrop or email the
.mobileconfigfile to your iPhone - Open the file β tap Allow
- Go to Settings β General β VPN & Device Management
- Select the profile β tap Install
- Open NextDNS Dashboard β Logs
- Browse Safari on iPhone
- Confirm DNS queries appear with your device name
If no logs: check that no other VPN/DNS app is active, and restart iPhone.
flowchart TD
A[Import Locket.conf into Shadowrocket] --> B[Enable MITM & install CA Certificate]
B --> C[Trust certificate in iOS Settings]
C --> D[Shadowrocket intercepts HTTPS traffic]
D --> E[deleteHeader.js removes ETag cache header]
E --> F[Locket.js modifies RevenueCat API response]
F --> G[App receives spoofed entitlement data]
G --> H[Locket Gold features unlocked]
D --> I[hostsVN RULE-SET loaded]
I --> J[Vietnamese ad domains blocked via REJECT]
flowchart TD
A[Create NextDNS account] --> B[Copy Configuration ID]
B --> C[Replace placeholders in mobileconfig template]
C --> D[Install .mobileconfig on iPhone]
D --> E[iOS routes all DNS queries via HTTPS]
E --> F[NextDNS resolves DNS with filtering]
F --> G[Ads & trackers blocked via Denylist]
F --> H[DNS logs visible on Dashboard]
H --> I[Monitor & adjust Allowlist/Denylist]
βββ Locket.conf # Shadowrocket config (Locket + hostsVN)
βββ PersonalNextDNS.mobileconfig # NextDNS DNS-over-HTTPS template
βββ docs/
β βββ nextdns-setup.md # Detailed tutorial (Vietnamese)
β βββ nextdns-setup_en.md # Detailed tutorial (English)
βββ js/
β βββ Locket.js # RevenueCat response modifier
β βββ deleteHeader.js # ETag header removal
βββ modules/
βββ Locket.sgmodule # Standalone Shadowrocket module
| Language | Link |
|---|---|
| π»π³ TiαΊΏng Viα»t | HΖ°α»ng dαΊ«n cΓ i NextDNS cΓ‘ nhΓ’n |
| π¬π§ English | Personal NextDNS Setup Guide |
| Repository | Long18/shadowrocket |
| Maintainer | William / Long18 |
| hostsVN | bigdargon/hostsVN β MIT License |
| License | MIT |
If you share, fork, or repost this project, please keep the source credit.
Β
Copyright Β© 2026-present William