Skip to content

Public recursive checkout is broken by inaccessible noizdns submodule #77

@Uptake8476

Description

@Uptake8476

Current problem

.gitmodules currently contains:

[submodule "noizdns"]
	path = noizdns
	url = https://github.com/anonvector/noizdns.git

but that URL is not publicly accessible right now:

git ls-remote https://github.com/anonvector/noizdns.git

returns:

remote: Repository not found.
fatal: repository 'https://github.com/anonvector/noizdns.git/' not found

Repro

Fresh public clone:

git clone https://github.com/anonvector/SlipNet.git
cd SlipNet
git submodule update --init --recursive

This fails at noizdns with:

Cloning into '.../SlipNet/noizdns'...
remote: Repository not found.
fatal: repository 'https://github.com/anonvector/noizdns.git/' not found
fatal: clone of 'https://github.com/anonvector/noizdns.git' into submodule path '.../SlipNet/noizdns' failed
Failed to clone 'noizdns' a second time, aborting

Why this matters

The README still documents recursive checkout for both Android build and CLI source build.

Also, the CLI is currently source-blocked by this dependency:

  • cli/go.mod has replace noizdns => ../noizdns
  • cli/main.go imports noizdns/mobile

So go build ./cli fails when ../noizdns is missing.

Important history / likely regression

The repo history already seems to document this exact issue:

  • 882dde3Remove noizdns submodule from .gitmodules (private repo breaks CI)
  • ced2ce2Restore noizdns submodule with PAT for CI

This makes it look like CI works because GitHub Actions uses a token for recursive submodule checkout, but public users do not have that token.

Additional note

app/build.gradle.kts appears to consume committed AARs from app/libs/golibs-full.aar and app/libs/golibs-lite.aar, so the Android Gradle path may not actually need a public noizdns checkout for normal builds.

Suggested fixes

One of these would probably resolve the public build story:

  1. Remove noizdns from .gitmodules again if it is intended to stay private.
  2. Update the README so public users are not told to do recursive checkout that is guaranteed to fail.
  3. If noizdns is supposed to be public, update .gitmodules to the correct public URL.
  4. For the CLI, either vendor/publish the needed noizdns module or gate NoizDNS support so DNSTT/Slipstream CLI source builds still work without the private repo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions