Skip to content

HE.net (Hurricane Electric) Configuration Guide

Overview

Hurricane Electric (HE.net) is a well-known network service provider offering free DNS hosting services with dynamic DNS record update support. This DDNS project authenticates through HE.net's dynamic DNS password.

⚠️ Important Note: HE.net Provider is currently in verification pending status, lacking sufficient real-world testing. Please provide feedback through GitHub Issues.

Important Limitation: HE.net does not support automatic record creation - you must manually create DNS records in the HE.net control panel first.

Official Links:

Authentication Information

Dynamic DNS Password Authentication

HE.net uses a dedicated dynamic DNS password for authentication, not your account login password.

DNS records and DNS must be created in advance

  1. Select the domain you want to manage in HE.net DNS Management Panel
  2. Create DNS Record: Manually create A (IPv4) or AAAA (IPv6) records
  3. Enable DDNS: Enable dynamic DNS functionality for the record
  4. Get Password: Click Generate a DDNS key or Enable entry for DDNS next to the record
jsonc
{
    "dns": "he",
    "token": "your_ddns_key" // HE.net dynamic DNS password, no ID required
}

Complete Configuration Example

jsonc
{
    "$schema": "https://ddns.newfuture.cc/schema/v4.1.json", // Format validation
    "dns": "he",                        // Current provider
    "token": "your_ddns_key",      // HE.net dynamic DNS password
    "index4": ["public", 0],       // IPv4 address source, corresponds to A record value
    "ipv4": "ddns.newfuture.cc"    // IPv4 domain, corresponds to A record
}

Parameter Description

ParameterDescriptionTypeValue Range/OptionsDefaultParameter Type
dnsProvider IDStringheNoneProvider Param
tokenAuthenticationStringHE.net DDNS passwordNoneProvider Param
index4IPv4 SourceArrayReferencedefaultCommon Config
index6IPv6 SourceArrayReferencedefaultCommon Config
ipv4IPv4 DomainArrayDomain listNoneCommon Config
ipv6IPv6 DomainArrayDomain listNoneCommon Config
proxyProxy SettingsArrayReferenceNoneCommon Network
sslSSL VerificationBoolean/String"auto", true, falseautoCommon Network
cacheCache SettingsBoolean/Stringtrue, false, filepathtrueCommon Config
logLog ConfigObjectReferenceNoneCommon Config

Parameter Type Description:

  • Common Config: Standard DNS configuration parameters applicable to all supported DNS providers
  • Common Network: Network setting parameters applicable to all supported DNS providers
  • Provider Param: Supported by current provider, values related to current provider

Note: HE.net does not support id parameter, only uses token (DDNS Key) for authentication; TTL is fixed at 300s.

Usage Limitations

  • Does not support automatic record creation: Must manually create DNS records in HE.net control panel first
  • ⚠️ Update only: Can only update IP addresses of existing records, cannot create new records
  • 🔑 Dedicated password: Each record has an independent DDNS password

Troubleshooting

Debug Mode

Enable debug logging to view detailed information:

sh
ddns -c config.json --debug

Common Issues

  • Authentication Failed: Check if dynamic DNS password is correct, confirm record has DDNS functionality enabled
  • Domain Not Found: Ensure record has been manually created in HE.net control panel, check domain spelling
  • Record Update Failed: Check if record has dynamic DNS enabled, confirm password corresponds to correct record
  • Request Rate Limiting: HE.net recommends update intervals of no less than 5 minutes, avoid frequent updates

HE.net Response Codes

Response CodeDescriptionSolution
good <ip>Update successfulOperation successful
nochg <ip>IP address unchangedOperation successful
nohostHostname doesn't existCheck record and DDNS setup
badauthAuthentication failedCheck dynamic DNS password
badagentClient disabledContact HE.net support
abuseUpdates too frequentIncrease update interval

Support and Resources

⚠️ Verification Pending Status: HE.net Provider lacks sufficient real-world testing. It is recommended to conduct thorough testing before using in production environments. If you encounter issues, please provide feedback through GitHub Issues.

Released under the MIT License