Engine messages hard-code CLI flag names; give them structured codes instead
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- go
- Domaine
- backend-api-design, cli
Piste de recherche
Start by reading the message strings in internal/scan/runner.go, options.go, scope.go, verdict.go, internal/dns/resolver.go and transport.go, then inspect the rewrite tables in pkg/subenum/subenum.go and their tests. The issue allows either structured codes and settings or neutral setting names, but replacing message parsing across engine and front ends is broad design work. Done means no engine message hard-codes CLI flags and the CLI, TUI and pkg/subenum each present settings in their own terms without parsing message text.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Why it matters
Engine messages name command-line flags ("Use -force to scan anyway", "set -max-queries or -force", "concurrency (-t) must be at least 1"). That reads well in the CLI but is wrong anywhere else: the TUI has form fields, and pkg/subenum callers have Config fields, not flags.
Evidence
- About 40 flag references in message strings across
internal/scan/runner.go,options.go,scope.go,verdict.goandinternal/dns/resolver.go,transport.go. pkg/subenumworks around this with a regexp that rewrites-flagto the matchingConfigfield (flagFieldsandfieldNamesinpkg/subenum/subenum.go). It works and is tested, but a new message that names a flag missing from the table gets through unchanged.
Suggested approach
- Give events and validation errors a structured part: a code such as
wildcard_refusedorcap_reached, and the setting involved (force,max_queries). Each front end then writes its own wording. - Or, as a smaller step, have the engine refer to settings by neutral names and let each front end map them.
- Delete the regexp rewrite in
pkg/subenumonce the engine no longer writes flag names.
Done when
No engine message hard-codes a CLI flag, and the CLI, the TUI and pkg/subenum each name settings in their own terms without parsing message text.
- Langage dominant
- Go
- Étoiles
- 1
- Forks
- 1
- Merge moyen
- 14 j 9 h
- PR mergées (30 j)
- 1
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de TMHSDigital/subenum
-
documentation testing
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
TMHSDigital/subenum#103 ·
Les mainteneurs répondent en général sous 1 jour
-
area: release bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
TMHSDigital/subenum#102 ·
Les mainteneurs répondent en général sous 1 jour
-
community marketing priority: low
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
TMHSDigital/subenum#132 ·
Les mainteneurs répondent en général sous 1 jour
-
feature priority: low
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
TMHSDigital/subenum#131 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation marketing priority: medium
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
TMHSDigital/subenum#127 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de TMHSDigital/subenum
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
golang/go#82033 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 90/100
FootprintAI/Containarium#2338 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: core doesn't build standalone on dev since a17068054 (go-mp3 require dropped, go.sum pruned)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
SagerNet/sing-openvpn#11 ·
-
priority: P3 type: devops
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
jiegui2025/hwspec#57 ·
Les mainteneurs répondent en général sous 1 jour