domain-locker icon indicating copy to clipboard operation
domain-locker copied to clipboard

[Bug]: Wrong informations fetch + Sub-sub-domains not working

Open alzalia1 opened this issue 4 months ago • 2 comments

Environment

Docker (self-hosted)

Version

0.1.0

Describe the Issue

Hi ! To avoid spamming, here are three bugs I've encountered :

1. Wrong informations are fetched

So I've got my domain, with several sub-domains and auto-renewal. Yet, "auto-renew" isn't detected... and I can't add it manually (it's a .fr domain)

Image

My sub-domains also can't be fetched :

Image

2. Sub-sub-domains

Because I use my domain for MANY things, I use sub-sub-domains (and further) a lot. But I can't seem to use them :

Image Image

Only the first part is kept !

Honestly, this app is amazing, I love the design and everything, and thank you very much for doing it ! But this bug (or maybe lack of a feature ?) is really stopping me :/

Thanks for reading !

Logs

1. Logs about the failed subdomain search

[!NOTE] I replaced my domain name everywhere by [mydomain.fr] ^^

🔴 [domain-subs] Error fetching from https://api.shodan.io/dns/domain/[mydomain.fr]: SyntaxError: Unexpected token '<', "<html>
 <h"... is not valid JSON
🔴 [domain-subs] DNSDumpster token is not configured
🔴 [domain-subs] Error fetching subdomains for [mydomain.fr]: Error: Both primary and fallback services failed
SyntaxError: Unexpected token '<', "<html>
 <h"... is not valid JSON
    at JSON.parse (<anonymous>)
    at parseJSONFromBytes (node:internal/deps/undici/undici:5329:19)
    at successSteps (node:internal/deps/undici/undici:5300:27)
    at fullyReadBody (node:internal/deps/undici/undici:1447:9)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async specConsumeBody (node:internal/deps/undici/undici:5309:7)
    at async fetchSubdomains (file:///app/dist/analog/server/chunks/routes/domain-subs.mjs:41:18)
    at async Object.handler (file:///app/dist/analog/server/chunks/routes/domain-subs.mjs:150:27)

2. After each reload

I noticed thet after each page reload, the following logs appear :

Error loading translation file for language "en": Error: ENOENT: no such file or directory, open '/app/src/assets/i18n/en.json'
    at Module.readFileSync (node:fs:457:20)
    at dL.getTranslation (file:///app/dist/analog/server/chunks/_/renderer.mjs:23297:86)
    at e10.loadAndCompileTranslations (file:///app/dist/analog/server/chunks/_/renderer.mjs:23059:38)
    at e10.retrieveTranslations (file:///app/dist/analog/server/chunks/_/renderer.mjs:23052:140)
    at e10.setDefaultLang (file:///app/dist/analog/server/chunks/_/renderer.mjs:23032:24)
    at file:///app/dist/analog/server/chunks/_/renderer.mjs:23852:16
    at ui (file:///app/dist/analog/server/chunks/_/renderer.mjs:1797:12)
    at e10.runInitializers (file:///app/dist/analog/server/chunks/_/renderer.mjs:5595:21)
    at file:///app/dist/analog/server/chunks/_/renderer.mjs:7006:18
    at file:///app/dist/analog/server/chunks/_/renderer.mjs:6997:21 {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/app/src/assets/i18n/en.json'
}
Missing translation for key: "FOOTER.NAME"
Missing translation for key: "FOOTER.DESCRIPTION"
Missing translation for key: "FOOTER.CTAS.SIGN_UP"
Missing translation for key: "FOOTER.CTAS.GET_CODE"
Missing translation for key: "FOOTER.LINKS.LEFT.FEATURES"
Missing translation for key: "FOOTER.LINKS.LEFT.PRICING"
Missing translation for key: "FOOTER.LINKS.LEFT.SELF_HOSTING"
Missing translation for key: "FOOTER.LINKS.LEFT.ALTERNATIVES"
Missing translation for key: "FOOTER.LINKS.MIDDLE.STATUS"
Missing translation for key: "FOOTER.LINKS.MIDDLE.MORE_APPS"
Missing translation for key: "FOOTER.LINKS.MIDDLE.SUPPORT"
Missing translation for key: "FOOTER.LINKS.MIDDLE.ATTRIBUTIONS"
Missing translation for key: "FOOTER.LINKS.RIGHT.LICENSE"
Missing translation for key: "FOOTER.LINKS.RIGHT.SECURITY"
Missing translation for key: "FOOTER.LINKS.RIGHT.PRIVACY_POLICY"
Missing translation for key: "FOOTER.LINKS.RIGHT.TERMS_OF_SERVICE"
ERROR TypeError: Cannot read properties of undefined (reading 'getUnreadNotificationCount')
    at qre.loadUnreadNotificationCount (file:///app/dist/analog/server/chunks/_/renderer.mjs:52531:79)
    at qre.ngAfterViewInit (file:///app/dist/analog/server/chunks/_/renderer.mjs:52497:10)
    at Hs (file:///app/dist/analog/server/chunks/_/renderer.mjs:2104:9)
    at Bs (file:///app/dist/analog/server/chunks/_/renderer.mjs:2112:79)
    at zs (file:///app/dist/analog/server/chunks/_/renderer.mjs:2097:72)
    at Ns (file:///app/dist/analog/server/chunks/_/renderer.mjs:2084:27)
    at Vc (file:///app/dist/analog/server/chunks/_/renderer.mjs:4053:23)
    at jc (file:///app/dist/analog/server/chunks/_/renderer.mjs:4082:219)
    at Bc (file:///app/dist/analog/server/chunks/_/renderer.mjs:4077:14)
    at Hc (file:///app/dist/analog/server/chunks/_/renderer.mjs:4074:3)

But it doesn't seem related to my issues

System

[!NOTE] I'm running the instance on my main computer, locally, for this bug report, but I didn't work on my first try, on my actual server ! ^^

===================================
APP INFO
===================================
Version:    0.1.0
Env Type:   selfHosted
Database:    Postgres
App ID:     domain-locker
Platform ID browser

===================================
HOST INFO
===================================
Protocol:   http:
Host:       localhost:3000
Origin:     http://localhost:3000

===================================
BROWSER INFO
===================================
Language:   en-US (plus en-US, en)
DNT:        1
Cookies:    Enabled
JavaScript: Enabled
UserAgent:  Mozilla/5.0 (X11; Linux x86_64; rv:142.0) Gecko/20100101 Firefox/142.0
UA Data:    Netscape V5.0 (X11) on Linux x86_64. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:142.0) Gecko/20100101 Firefox/142.0

===================================
SYSTEM INFO
===================================
Platform:   Linux x86_64
Public IP:  FetchFailed
Hardware:   12 cores, GB memory
Screen:     1920x1080 (1 dpr)
Online:     Yes
Timezone:   Europe/Paris
Orientat:   landscape-primary

===================================
ERROR LOGS
===================================
[9/6/25, 1:34 PM] Unhandled Promise Rejection (window.onunhandledrejection) 
[9/6/25, 1:34 PM] Unhandled Promise Rejection (window.onunhandledrejection) 
[9/6/25, 1:33 PM] Unexpected subdomain data format (AddDomainComponent.fetchExistingDomains)

===================================
DATABASE TABLE CHECKS
===================================

✅ dns_records (4 records)
✅ domain_costings (0 records)
✅ domain_hosts (1 records)
✅ domain_links (0 records)
✅ domain_statuses (0 records)
✅ domain_tags (0 records)
✅ domain_updates (0 records)
✅ ip_addresses (0 records)
✅ notification_preferences (1 records)
✅ ssl_certificates (1 records)
✅ sub_domains (1 records)
✅ uptime (0 records)
✅ whois_info (1 records)
✅ billing (0 records)
✅ notifications (0 records)
✅ hosts (1 records)
✅ registrars (1 records)
✅ tags (0 records)
❌ user_info (zilch records)
✅ domains (1 records)

===================================
FEATURE AVAILABILITY
=================================== 
✅ domainLimit
❌ notificationChannels
❌ changeNotifications
✅ visualStats
❌ domainMonitor
✅ changeHistory
✅ accountSettings
✅ writePermissions
❌ enableDocs
✅ enableSignUp
❌ enableSocialLogin
❌ enableBilling
✅ allowLocalDbConfig
✅ enableAdvancedInfo
✅ enablePreviewDomain
✅ enableDeletionTool

===================================
ENVIRONMENT VARIABLES
=================================== 
✅ BASE_URL 
❌ DEV 
✅ DL_ENV_TYPE 
✅ MODE 
✅ PROD 
❌ SSR 
✅ VITE_CJS_IGNORE_WARNING

===================================
APP PREFERENCES
===================================
Language:   en
Theme:      Lara Purple
Dark:       Enabled
Font:       Default
Scale:      medium

===================================
ACCESSIBILITY SETTINGS
===================================
Reduced Motion  ✖️ No
Touch Targets   ✖️ No
High Contrast   ✖️ No
Large Text      ✖️ No
Icon Removal    ✖️ No
Grayscale       ✖️ No
Night Shift     ✖️ No

===================================
LOCAL STORAGE
===================================
--ml-is-active
tanstack_devtools_state
DL_error_log
lang
nextauth.message
IS_SYNCING
tanstack_devtools_settings
LASTSYNC

===================================
COOKIES
===================================
MMDL_USERNAME=alzalia
USERHASH=01d12cf089a44c9582e700d4db63a1b54dd276f94bd5b3d9f188a0fdbf269b2ce9afc5501f90fda917b5021073cb56ab046e69bfded9edff17a5ad0f7d223965
SSID=747fe7490be414eda899f457048907079aacd0f88e9109ca80a6cb4095a3d68944f1511517567322791539fda4c8dc2f1c09ea23a8091a2f50b6b6ed16fea6e0
MMDL_INSTALL_CHECK=1756027180827
NEXT_LOCALE=fr
PHPSESSID=762ee525fae4b822d8f6bc3e4efeea4d

===================================
USER INFO
===================================
ID        N/A
Role      N/A
Email     N/A
Created   N/A
Last Seen N/A

Before submitting

  • [x] I have clearly described the issue and included all relevant information
  • [x] I have checked the documentation for a solution
  • [x] I have confirmed that this issue has not already been reported
  • [x] I have redacted any sensitive information from logs or debug data
  • [x] I agree to follow the Code of Conduct

alzalia1 avatar Sep 06 '25 11:09 alzalia1

The documentation is missing information on domain inspection APIs configuration.

It requires a Shodan account, or a DNSDumpster.com account (free):

# DL_SHODAN_URL=https://api.shodan.io/dns/domain/
# SHODAN_TOKEN=

DL_DNSDUMP_URL=https://api.dnsdumpster.com/domain/
DNS_DUMPSTER_TOKEN=

# Preferred subdomain provider (shod, dnsdump, both)
# DL_PREFERRED_SUBDOMAIN_PROVIDER=dnsdump

landure avatar Nov 19 '25 07:11 landure

@landure Where do you put those? I use the Docker variant and put them into my .env file where the other variables are configured. I got a DNSDumpster API Key, but it does not seem to get picked up when I start the stack.

When I add a Domain, I see in the logs, that the DNSDumpster API Token is not recognized: [domain-subs] DNSDumpster token is not configured

If it works for you, I would be interested where you put the Vars and what kind of deployment you use. Thanks in advance :-)

Edit: I'm stupid... setting the Vars in the .env file is not enough. Of course I have to set the equivalent up in the environment: part in the docker-compose.yml like there is with all other vars. Then it gets passed into the container and has an effect. I will let this information here for the other stupid person on this planet that might get born in the future...

kladderadeng avatar Nov 19 '25 19:11 kladderadeng