> Αυτό το μεταφρασμένο κείμενο βρίσκεται υπό γλωσσική αναθεώρηση. Αν κάτι είναι ασαφές, συμβουλευτείτε το [αγγλικό πρωτότυπο](https://www.sm.ch-j.eu/docs/i18n/en/server-diagnostics.md). # Διαγνωστικά διακομιστή Ενσωματωμένη στη γραμμή πλευρά πυρήνα, με τη σειρά Plugins → Διαγνωστικά διακομιστή → Hash & Checksum. Απαιτεί καμία συνεδρία SSH ή κατεβασμένη plugin. Όλοι οι κωδικοί χρόνου λειτουργίας, δοκιμές και εξαρτήματα ζουν σε `app/`; η ενότητα δεν έχει καμία εξάρτηση από τα αρχεία καταγραφής αδερφών. Το αποθετήριο δεν έχει `doc.md`, έτσι αυτό το έγγραφο και τα δύο READMEs περιγράφουν την εφαρμογή. ## Ροή εργασίας χρήστη Εισάγετε ένα όνομα υπολογιστή, IPv4, IPv6 ή HTTP(S) / WS(S) URL. Bare hostnames / IPs default to HTTPS; ρητή URL διατηρούν το μονοπάτι, το ερώτημα και τη θύρα τους κατά τη διάρκεια του αιτήματος. Η εντολή σε URLs, μη υποστηριζόμενα συστήματα, χαρακτήρες λευκού χώρου/ελέγχου και ονόματα host-όπως κελύφους απορρίπτονται. Τα κυριολεκτικά IPv6 συγκρούονται αυτόματα· τα αναγνωριστικά γνωρίσματα της περιοχής σύνδεσης/σύνδεσης δεν υποστηρίζονται από το parser URL. Επιλέξτε Auto (προτιμώ IPv4, διαφορετικά IPv6), IPv4 και IPv6 ή και τα δύο. Λύστε τις διευθύνσεις για να επιλέξετε μια συγκεκριμένη τρέχουσα απάντηση. Η επισκόπηση εμφανίζει όλες τις λυμένες απαντήσεις. Οι ανιχνευτές ελέγχουν την επιλεγμένη διεύθυνση ή μία διεύθυνση ανά οικογένεια που ζητείται. Και οι δύο οικογένειες μετρώνται ανεξάρτητα. Η παρουσία του AAAA μόνο του ποτέ δεν συνεπάγεται τη σύνδεση IPv6. Τρέξτε διαγνωστικά τρέχει DNS, ping, ιχνοδρομία, HTTP, συμπίεση, TLS και οι επιλεγμένες θύρες TCP. Το WebSocket είναι opt-in. Κάθε εργαλείο διαθέτει επίσης ξεχωριστό έλεγχο Run/Stop. Μια διαγνωστική εκτέλεση μπορεί να είναι ενεργή αμέσως. Μια ολοκληρωμένη εκτέλεση σημαίνει ότι τα εργαλεία έχουν τελειώσει, όχι ότι κάθε ανιχνευτής πέτυχε. Δεν υπάρχει καμία κουβέρτα σερβιτόρος offline ετυμηγορία. Χρονικό όριο, μέτρηση πακέτων, επαναλήψεις, μέγιστος λυκίσκους, DNS λύση, επιλογή πρωτοκόλλου, ζεστή σύνδεση και σύγκριση HTTP/HTTPS είναι διαμορφώσιμο. Η αλλαγή του στόχου καθαρίζει μια προηγούμενη επιλεγμένη IP. Η ιστορία μπορεί να ξανανοίξει, να συγκρίνει δύο αναφορές, διαγράψει, εισαγωγή JSON, αντίγραφο ή εξαγωγή JSON/CSV/TXT μέσω των τοπικών διαλόγου πυρήνα. Το θέμα Light/dark/system εφαρμόζεται στην ενότητα διαγνωστικών και αποθηκεύεται στις υπάρχουσες ρυθμίσεις UI. Το CZ/DE/EN ακολουθεί αμέσως τη γλώσσα εφαρμογής. ## Συστατικά και συμπεριφορά πρωτοκόλλου | Component | Εφαρμογή και ερμηνεία | | --- | --- | | `common.js` | Επικυρώνει στόχους/επιλογές, όρια και τιμές enum· μετατροπή IDNA· αριθμητικά στατιστικά στοιχεία αποκλείουν τις άγνωστες τιμές. | | `dnsDiagnostics.js` | Χρήση ανάλυσης διευθύνσεων συστήματος `dns.lookup` να τιμήσει τις ρυθμίσεις του OS και φιλοξενεί αρχεία. Ζητήματα καταγραφής χρησιμοποιούν οριοθετημένο UDP DNS με TCP fallback για trunated απαντήσεις κατά `dns.getServers()`, ή το ρητά επιλεγμένο έθιμο/δημόσιο solver. Δεν υπάρχει έμμεση μετάβαση σε δημόσιο DNS. | | `processTools.js` | Εκτελεί ping/traceroute OS με μια σειρά επιχειρημάτων και `shell: false`, οριοθετημένη έξοδος, ρητή χρονική περίοδος και ματαίωση/καθαρισμός. Αποκρίσεις πακέτων και λυκίσκου αντί να μεταχειρίζονται τη διάρκεια της διαδικασίας ως RTT. | | `httpDiagnostics.js` | Μπουρκίνα HTTP/1.1, HTTP/2 και HTTP/3· αυστηρή επαλήθευση πιστοποιητικού και καρφωμένη οικογένεια IP. Κάθε έκδοση ζητείται ανεξάρτητα· η πραγματική έκδοση καταγράφεται. | | `socketDiagnostics.js` | Εκχύλισμα TLS ανιχνευτής έκδοσης, οριοθετημένη TCP συνδέει/παθητικά λάβαρα, προ-πιστοποίηση SSH παρατήρηση κλειδιού υποδοχής χρησιμοποιώντας την υπάρχουσα εξάρτηση ssh2 και προαιρετική RFC 6455 Αναβάθμιση επικύρωσης. | | `diagnosticsService.js` ΖΖ | Λειτουργεί και ακυρώνει τα εργαλεία, επιλέγει/ισχύει διευθύνσεις, την πρόοδο των ροών, διατηρεί μερικές μετρήσεις και κατέχει την προθεσμία εκτέλεσης. | | `historyStore.js` | Εκδιδόμενη οριοθετημένη τοπική ιστορία, εκ νέου δράση, ελεγχόμενες με σχάσιμο εισαγωγές και εξαγωγές δεδομένων. | ### IMP και διαδρομές Προεπιλογές Ping σε τέσσερις εκτελέσιμες μεμονωμένα αιτήσεις IMPE ηχώ. Τα αποτελέσματα περιέχουν ανά πακέτο μετρούμενο RTT, ληφθείσες/απεσταλμένες μετρήσεις, απώλεια, min/average/max, τυπική απόκλιση πληθυσμού, μέση απόλυτη διαφορά μεταξύ συνεχόμενων μετρούμενων RTT (jitter), TTL/Hop Limit όταν εκτυπώνονται, και χρονοσφραγίσεις. Μια απάντηση `<1 ms` υπολογίζεται ως ληφθείσα με ένα ανώτερο όριο, αντί να εφεύρει μια αριθμητική RTT. Τα άγνωστα RTT εξαιρούνται από τα στατιστικά στοιχεία για την καθυστέρηση. Τα στατιστικά χρησιμοποιούν το παραθυράκι των περισσότερων πακέτων 500, που αποστέλλονται μετρά /received/loss καλύπτουν όλη τη διαδρομή. Τα γραφήματα δείχνουν τις τελευταίες παρατηρήσεις της 200, με διακριτά σύμβολα για απαντήσεις, απαντήσεις υπο-ανάλυσης, ελλείπουσες απαντήσεις και ρητή αίτηση/διακοπές επεξεργασίας. Μια ελλείπουσα απάντηση μπορεί να αντικατοπτρίζει το φίλτρο, την απώλεια πακέτων ή το χρονικό διάστημα· οι παρατηρήσεις αυτές δεν μπορούν να εντοπίσουν οριστικά ένα τείχος προστασίας. Λείπει εκτελέσιμα, τοπικές αστοχίες άδειας και άκυρες κλήσεις εργαλείων είναι ξεχωριστά λάθη εργαλείων, όχι απώλεια πακέτων ή διαθεσιμότητα διακομιστή. Δεν απαιτείται κλιμάκωση των προνομίων. Ροές Traceroute λυκίσκου, διευθύνσεις, μεμονωμένοι ανιχνευτές, μέσα και παρατηρηθεί αναπάντητα ποσοστά. Το αντίστροφο DNS επιλύεται μετά τη διαδρομή, χρησιμοποιώντας τον επιλεγμένο διορθωτή. Οι επαναλήψεις συγκρίνουν τις παρατηρούμενες αλληλουχίες διεύθυνσης λυκίσκου· οι διαφορές μπορούν να αντανακλούν την εξισορρόπηση φορτίου. Ο ενδιάμεσος λυκίσκους που δεν έχει απαντηθεί, δεν καθορίζει κάποια διασπασμένη διαδρομή. Τα μεταδεδομένα και η μέθοδος των πρώτων ανιχνευτών εμφανίζονται σε επεκτεινόμενες λεπτομέρειες. macOS απαιτεί ακέραιο-δευτερόλεπτο trackeroute περιμένει? το αποτελεσματικό στρογγυλοποιημένο χρονικό διάστημα καταγράφεται. ### DNS Οι δώδεκα τύποι αρχείων είναι A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA, PTR, DS και DNSKEY. DNS σύρμα ανάλυσης ελέγχου ταυτότητας συναλλαγής/ερώτησης, μεγέθους ρεκόρ, βρόχους σημείων συμπίεσης και όρια μηνυμάτων. Απαντήσεις διατηρούν αρχεία TTLs, χρόνο ερωτήσεων, solver και NXDOMAIN/NODATA/SERVFAIL/refused/timeout δηλώνει. Η αναζήτηση διευθύνσεων του OS δεν μπορεί να παρέχει TTL· το ξεχωριστό αρχείο ερωτημάτων μπορεί. Το CNAME που ακολουθεί περιορίζεται σε οκτώ συνδέσμους με την ανίχνευση κύκλου. Η συνέπεια επαναλαμβάνει τις απαντήσεις A/AAAA από τον επιλεγμένο solver και εκτελεί προς τα εμπρός επιβεβαιωμένη PTR για δοκιμές DNS. Οι αλλαγμένες απαντήσεις είναι παρατηρήσεις, όχι απόδειξη βλάβης DNS. Ερωτήματα για το SRV χρησιμοποιούν το όνομα-στόχο όπως δίνεται; εισάγετε ένα όνομα υπηρεσίας, όπως `_service._tcp.example.org` όταν χρειάζεται. Το DNSSEC είναι πάντα **not επικυρωμένο **. Η παρουσία του DS/DNSKEY και ακόμη και η σημαία AD του solver δεν αντιμετωπίζεται ποτέ ως ανεξάρτητη επικύρωση. ### HTTP, απόδοση και συμπίεση Η HTTP/1.1 δέχεται αυτή την έκδοση όπως υποστηρίζεται μόνο όταν πράγματι επιστρέφεται. HTTPS HTTP/2 απαιτεί διαπραγμάτευση h2; καμία επιστροφή δεν επανασημαίνεται. Cleartext HTTP/2 χρησιμοποιεί προηγούμενη γνώση, όχι ένα HTTP/1.1 Αναβάθμιση καθετήρα. Η επαλήθευση TLS παραμένει αυστηρή για κάθε αίτημα HTTP/WebSocket. Οι χειροκίνητες ανακατευθύνσεις περιορίζονται σε οκτώ· οι βρόχοι, οι άκυροι προορισμοί και οι υπερβολικές αναδρομές αποτυγχάνουν ρητά. Οι πλήρεις αλυσιδωτές καταγραφές διασταυρώνονται και υποβαθμίζονται από το HTTPS· τα συστήματα και οι αλλαγές στο www είναι ορατά στις URL πηγής/προορισμού. Τα συστήματα ανακατευθύνσεως της εντολής και μη HTTP (S) απορρίπτονται. Κάθε ανακωχή cross-host επιλύεται ανεξάρτητα μέσω του επιλεγμένου solver και ζητείται οικογένεια IP. Οι μετρήσεις περιλαμβάνουν DNS (όταν εκτελούνται), TCP, TLS, τελική απάντηση TTFB, συνολικά TTFB συμπεριλαμβανομένων των DNS/ανακατευθύνει, κατεβάσετε, ανακατευθύνσει και συνολικό χρόνο τοίχου, πραγματικές ψηφιολέξεις οντότητας, ταχύτητα μεταφοράς, κατάσταση, κεφαλίδες απόκρισης, πραγματική διεύθυνση διακομιστή / λιμένα, ALPN και επαληθευμένη επαναχρησιμοποίηση σύνδεσης. Οι φάσεις DNS/TCP/TLS που δεν εκτελούνται σε μια καρφιτσωμένη ή επαναχρησιμοποίηση σύνδεση είναι `N/A`, όχι πλαστά μηδενικά. Το QUIC δεν έχει φάση TCP· η χειραψία του καταγράφεται ξεχωριστά. Η μεταφορά κεφαλίδας ή πλήρους σύρματος δεν υποστηρίζεται ως μέτρηση byte οντότητας. Αυτά είναι server/δίκτυα συγχρονισμού, όχι απόδοση σελίδας ή βαθμολογία φάρου. Κάθε επιλεγμένο πρωτόκολλο χρησιμοποιεί τον ίδιο στόχο και επαναλήψεις. IPv4/IPv6 και HTTP/HTTPS είναι σαφείς επιλογές σύγκρισης. Το εναλλακτικό σύστημα χρησιμοποιεί την προκαθορισμένη θύρα του. Κάθε πρωτόκολλο ξεκινά μια ανεξάρτητη διαδικασία πελατών ανά δείγμα. Η επαναχρησιμοποίηση σύνδεσης δεν υποστηρίζεται. Τα στατιστικά στοιχεία του συνολικού χρόνου περιλαμβάνουν το min/average/median/max/nearest-rank P95 και ένα ξεχωριστό ποσοστό σφάλματος μεταφοράς/πρωτοκολικού.Οι κωδικοί κατάστασης HTTP παραμένουν ορατοί ακόμη και όταν ένας διακομιστής επιστρέφει επιτυχώς μια απάντηση 4xx/5xx. Η συμπίεση στέλνει ταυτότητα, gzip, deflate, br και (όταν το υποστηρίζει ο χρόνος λειτουργίας) zstd ως ξεχωριστά αιτήματα Accept-Encoding. Η κωδικοποίηση περιεχομένου πρέπει να ταιριάζει, και η οριοθετημένη αποσυμπίεση πρέπει να επιτύχει. Ο λόγος υπολογίζεται μόνο εάν το αποκωδικοποιημένο σώμα hash, το τελικό URL και η κατάσταση ταιριάζουν με τη γραμμή αναφοράς της ταυτότητας. Οι άγνωστες κωδικοποιήσεις δεν υποστηρίζονται· τα μεταβαλλόμενα/δυναμικά σώματα δεν έχουν καμία αναλογία. Αυτή είναι μια παρατήρηση για το URL/status, όχι καθολική υποστήριξη διακομιστή. Οι έλεγχοι κεφαλής ασφαλείας δείχνουν την παρουσία και την αξία των HSTS, CSP, X-Content-Type-Options, Reference-Police, Permissions-Policy και X-Frame-Options. Μια οδηγία CSP-προγραμματιστών μπορεί να υπερνικήσει την τελευταία. Η παρουσία δεν αποδεικνύει ότι η πολιτική είναι σωστά ρυθμισμένη ή ότι η ιστοσελίδα είναι ασφαλής. ### Απαιτήσεις και απόδειξη HTTP/3 HTTP/1.1, HTTP/2 και HTTP/3 χρησιμοποιούν τον ίδιο ενσωματωμένο πελάτη μπούκλες. macOS arm64 και Linux x64 χρήση μπούκλας 8.22.0, OpenSSL 3.5.9, nghttp2 1.70.0, ngtcp2 1.25.0 και nghttp3 1.18.0. Windows x64 χρησιμοποιεί την επίσημη curl.se curl-for-win 8.22.0_3 στατική κατασκευή με LibreSSL 4.3.3 και τις ίδιες βιβλιοθήκες HTTP. Δεν χρειάζεται καμία οπισθοδρόμηση συστήματος, λήψη χρόνου λειτουργίας ή άδεια διαχειριστή. Η Windows ανάντη αναπαραγώγιμη συνταγή κατασκευής είναι https://github.com/curl/curl-for-win/tree/9d77e31e . Κατασκευάζεται με `python3 scripts/native/build.py` (Windows: `python scripts/native/build.py`) πριν από τη συσκευασία. macOS/Linux απαιτούν C/C++ εργαλεία, CMake, Ninja, Perl, make και pkg-config. Οι πηγές καρφώνονται από την έκδοση και ανάντη SHA-256 σε `scripts/native/dependencies.lock.json`. Το σενάριο ελέγχει κάθε download, στατικά συνδέει τις βιβλιοθήκες μεταφορών τρίτων και αποτυγχάνει χωρίς HTTP2/HTTP3/SSL χαρακτηριστικά. Μόνο οι βιβλιοθήκες λειτουργικών συστημάτων παραμένουν δυναμικές. Windows χρησιμοποιεί το καρφιτσωμένο επίσημο δυαδικό αρχείο, όχι μια τοπική κατάρτιση Windows στοίβα μεταφοράς. Το δεσμοποιημένο αρχείο CA έχει το δικό του καρφιτσωμένο hash? άδειες συστατικών και ανάντη προέλευση κατασκευής συνοδεύουν το χρόνο λειτουργίας. Ο πελάτης και το κατάστημα εμπίστευσης εγκαθίστανται εκτός app.asar σε `resources/native-runtime/-/`. Κάθε διαγνωστικό έλεγχο στοιχείων σπάει, αρχιτεκτονική και εκτελέσιμες ικανότητες πριν από τη χρήση. Αποκλείονται τα αρχεία config, proxies, TLS περιβάλλον εμπιστοσύνης παρακάμψεις και μεταβλητές εγχύσεων βιβλιοθήκης. curl τρέχει με μια απόλυτη διαδρομή, κέλυφος απενεργοποιημένο, επαληθεύτηκε CA εμπιστοσύνη, μια ρητή αποφασισμένη οικογένεια IP, δεν cookies, καμία αυτόματη ανακατευθύνσεις, και οριοθετημένη έξοδο και χρόνο. Οι επαναπροσανατολισμοί επικυρώνονται και διορθώνονται από την αίτηση. HTTPS σε θύρες εκτός από 443 υποστηρίζεται. HTTP/3 χρησιμοποιεί `--http3-only` και επιβεβαιώνεται μόνο μετά από μια ολοκληρωμένη αναφορά μεταφοράς HTTP έκδοση 3 έκδοση και επιτυχή επαλήθευση πιστοποιητικού. Οι απαντήσεις σφαλμάτων HTTP όπως 404 μπορούν να επιβεβαιώσουν το πρωτόκολλο. Το Alt-Svc είναι διαφήμιση, όχι απόδειξη. QUIC timeout, αποτυχία πιστοποιητικού, αποτυχία DNS, άρνηση σύνδεσης, ασύμβατο πρωτόκολλο και βλάβη συστατικών παραμένουν διακριτά. Ένα UDP timeout αφήνει την υποστήριξη του διακομιστή χωρίς επαλήθευση. Ο χρόνος χειραψίας QUIC δεν αναφέρεται ως χρόνος TCP. Κάθε μέτρηση ξεκινά μια ξεχωριστή διαδικασία/σύνδεση. Η θερμή επιλογή δεν απαιτεί την επαναχρησιμοποίηση σύνδεσης για το συνδεδεμένο πελάτη. Αυτό διατηρεί τις συγκρίσεις πρωτοκόλλου συνεπείς. Οι αναφορές περιλαμβάνουν εκδόσεις χρόνου λειτουργίας, δυνατότητες, επαλήθευση TLS και QUIC χρονοδιάγραμμα, ενώ το ιστορικό / εξαγωγή αφαιρεί τα σώματα, ερωτήσεις URL και κεφαλίδες ταυτότητας. Ενημερώστε αυτές τις καρφίτσες και ανοικοδομήστε κάθε υποστηριζόμενη πλατφόρμα κατά την ενημέρωση της στοίβας μεταφοράς ή CA κατάστημα εμπιστοσύνης. Τα δημοσιευμένα αντικείμενα και οι φωτογραφίες πηγής είναι αμετάβλητες. ## Κεντρικό IPC Προφόρτωση εκθέτει μόνο `window.chjCore.diagnostics`; όλοι οι χειριστές διατηρούν το υπάρχον κύριο παράθυρο ελέγχου αποστολέα και η εργασία δικτύου παραμένει στην κύρια. Τα αποτελέσματα χρησιμοποιούν `{ ok: true, value }` ή `{ ok: false, error: { code, message } }`. | Μέθοδος καναλιού/προφόρτωσης | Πληρωμή / αποτέλεσμα | | --- | --- | | `diagnostics:resolve` / `resolve(options)` | Επικυρωμένος στόχος/ρυθμίσεις → Στόχος και αποφασισμένες διευθύνσεις. Το πολύ δύο αιτήματα ταυτόχρονης εξυγίανσης. | | `diagnostics:start` / `start(options)` | Επικυρωμένος στόχος/settings/tool επιλογή → αδιαφανής ταυτότητα εργασίας και αρχική έκθεση. | | `diagnostics:cancel` / `cancel(id, tool?)`Z | Ακύρωση ενός ενεργού/διαμορφωμένου εργαλείου ή ολόκληρης της διαδρομής. | | `diagnostics:get` / `get(id)` | Στιγμιότυπο μιας γνωστής αναφοράς τρέξιμο ή σωτηρίας. | | `diagnostics:history` / `history()` | Περιλήψεις τοπικής ιστορίας. | | `diagnostics:removeHistory` / `removeHistory(id)` | Αφαίρεση του επιλεγμένου αντικειμένου ιστορικού. | | `diagnostics:copy` / `copy(id, format)` | Ο Μέιν γράφει μια γνωστή αναφορά στο πρόχειρο. | | `diagnostics:export` / `export(id, format)` | JSON/CSV/TXT μέσω του φυσικού διαλόγου αποθήκευσης; determiner δεν μπορεί να παρέχει μια διαδρομή συστήματος αρχείων. | | `diagnostics:import` / `import()` | Ιθαγενής επιλογή αρχείων, μέγεθος/schema/depth επικύρωση και τροποποίηση πριν από την αποθήκευση. | | `diagnostics:progress` / `onProgress(callback)`Z | Λυμένες διευθύνσεις, ξεκινήματα/συμπληρώσεις εργαλείων, πακέτα, λυκίσκου, δείγματα HTTP και ολοκλήρωση; επιστρέφει μια αναπάντητη κλήση. | Δεν εκτίθεται γενικό κέλυφος, σύστημα αρχείων ή δίκτυο API. Απομόνωση πλαισίου, sandbox, ενσωμάτωση με ανάπηρους κόμβους και ο υφιστάμενος deter CSP παραμένει ενεργοποιημένος. Οι υπάρχουσες συμβάσεις plugin και η επαλήθευση/εξαιρέσεις updateer παραμένουν αμετάβλητες. ## Προϋπολογισμός και τοπικά δεδομένα - Μία εκτέλεση, δύο ενεργά εργαλεία, το πολύ δύο ανιχνευτές IP-οικογένειας ανά εργαλείο. TCP επιπλέον περιορίζει κάθε διεύθυνση σε τέσσερις συνδέσεις. - Διαχρονικό 250–30000 ms; 1–100 πακέτα, 1–20 επαναλήψεις, 1–40 λυκίσκου, 1–16 θύρες. Τακτικοί γύροι σταματούν σε πέντε λεπτά, συνεχής ping σε τριάντα λεπτά. Η υποδιεργασία ιχνοδρομίας έχει ένα επιπλέον καπάκι 180-δευτερόλεπτο. - Κανονικά έξοδος διαδικασίας 256 KiB; φορέας οντότητας HTTP 2 MiB· αποσυμπιεσμένο σώμα 8 MiB; κεφαλίδες HTTP που οριοθετούνται; καμία απάντηση σώματα εισέρχονται στην ιστορία. - Retain το πολύ 500 πακέτα/εκδηλώσεις προόδου, πέντε ενθύμια τρέχει, τριάντα αναφορές ιστορίας και 10 Μιμπ της ιστορίας. Η ιστορία χρησιμοποιεί τον υπάρχοντα ιδιωτικό ατομικό συγγραφέα στο `/diagnostics/history.json` (mode 0600). - Οι εισαγωγές είναι το πολύ 2 MiB, schema 1, με οριοθετημένες φωλιές και επικυρωμένες συλλογές αποτελεσμάτων. Τα κύτταρα CSV δραπέτευσαν και τα προθέματα φόρμουλα εξουδετερώθηκαν. Τα ερωτήματα/αποθέματα URL, τα διαπιστευτήρια, τα cookies, οι κεφαλίδες ταυτοποίησης και τα ωμά σώματα εξαιρούνται από τις αναφορές /copied/exported. Ακατέργαστα στοιχεία δείχνουν μετρούμενα δομημένα δεδομένα, όχι ένα πακέτο σύλληψης ή διατήρηση του σώματος απόκρισης. - Δεν συγχρονισμός σύννεφο, αυτόματη σύνδεση, αλλαγές ρυθμίσεων διακομιστή ή επιθετική/μη δεσμευμένη σάρωση. Ο χρήστης επιλέγει ρητά στόχο/ports/resolver. ## Απαιτήσεις και εξακρίβωση της πλατφόρμας | Πλατφόρμα | ΜΠΕΡ | Οδός | Άλλα πρωτόκολλα | | --- | --- | --- | --- | | Windows 10/11 | `ping.exe -4/-6` | `tracert.exe -4/-6`, ΜΠΕΠ | Κενό curl.exe με HTTP/2 και HTTP/3. Τα τοπικά πεδία RTT δεν εξαρτώνται από τη λέξη "time" . | | macOS | `/sbin/ping`, `/sbin/ping6` | `/usr/sbin/traceroute`, `/usr/sbin/traceroute6`, UDP· αναμονή ακέραιου δευτερολέπτου | Μπουκάλι με μπούκλες HTTP/2 και HTTP/3. | | Ubuntu/Linux | ιπουτίλλης `ping -4/-6` | πρότυπο `traceroute -4/-6`, UDP | Μπουκάλι με μπούκλες HTTP/2 και HTTP/3; τα εργαλεία που λείπουν ICMP/route αναφέρονται χωριστά. | Δεν προστέθηκε καμία νέα εξάρτηση από την PMM. Η εφαρμογή χρησιμοποιεί ενσωματωμένο κόμβο και το υπάρχον ssh2 της εφαρμογής. Ούτε εγκαθιστά εργαλεία ούτε ζητά διοικητικά δικαιώματα. Τα τείχη προστασίας και οι περιορισμοί του UDP μπορούν να εμποδίσουν τη διενέργεια δοκιμής από την καθιέρωση στήριξης· δεν μπορούν να προκύψουν από ένα χρονικό διάστημα μόνο. Αυτόματη κάλυψη `diagnosticsCore.test.js`, `diagnosticsNetwork.test.js`, `diagnosticsHttp.test.js` και `diagnosticsIpc.test.js`: επικύρωση/IPv6 κυριολεκτικά, ντόπια/τοπικά DNS Εξαρτήματα UDP+TCP, ελλείπουσες/διπλές-οικογενειακές απαντήσεις και σφάλματα αποφασιστικότητας, CNAME/συνέπεια, επιχειρηματολογία OS/παραστάσεις, οριοθετημένες διαδικασίες πραγματικού παιδιού, μπλοκαρισμένες παρατηρήσεις IMP, πραγματικό τοπικό HTTP/1.1 και TLS h2, ανακατευθύνσεις / όρια σώματος/timeouts/reuse, ενεργοποιημένη/ακυρωμένη συμπίεση, HTTP3 ικανότητα/επιτυχία-αποτέλεσμα ανάλυση/απόρριψη επιστροφής, τοπική εμπιστοσύνη CA/mismatch/expiration και πραγματικό IPv6 HTTP/HTTPS, σύνδεση TCP/refused/mock Τάιμ άουτ, πραγματικό WebSocket και SSH Χειραψίες προ-πιστοποίησης, ακύρωση/cleanup/partial αποτελέσματα, κατάσταση εκτός σύνδεσης, ιδιωτική ιστορία γύρο-ταξίδι / απόρριψη εισαγωγών/εξαγωγές, αξιόπιστη IPC και προφόρτωση συνδρομές. `npm test` τρέχει οροθετικές δοκιμές χωρίς δημόσιους διακομιστές δοκιμών. `npm run test:diagnostics:ui` τρέχει `scripts/smokeDiagnostics.js` σε μια γραφική επιφάνεια εργασίας Electron, χρησιμοποιώντας UI/preload/IPC παραγωγής και πραγματικά τοπικά HTTP/συστολή. Οι μη συναφείς υπηρεσίες πραγματοποιούνται μόνο σε αυτήν την καλωδίωση δοκιμών. Ελέγχει τη σειρά πλοήγησης, τα αποτελέσματα του πρωτοκόλλου, την επιμονή, CZ/DE/EN, και τα δύο θέματα, στενή υπερχείλιση παραθύρου και τις προτιμήσεις αμμοκιβωτίων. Αν το κέλυφος θέσει ELECTRON_RUN_AS_NODE, απενεργοποιήστε το για αυτή την εντολή. Ο έλεγχος του τρέχοντος χρόνου λειτουργίας καλύπτει τις ελεγχόμενες μεταφορές QUIC, IPv4/IPv6, HTTPS σε θύρα μη προεπιλογής, 404 απαντήσεις, TLS Αποτυχίες και μόνο για υπηρεσία TCP διαφήμιση Alt-Svc. Τα αποτελέσματα ανά κατασκευή συνοδεύουν κάθε κυκλοφορία. Ακριβή προαιρετικά όρια: καμία ανεξάρτητη επικύρωση DNSSEC (απαιτεί πλήρη επικύρωση του κύκλου ζωής του λύτη/της συσκευής εμπιστοσύνης), κανένας έλεγχος του φάρου (μόνο χρονοδιακόπτης/δίκτυο), κανένας αποκηρυγμένος έλεγχος TLS ή υπηρεσία ανάκλησης/CT, κανένας ισχυρισμός της HTTP3 για τη θερμή χρήση και καμία μέτρηση HTTP/3. Οι μη υποστηριζόμενες ικανότητες εμφανίζονται μάλλον παρά προσομοιώνονται. ## Αρχεία σε αυτή την αλλαγή Δημιουργήθηκε: τα επτά αρχεία υπηρεσιών σε `src/main/diagnostics/`; `src/renderer/diagnostics.js`, `diagnosticsI18n.js` , `diagnostics.css`? τα τέσσερα `test/diagnostics*.test.js` αρχεία? πέντε αρχεία υπό `test/fixtures/diagnostics/`. `scripts/smokeDiagnostics.js` αυτό το έγγραφο. Ολοκληρωμένα/ενημερωμένα: `src/main/index.js`, `src/main/ipc/registerCoreIpc.js`, `src/preload/corePreload.js`, `src/renderer/index.html`, `app.js`, `i18n.js`, `package.json`, `app/README.md`, ρίζα `README.md`, `.gitignore` (τέσσερα δημόσια εξαρτήματα εξαιρέσεις) και οι ρίζες gitleaks επιτρέπουν τη λίστα στενά ονοματίζοντας το σκοπίμως κοινό TLS προσάρτημα του κλειδιού δοκιμής. Το ιδιωτικό κλειδί CA που υπέγραψε απορρίφθηκε· το εξάρτημα δεν χρησιμοποιείται ποτέ από τον χρόνο λήξης της εφαρμογής.