Skip to content

Commit 6a0b0b7

Browse files
committed
Bump version to 1.0.2
- Use wildcard ABI for pfSense CE and Plus compatibility (#2)
1 parent 0c1a11e commit 6a0b0b7

File tree

6 files changed

+180
-8
lines changed

6 files changed

+180
-8
lines changed

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ on:
77
workflow_dispatch:
88
inputs:
99
version:
10-
description: 'Version to build (e.g., 1.0.1)'
10+
description: 'Version to build (e.g., 1.0.2)'
1111
required: true
12-
default: '1.0.1'
12+
default: '1.0.2'
1313

1414
permissions:
1515
contents: write

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# $FreeBSD$
22

33
PORTNAME= pfSense-pkg-dnscrypt-proxy
4-
PORTVERSION= 1.0.1
4+
PORTVERSION= 1.0.2
55
CATEGORIES= security
66
MASTER_SITES= # empty
77
DISTFILES= # empty

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ cd pfsense-dnscrypt-proxy
155155
| Variable | Default | Description |
156156
|----------|---------|-------------|
157157
| `DEPLOY_HOST` | `pf` | SSH hostname for pfSense |
158-
| `PORTVERSION` | `1.0.1` | Package version to build |
158+
| `PORTVERSION` | `1.0.2` | Package version to build |
159159

160160
## Upstream PR
161161

build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ set -e
1616

1717
# --- Configuration ---
1818
PORTNAME="pfSense-pkg-dnscrypt-proxy"
19-
PORTVERSION="${PORTVERSION:-1.0.1}"
19+
PORTVERSION="${PORTVERSION:-1.0.2}"
2020
PREFIX="/usr/local"
2121
DATADIR="${PREFIX}/share/${PORTNAME}"
2222
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
@@ -38,7 +38,7 @@ usage() {
3838
echo ""
3939
echo "Environment variables:"
4040
echo " DEPLOY_HOST pfSense SSH host (default: pf)"
41-
echo " PORTVERSION Package version (default: 1.0.1)"
41+
echo " PORTVERSION Package version (default: 1.0.2)"
4242
}
4343

4444
clean() {

build/+MANIFEST

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
name: "pfSense-pkg-dnscrypt-proxy"
2-
version: "1.0.1"
2+
version: "1.0.2"
33
origin: "security/pfSense-pkg-dnscrypt-proxy"
44
comment: "pfSense package for DNSCrypt Proxy encrypted DNS client"
55
maintainer: "ports@FreeBSD.org"
66
prefix: "/usr/local"
7-
abi: "FreeBSD:15:x86_64"
7+
abi: "FreeBSD:*:*"
88
desc: "pfSense package for DNSCrypt Proxy, an encrypted DNS client supporting DNSCrypt v2 and DNS-over-HTTPS protocols."
99
www: "https://github.com/DNSCrypt/dnscrypt-proxy"
1010
licenselogic: "single"

wiki-draft.md

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# Installation on pfSense
2+
3+
There are two ways to install DNSCrypt Proxy on pfSense:
4+
5+
1. **[GUI Package (Recommended)](#gui-package-recommended)** - Full web interface integration with point-and-click configuration
6+
2. **[Manual Installation](#manual-installation)** - Traditional command-line setup for advanced users
7+
8+
---
9+
10+
## GUI Package (Recommended)
11+
12+
A community-maintained pfSense package provides full GUI integration for DNSCrypt Proxy, accessible from the pfSense web interface at **Services > DNSCrypt Proxy**.
13+
14+
### Features
15+
16+
- Full GUI configuration with 7 tabs (General, Server Selection, Cache & Filtering, Logging, Advanced, Query Log, and more)
17+
- Pre-configured servers from Cloudflare, Quad9, Google, AdGuard, NextDNS, Mullvad, OpenDNS, CleanBrowsing, and others
18+
- Support for DNSCrypt v2, DNS-over-HTTPS (DoH), and Anonymized DNS
19+
- Custom resolver support via DNS stamps
20+
- Domain filtering with block/allow lists, forwarding rules, and cloaking
21+
- Built-in query log viewer with filtering
22+
- Multi-architecture support (amd64 and arm64, auto-detected)
23+
- Native service integration via Status > Services
24+
25+
### Installation
26+
27+
Run one of these commands in the pfSense shell (via SSH or Console):
28+
29+
**pfSense CE:**
30+
```bash
31+
pkg-static add https://github.com/nopoz/pfsense-dnscrypt-proxy/releases/latest/download/pfSense-pkg-dnscrypt-proxy.pkg
32+
```
33+
34+
**pfSense Plus:**
35+
```bash
36+
pkg-static -C /dev/null add https://github.com/nopoz/pfsense-dnscrypt-proxy/releases/latest/download/pfSense-pkg-dnscrypt-proxy.pkg
37+
```
38+
39+
After installation, navigate to **Services > DNSCrypt Proxy** in the pfSense web interface.
40+
41+
### Basic Setup
42+
43+
1. Navigate to **Services > DNSCrypt Proxy**
44+
2. Check **Enable DNSCrypt Proxy**
45+
3. Select your preferred DNS servers from the **Server Selection** tab
46+
4. Click **Save**
47+
48+
### Integrating with DNS Resolver (Unbound)
49+
50+
To forward Unbound queries through DNSCrypt Proxy:
51+
52+
1. Go to **Services > DNS Resolver > General Settings**
53+
2. Add the following to **Custom options**:
54+
55+
```
56+
server:
57+
do-not-query-localhost: no
58+
forward-zone:
59+
name: "."
60+
forward-addr: 127.0.0.1@5300
61+
```
62+
63+
3. Click **Save** and **Apply Changes**
64+
65+
### Uninstall
66+
67+
```bash
68+
pkg delete pfSense-pkg-dnscrypt-proxy
69+
```
70+
71+
For more details, see the [package repository](https://github.com/nopoz/pfsense-dnscrypt-proxy).
72+
73+
---
74+
75+
## Manual Installation
76+
77+
For users who prefer command-line configuration or need custom setups, follow these steps.
78+
79+
### 1. Download and Install the Binary
80+
81+
Download the latest release for FreeBSD/amd64 from the [releases page](https://github.com/DNSCrypt/dnscrypt-proxy/releases):
82+
83+
```bash
84+
cd /tmp
85+
fetch https://github.com/DNSCrypt/dnscrypt-proxy/releases/download/2.1.5/dnscrypt-proxy-freebsd_amd64-2.1.5.tar.gz
86+
mkdir dnscrypt-proxy
87+
tar -xzf dnscrypt-proxy-freebsd_amd64-2.1.5.tar.gz -C dnscrypt-proxy
88+
mv dnscrypt-proxy/freebsd-amd64/dnscrypt-proxy /usr/local/bin/
89+
chown root:wheel /usr/local/bin/dnscrypt-proxy
90+
chmod 755 /usr/local/bin/dnscrypt-proxy
91+
```
92+
93+
### 2. Configure DNSCrypt Proxy
94+
95+
Create the configuration directory and copy the example configuration:
96+
97+
```bash
98+
mkdir -p /usr/local/etc/dnscrypt-proxy
99+
cp /tmp/dnscrypt-proxy/freebsd-amd64/example-dnscrypt-proxy.toml /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml
100+
```
101+
102+
Edit the configuration file:
103+
104+
```bash
105+
vi /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml
106+
```
107+
108+
**Important:** Set the listen address to avoid conflicts with pfSense DNS services:
109+
110+
```toml
111+
listen_addresses = ['127.0.0.1:5300']
112+
```
113+
114+
### 3. Create the Startup Script
115+
116+
Create an rc.d script to enable automatic startup:
117+
118+
```bash
119+
cat > /usr/local/etc/rc.d/dnscrypt-proxy.sh << 'EOF'
120+
#!/bin/sh
121+
122+
# PROVIDE: dnscrypt_proxy
123+
# REQUIRE: NETWORKING
124+
# KEYWORD: shutdown
125+
126+
. /etc/rc.subr
127+
128+
name="dnscrypt_proxy"
129+
rcvar="dnscrypt_proxy_enable"
130+
131+
load_rc_config $name
132+
133+
: ${dnscrypt_proxy_enable:="YES"}
134+
135+
pidfile="/var/run/dnscrypt-proxy.pid"
136+
command="/usr/local/bin/dnscrypt-proxy"
137+
command_args="-config /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml -pidfile ${pidfile} -syslog"
138+
139+
run_rc_command "$1"
140+
EOF
141+
142+
chmod +x /usr/local/etc/rc.d/dnscrypt-proxy.sh
143+
```
144+
145+
### 4. Start the Service
146+
147+
```bash
148+
service dnscrypt-proxy.sh start
149+
```
150+
151+
### 5. Configure DNS Resolver (Unbound)
152+
153+
1. Navigate to **Services > DNS Resolver > General Settings**
154+
2. Add the following to **Custom options**:
155+
156+
```
157+
server:
158+
do-not-query-localhost: no
159+
forward-zone:
160+
name: "."
161+
forward-addr: 127.0.0.1@5300
162+
```
163+
164+
3. Click **Save** and **Apply Changes**
165+
166+
---
167+
168+
## Related Links
169+
170+
- [DNSCrypt Proxy GitHub](https://github.com/DNSCrypt/dnscrypt-proxy)
171+
- [GUI Package Repository](https://github.com/nopoz/pfsense-dnscrypt-proxy)
172+
- [Configuration Documentation](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Configuration)

0 commit comments

Comments
 (0)