FoxSDR 0.99.39 · BETA DESCHISĂ
Traducere automată

Aceasta este o traducere automată; versiunea în engleză este cea obligatorie. Citiți versiunea în engleză

← Înapoi la FoxSDR

Confidențialitate și cookie-uri

Această notă acoperă două lucruri separate: aplicația FoxSDR pe care o instalați și acest site web. Ele colectează date diferite, din motive diferite, și sunt descrise separat mai jos — mai întâi aplicația, pentru că ea este partea care rulează pe propria dvs. mașină. Este scrisă să fie completă, nu scurtă: fiecare câmp pe care oricare dintre ele îl stochează este listat, inclusiv cele pe care majoritatea notelor le omit.

Aplicația: ce trimite

Nu există cont, cheie de licență sau activare, iar FoxSDR nu raportează niciodată nimic despre ce ascultați. Face din proprie inițiativă exact patru tipuri de cereri de rețea: o verificare a actualizărilor; un raport de utilizare anonim, cu un mic semnal „încă rulează” cât timp aplicația este deschisă; un raport de prăbușire sau de blocare după un defect; și — doar când dvs. deschideți magazinul de pluginuri sau apăsați VERIFICĂ ACUM în el — o cerere către catalogul de pluginuri. Fiecare este descrisă mai jos, câmp cu câmp, și fiecare poate fi dezactivată. Trei comutatoare le controlează: SISTEM → Actualizări, SISTEM → Raportare utilizare și SISTEM → Diagnostic. Nicio funcție nu depinde de activarea vreunuia dintre ele și nimic nu vă sâcâie pentru că ați dezactivat unul.

Ce rămâne pe mașina dvs.

Înregistrările dvs., atât audio, cât și I/Q brut, imaginile construite de decodoarele SSTV și de sateliți meteo, tot ce decodează decodoarele, marcajele, planurile de benzi, setările, poziția receptorului și pluginurile instalate sunt fișiere pe propriul disc. Nimic nu le încarcă, iar nicio frecvență pe care o acordați nu părăsește mașina dvs.

Verificarea actualizărilor

O dată la fiecare pornire, aplicația întreabă acest site dacă există o versiune mai nouă. Întreaga cerere este GET /api/update?v= urmat de versiunea pe care o rulați — niciun identificator, niciun id de instalare, niciun cookie și nimic care ar putea fi legat de o cerere ulterioară. Acest server nu scrie nicio înregistrare statistică pentru ea: sunt înregistrate doar afișările de pagini și descărcările de fișiere, iar punctul de acces pentru actualizări nu este niciuna dintre ele. Dezactivați-o din SISTEM → Actualizări și aplicația nu mai contactează niciodată serviciul.

Nimic nu este descărcat sau instalat dacă nu apăsați butonul. Dacă îl apăsați, programul de instalare este adus de pe acest site prin HTTPS, iar SHA-256 al lui este verificat față de rezumatul publicat de server înainte ca fișierului să i se dea un nume pe care l-ar putea rula ceva — iar acea aducere este o descărcare obișnuită de pe acest site, deci este înregistrată ca oricare alta, cu adresa IP, locația aproximativă, browserul și sistemul de operare descrise în partea despre site a acestei note.

Raportare utilizare

Începând cu versiunea 0.53.0 există un raport de utilizare anonim, în SISTEM → Raportare utilizare. Este activat implicit și îl puteți dezactiva — debifați acea casetă și raportarea se oprește imediat. Se trimite un raport la fiecare pornire, care descrie sesiunea tocmai încheiată, și acesta este tot conținutul lui:

TrimisExempluDe ce
Identificator de instalare32 de caractere hexazecimale aleatoareDeosebește 100 de utilizatori de un singur utilizator care pornește aplicația de 100 de ori. Generat aleator pe mașina dvs. la prima rulare, șters când dezactivați raportarea și niciodată derivat din hardware-ul, rețeaua sau numele dvs.
Versiunea aplicației0.99.39Dacă oamenii actualizează. Versiunea alfa pentru Android își raportează propriul build ca 0.98.1-android.4 — un sufix -android.N adăugat la numărul versiunii din care a fost compilată, astfel încât rapoartele ei să nu fie niciodată confundate cu cele ale programului de instalare Windows.
Sistem de operareWindows 10.0.22631, Linux 6.8.0 sau Android 14Ce platforme sunt folosite efectiv. Sistemul de operare și numărul lui de build, de kernel sau de versiune, niciodată numele mașinii dvs. sau contul de utilizator. Build-ul Linux (0.99.39) și versiunea alfa pentru Android (0.98.1-android.4) trimit aceleași câmpuri, sub același comutator.
Arhitecturăx64 sau arm64Ca mai sus.
Număr de porniri12Dacă software-ul este folosit mai mult de o dată.
Număr de prăbușiri1Cât de des cedează.
Durata sesiunii3600 secundeDacă sesiunile durează minute sau ore.
Model SDRuhd b200Ce radiouri să aibă prioritate. Numerele de serie sunt eliminate înainte de trimitere.
Demodulatoarele folosite și cât timpWFM: 3000sCe moduri justifică lucru suplimentar.
Panouri deschisemap, decodedCe funcții sunt folosite.
Pluginuri instalateADS-B 1.0.0Ce decodoare justifică lucru suplimentar.

Aceasta este lista completă. Este livrată cu aplicația ca PRIVACY.md, iar un test automat verifică conținutul câmp cu câmp, astfel încât un câmp nou nu poate fi adăugat fără ca acel test să eșueze și fără ca ambele documente să fie actualizate. Dezactivarea raportării șterge identificatorul de instalare, așa că, dacă o reactivați vreodată, primiți unul nou, care nu poate fi legat de cel vechi.

Raportul este trimis la pornire, descriind sesiunea deja încheiată, și niciodată la ieșire — un apel de rețea la plecare poate bloca o aplicație pe care cineva încearcă să o închidă, iar un raport scris la ieșire s-ar pierde tocmai în evenimentul care merită cel mai mult numărat. Nimic din răspuns nu este citit și nu declanșează nicio acțiune.

Semnalul „încă rulează”

Un raport care sosește când aplicația pornește poate spune cine a lansat-o, dar niciodată cine o mai are deschisă. Așa că, în timp ce FoxSDR rulează — și doar cât timp raportarea utilizării este activată — trimite și un mesaj foarte mic la fiecare cinci minute, care conține trei câmpuri și nimic altceva:

TrimisExempluDe ce
Identificator de instalareaceleași 32 de caractere hexazecimale ca mai susAstfel, douăsprezece semnale de la o copie contează ca o singură copie care rulează, nu douăsprezece.
Versiunea aplicației0.99.39Astfel, „rulează acum” poate fi defalcat pe versiuni.
Marcaj de semnal1Îi spune capătului care primește că acesta este un semnal și nu un raport de sesiune.

Nimic din sesiune nu este trimis odată cu el: fără moduri, fără panouri, fără model de radio, fără durate, fără contoare. Semnalele sunt scrise într-un set de date separat, ținut deoparte de rapoartele de sesiune, astfel încât nicio cifră de utilizare nu își schimbă sensul. Același comutator le oprește pe amândouă: expeditorul refuză să se activeze fără un identificator de instalare valid, iar dezactivarea raportării utilizării îl șterge, deci dezactivat înseamnă niciun semnal. Un semnal încă în curs de trimitere când urmează următorul este sărit, nu pus în coadă.

Unde ajung rapoartele de utilizare

La un Cloudflare Worker operat de acest proiect la https://telemetry.foxsdr.com, care scrie contoarele de mai sus într-un set de date Cloudflare Workers Analytics Engine. Cloudflare le prelucrează în numele nostru și le stochează timp de trei luni, după care dispar. Nimeni altcineva nu le primește, nu sunt vândute, închiriate sau partajate, iar singurul lucru citit din ele sunt totaluri agregate, prin același panou de control protejat prin parolă descris mai jos. Codul sursă al Worker-ului este publicat împreună cu aplicația, astfel încât puteți citi ce face capătul care primește. Rapoartele de prăbușire nu ajung aici — ele merg la serverul propriu al acestui site, descris în continuare.

Rapoarte de prăbușire și de blocare

Dacă FoxSDR se prăbușește sau nu mai răspunde, scrie un raport care descrie defectul în %LOCALAPPDATA%\FoxSDR\crashes\ pe propria dvs. mașină și trimite textul raportului la pornirea următoare — niciodată din interiorul defectului însuși, pentru că un program care tocmai a cedat nu poate deschide în siguranță o conexiune de rețea. Raportul ajunge la POST /api/crash pe acest site — nu la Cloudflare și nu la vreo terță parte — și este anonim: nu există cont, cheie de licență sau ceva cu care să vă autentificați.

Comutatorul este SISTEM → Diagnostic și controlează în egală măsură scrierea și trimiterea: când este dezactivat, nu se scrie niciun raport, nu se creează niciun director și nu se face niciodată nicio conexiune. Este un comutator diferit de cel pentru raportarea utilizării. Dezactivarea raportării utilizării nu oprește un raport de prăbușire — golește câmpul identificatorului de instalare din el, pentru că atunci nu există niciun identificator, iar un raport de prăbușire nu creează niciodată unul (vedeți ultimul rând al tabelului de mai jos). Până la această versiune, nota de mai sus numea comutatorul greșit; software-ul a folosit întotdeauna Diagnostic, iar acum cele două spun același lucru.

Acesta este tot conținutul unui raport:

TrimisExempluDe ce
Ce s-a întâmplatcrash sau hangO blocare și o prăbușire sunt defecte diferite.
Semnătura defectuluicascade.exe+0x1a2b/adsb.dllGrupează același defect raportat de mulți oameni într-o singură intrare, astfel încât o sută de rapoarte despre o eroare să fie un singur lucru de remediat, nu o sută.
Versiunea aplicației, commit și id de build0.61.0, 28fa1c2În ce build s-a întâmplat și ce simboluri i se potrivesc.
Modulul defect și offsetulcascade.exe, 0x1a2bUnde anume în program a apărut problema.
Sistem de operare și arhitecturăWindows 11, Linux sau Android 14, x64 sau arm64Defectele sunt adesea specifice unei platforme. Un raport Linux sau Android conține aceleași câmpuri; cadrele de stivă numesc id-ul de build GNU al bibliotecii defecte în loc de un id PDB, pentru că niciuna dintre aceste platforme nu compilează cu MSVC.
Ce fel de defect a fostaccess violation, 0xC0000005Rândul de motiv al raportului și codul de excepție Windows. În special, acesta este cel care spune că un defect a fost absorbit — aplicația a supraviețuit — și nu o prăbușire; fără el, cele două arată identic. Un cod și o propoziție fixă, niciodată conținut.
Pluginurile încărcate și versiunile lorADS-B 1.1.0„Se prăbușește doar cu pluginul ADS-B încărcat” este o descriere a defectului; „se prăbușește uneori” nu este.
Stivele firelor de execuțiecascade.exe+0x1a2b pe cadruStiva este defectul. Conține doar nume de module, id-uri de build și offseturi numerice — fără căi de fișiere sursă, fără variabile, fără conținut al memoriei.
Finalul jurnalului sesiuniiopened rtlsdrThe last lines the application logged, which is usually what it was doing when it failed. It is the application's own log: it records state changes — source opened, rate set, plugin started — never signal content, and never the name or path of a file you opened. It also carries what the radio driver said and what its libraries printed to the standard error stream. Before any line of it leaves your computer, the application's own lines as well as the driver's, it is scrubbed: serial numbers and the device-specific part of USB device identifiers are replaced by <stripped>, the account name in a file path by <user>, and anything in single quotes, such as the names you give patch nodes and speakers, by '<name>'; on any line that mentions hertz, a frequency, tuning, a centre, a range, an offset, a carrier, a preset or transmitting, every number is replaced by # unless it is marked as a sample rate, a time, a level, a size or a count, is a version, an identifier or an error code, or is part of a name such as R820T; and lines in which the USB driver lists the devices plugged into your computer are left out, with one line saying how many.
Note de contextmode: WFM, sampleRate: 2400000Câteva note cheie/valoare pe care le atașează aplicația: modul, sursa (generator, fișier I/Q sau un radio real), rata de eșantionare, dacă era deschis un dispozitiv, modelul SDR cu numerele de serie eliminate, de câte secunde rula aplicația și dacă firul de execuție defect rula codul propriu al FoxSDR sau pe cel al unui driver radio. sampleRate este rata de eșantionare, nu o frecvență acordată.
Identificator de instalare32 de caractere hexazecimale aleatoare, sau golFolosit pentru limitarea ratei, apoi aruncat: identificatorul de instalare nu este stocat. O mașină blocată într-o buclă de prăbușiri nu trebuie să poată inunda serverul, iar a deosebi o mașină de o sută este singurul lucru pentru care este citit vreodată. Nu este scris niciodată pe disc aici. Dacă raportarea utilizării este dezactivată, este trimis gol — atunci nu există niciun identificator, iar un raport de prăbușire nu creează niciodată unul.

Corrected in FoxSDR 0.99.33. Before 0.99.33 the scrubbing described above was applied only to the radio driver's lines, not to the application's own, and a few of the application's own lines could therefore reach a crash or freeze report carrying the frequency you had asked for or were transmitting on, a patch radio's label (which can include its serial number), the names you gave patch parts, the first line of text a decoder on the patch page had produced, and the list of USB devices the USB driver printed, including their serial numbers. That contradicted this notice. From 0.99.33 every line is scrubbed before it leaves your computer, and those log lines no longer contain those values in the first place.

Un raport de prăbușire nu conține nicio frecvență, nimic decodat, nicio cale de fișier, niciun nume de utilizator, niciun nume de mașină și nicio locație. Rapoartele sunt păstrate pe serverul propriu al acestui site, în spatele aceluiași panou de control protejat prin parolă ca tot restul, și sunt păstrate 90 de zile după ultima apariție a defectului, apoi șterse — aceleași trei luni cât sunt păstrate rapoartele de utilizare. Primul raport al oricărui defect este păstrat integral, împreună cu câte un raport suplimentar pentru fiecare build în care defectul persistă, până la trei; orice alt raport al aceluiași defect este numărat, nu stocat. Un test automat leagă atât ce acceptă punctul de acces, cât și ce scrie pe disc de tabelul de mai sus, în ambele direcții, astfel încât un câmp nu poate fi adăugat la niciunul fără ca și acest tabel să se schimbe.

Un dump complet de memorie nu este trimis niciodată, indiferent de setări. Un dump de memorie este o copie a memoriei programului și poate conține nume de fișiere, titluri de ferestre și date de semnal recepționate. Este dezactivat implicit; dacă îl activați din SISTEM → Diagnostic, se scrie un .dmp lângă raportul text, doar local, iar programul de încărcare deschide fișierele numite crash-*.txt și hang-*.txt și nimic altceva.

Cât de des. Cel mult cinci rapoarte pe zi de la o mașină și același defect doar o dată pe zi, indiferent de câte ori se produce — ambele limite sunt păstrate în propriul fișier de setări, astfel încât o mașină aflată într-o buclă de prăbușiri se oprește singură din trimis, fără să i se spună, iar un raport care eșuează este reîncercat la pornirile ulterioare de cel mult trei ori și apoi lăsat în pace. Transformarea unui offset dintr-un raport înapoi într-un nume de funcție necesită baza de date de depanare a exact acelui build, care rămâne pe mașinile noastre și nu este încărcată niciodată nicăieri: rezolvarea se face local, nu pe server.

Ce nu trimite niciodată aplicația

  • Frecvențele pe care le acordați. Ceea ce ascultă cineva este cel mai sensibil lucru pe care îl știe acest software și nu este colectat niciodată. În Regatul Unit, interceptarea unui mesaj pe care nu sunteți autorizat să-l recepționați sau divulgarea conținutului lui este o infracțiune conform secțiunii 48 din Wireless Telegraphy Act 2006.
  • Numele sau căile fișierelor pe care le deschideți. Numele fișierului unei înregistrări este data dvs. — poate numi un serviciu, un loc sau o frecvență. Când un fișier I/Q nu poate fi redeschis, jurnalul înregistrează că nu s-a redeschis; numele rămâne pe ecran, unde îl cunoașteți deja.
  • Nimic decodat — mesaje de pager, aeronave, nave, imagini, trafic de sateliți.
  • Poziția dvs. sau poziția a orice recepționați — inclusiv poziția receptorului pe care o setați, care nu este transmisă niciodată în niciun raport. Vedeți mai jos.
  • Adresa dvs. IP sau vreo locație derivată din ea. O cerere ajunge în mod necesar la un server de la o adresă, pentru că așa funcționează internetul; punctul de acces pentru utilizare nu citește nicio informație despre conexiune și nu scrie jurnale de cereri.
  • Numerele de serie ale hardware-ului. Modelul radioului este util; numărul de serie identifică radioul dvs. individual și este eliminat înainte de trimitere.
  • Numele dvs., numele mașinii, contul de utilizator sau orice cale de fișier.
  • Un dump complet de memorie.

Poziția receptorului și GPS-ul

FoxSDR trebuie să știe unde se află receptorul, pentru că fiecare distanță și fiecare azimut de pe hartă și de pe ecranul radar sunt măsurate de acolo. O puteți tasta, o puteți indica printr-un clic pe hartă sau o puteți citi de la un receptor GPS pe un port serial.

Poziția rămâne pe mașina dvs. Este stocată în propriul fișier de setări și nu este transmisă niciodată — nici în raportul de utilizare, nici în semnal, nici într-un raport de prăbușire, nicăieri. Citirea ei de la un GPS este ceva ce porniți dvs.: numiți portul și apăsați „Citește poziția de la GPS”. Portul este ținut ocupat doar până sosește primul fix și cel mult 60 de secunde. Jurnalul de diagnostic înregistrează numele portului, rata baud, numărul de propoziții și de sateliți și orice eroare — niciodată poziția și niciodată textul unei propoziții NMEA. Un câmp de port care conține ceva ce nu arată ca un port este înregistrat în jurnal doar ca tip și lungime („o cale de dispozitiv tastată, 27 de caractere”), astfel încât o cale de fișier cu numele dvs. de utilizator în ea nu poate ajunge într-un raport. Două teste automate garantează asta: unul pe inelul de jurnal și unul pe fișierul de jurnal scris de aplicația reală.

Catalogul de pluginuri

Catalogul este contactat când deschideți fereastra magazinului de pluginuri (prima dată într-o sesiune, începând cu FoxSDR 0.99.16), ori de câte ori apăsați VERIFICĂ ACUM în ea și când alegeți să instalați ceva. Nimic nu este adus la pornire, fereastra nu se redeschide singură și niciun plugin nu se actualizează singur. Catalogul este un fișier publicat pe GitHub (raw.githubusercontent.com), așa că acea cerere ajunge la serverele GitHub, care — ca la orice cerere web — văd adresa de la care provine. Nu se trimite cu ea niciun identificator al dvs.: niciun id de instalare, niciun cookie, nimic care ar putea fi legat de un raport de utilizare. Fiecare descărcare se face prin HTTPS, cu dimensiune limitată, este refuzată la o redirecționare către alt host și este verificată față de sha256 publicat în catalog înainte de a i se permite să devină fișier. Sursa este o setare: o puteți îndrepta spre un alt catalog sau spre un index.json de pe propriul disc, caz în care nu se face nicio cerere de rețea.

Seturi de elemente orbitale ale sateliților

Pluginul pentru sateliți își menține actuale seturile de elemente orbitale aducându-le din sursele numite în satellite.cfg, la fiecare douăsprezece ore cât timp este încărcat. Acest site păstrează o copie a acelor seturi de elemente la GET /tle/all.tle — grupurile de stații, de amatori și meteo de la CelesTrak, plus NOAA 15, 18 și 19, reîmprospătate aici la fiecare douăsprezece ore — iar Sateliți 1.0.4 și versiunile ulterioare revin singure la acest fișier ori de câte ori eșuează toate sursele din satellite.cfg, astfel încât o mașină pe care CelesTrak o refuză îi poate urmări în continuare. Fișierul nu trebuie să numească acest site pentru ca acest lucru să se întâmple; un rând fallback-url none în el dezactivează această rezervă, iar refresh-hours 0 dezactivează orice aducere. Cererea nu conține niciun identificator, niciun id de instalare și niciun cookie, iar acest server nu scrie nicio înregistrare statistică pentru ea — ca la verificarea actualizărilor, sunt înregistrate doar afișările de pagini și descărcările de fișiere, iar oglinda nu este niciuna dintre ele. Seturile de elemente în sine aparțin CelesTrak (celestrak.org) și fiecare răspuns spune asta.

Căutări în registrul de aeronave

Pluginul opțional Aircraft Info arată cine este fiecare aeronavă de pe hartă — înmatricularea, tipul și operatorul. Aplicația nu face niciodată această cerere; instalarea acelui plugin este cea care o activează. Începând cu versiunea 1.1.0, pluginul întreabă mai întâi acest site, la GET /api/aircraft/<address>, și trimite doar adresa ICAO de șase cifre hexazecimale a aeronavei — numărul pe care aeronava însăși îl emite — fără identificator, fără id de instalare și fără cookie. Despre fiecare aeronavă se întreabă o singură dată, iar răspunsul este păstrat pe propria dvs. mașină, deci nu se mai întreabă din nou. Doar când acest site nu cunoaște o aeronavă sau nu poate fi contactat, pluginul întreabă api.adsbdb.com, un serviciu terț gratuit, așa cum făceau întotdeauna versiunile anterioare. Setul de aeronave pe care le aude un receptor este o indicație aproximativă a locului în care se află, motiv pentru care pluginul este opțional și spune asta înainte să-l instalați.

Ce păstrează acest server despre o căutare: nimic per cerere. Nu se scrie nicio înregistrare statistică și nu se înregistrează în jurnal nici adresa aeronavei, nici adresa de la care a venit cererea. Singura evidență sunt cinci totaluri cumulate de la ultima pornire a serverului — căutări, găsite, negăsite, malformate și limitate ca rată — pe care le arată panoul de control. Pentru a împiedica pe oricine să copieze tabelul în bloc, fiecare adresă care se conectează are o alocare de căutări păstrată în memorie, exact ca la celelalte puncte de acces de aici, și niciodată scrisă pe disc; este uitată când serverul repornește sau când sunt urmărite mai mult de zece mii de adrese, oricare survine mai întâi.

Răspunsurile provin din baza de date de aeronave OpenSky Network (opensky-network.org): pentru fiecare aeronavă, înmatricularea, indicatorul de tip, producătorul, modelul și, acolo unde este înregistrat, operatorul. OpenSky oferă baza de date ca atare și le cere utilizatorilor să citeze: Matthias Schäfer, Martin Strohmeier, Vincent Lenders, Ivan Martinovic și Matthias Wilhelm, „Bringing Up OpenSky: A Large-scale ADS-B Sensor Network for Research”, în Proceedings of the 13th IEEE/ACM International Symposium on Information Processing in Sensor Networks (IPSN), aprilie 2014. Proprietarul înregistrat care figurează acolo nu este copiat pe acest site și nici servit de el, pentru că, în cazul unei aeronave private, acesta este numele unei persoane; doar operatorul, care este o companie aeriană, o forță aeriană sau o firmă, este.

Interfața din browser

FoxSDR își poate servi interfața prin HTTP altor mașini din propria dvs. rețea. Este dezactivată implicit și legată de propria mașină până când schimbați asta; pentru orice legare dincolo de aceasta este necesară o parolă, iar fără ea legarea mai largă este refuzată, nu deschisă. Parolele sunt stocate ca hash (PBKDF2-HMAC-SHA256), iar sesiunile sunt revocate ori de câte ori se schimbă setările. În mod deliberat nu există TLS, pentru că aplicația nu include nicio bibliotecă criptografică și nu va pretinde o securitate a transportului pe care nu o poate oferi — puneți în fața ei un proxy invers sau un tunel privat și nu o expuneți niciodată direct prin port forwarding. Oricine căruia îi dați acces poate vedea și controla ce face receptorul.

Cereri de funcții trimise din aplicație

Aplicația are o casetă „CERE O FUNCȚIE”, pe pagina principală, în care puteți tasta ce ați dori să facă și apăsa TRIMITE. Nimic nu este trimis până nu apăsați acel buton, nu se întâmplă niciodată automat, iar o cerere care nu reușește să ajungă la noi nu este pusă în coadă și nici reîncercată în fundal — ce ați tastat rămâne în casetă, doar în memorie, ca să apăsați din nou TRIMITE, și nu este scris niciodată în fișierul de configurare sau în jurnal. Acesta este tot conținutul unei cereri:

TrimisExempluDe ce
Ce ați tastatPlease add a squelch control to the FLEX decoderCererea însăși: între 10 și 100000 de caractere. Caracterele de control sunt eliminate înainte de stocare; rândurile noi sunt păstrate.
Contactul, dacă l-ați dat[email protected] sau un indicativOpțional, până la 120 de caractere, ca să vă putem pune o întrebare suplimentară. Lăsați-l gol și cererea nu conține nimic care v-ar putea identifica.
Versiunea aplicației0.99.39Din ce build provine cererea.
Sistem de operarewindows, linux sau androidCe platformă a trimis-o.
Arhitecturăx64 sau arm64Ca mai sus.
Numărul schemei1Versiunea contractului de transmisie, astfel încât o schimbare viitoare a formatului să nu poată fi confundată cu unul dintre câmpurile de mai sus.

Ajunge la POST /api/feature-request pe acest site. Adresa dvs. IP este folosită doar pentru a menține rata de trimitere la un nivel rezonabil și nu este scrisă niciodată pe disc — înregistrarea păstrată efectiv este mesajul dvs., adresa de contact dacă ați dat-o, versiunea aplicației, platforma, arhitectura și țara dvs. aproximativă, atunci când căutarea noastră o poate determina din conexiune, și nimic altceva. Este citită de persoana care întreține proiectul, în panoul de administrare, în spatele aceleiași parole ca tot restul de aici, și este păstrată până când este ștearsă din acel panou sau până când cereți. O cerere care a fost rezolvată — adăugată în FoxSDR sau căreia i s-a răspuns în alt mod — poate fi arhivată acolo în loc să fie ștearsă, astfel încât proiectul să poată ține evidența a ce s-a cerut și ce s-a construit; o cerere arhivată este în continuare păstrată, cu tot ce este listat mai sus. Dacă ați dat o adresă de contact și vreți ca cererea să fie ștearsă, scrieți la adresa de mai jos și citați suficient din ce ați trimis ca să poată fi găsită.

Rapoarte de erori și nemulțumiri trimise din aplicație

Imediat sub „CERE O FUNCȚIE”, aplicația are o casetă „EROARE / NU-MI PLACE”, în care spuneți fie că ceva nu funcționează, fie că există ceva ce nu vă place, și apăsați TRIMITE. Funcționează exact ca și caseta pentru cereri de funcții: nimic nu este trimis până nu apăsați acel buton, nimic nu este pus în coadă sau reîncercat în fundal, iar ce ați tastat rămâne doar în memorie — niciodată în fișierul de configurare, niciodată în jurnal. Nu este un raport de prăbușire și nu conține nimic din ce conține un raport de prăbușire. Acesta este tot conținutul unui raport:

TrimisExempluDe ce
Dacă este o eroare sau o nemulțumirebug sau dislikeAlegerea pe care ați făcut-o în partea de sus a casetei: ceva care nu funcționează sau ceva care funcționează așa cum a fost proiectat, dar pe care ați prefera să nu-l facă.
Ce ați tastatThe waterfall freezes when I change the sample rateRaportul însuși: între 10 și 100000 de caractere. Caracterele de control sunt eliminate înainte de stocare; rândurile noi sunt păstrate.
Contactul, dacă l-ați dat[email protected] sau un indicativOpțional, până la 120 de caractere, ca să vă putem pune o întrebare suplimentară. Lăsați-l gol și raportul nu conține nimic care v-ar putea identifica.
Versiunea aplicației0.99.39Din ce build provine raportul, ca o eroare deja remediată să nu fie urmărită din nou.
Sistem de operarewindows, linux sau androidCe platformă a trimis-o.
Arhitecturăx64 sau arm64Ca mai sus.
Numărul schemei1Versiunea contractului de transmisie, astfel încât o schimbare viitoare a formatului să nu poată fi confundată cu unul dintre câmpurile de mai sus.

Ajunge la POST /api/problem-report pe acest site. Adresa dvs. IP este folosită doar pentru a menține rata de trimitere la un nivel rezonabil și nu este scrisă niciodată pe disc — înregistrarea păstrată efectiv este dacă a fost o eroare sau o nemulțumire, mesajul dvs., adresa de contact dacă ați dat-o, versiunea aplicației, platforma, arhitectura și țara dvs. aproximativă, atunci când căutarea noastră o poate determina din conexiune, și nimic altceva. Este citită de persoana care întreține proiectul, în panoul de administrare, în spatele aceleiași parole ca tot restul de aici, iar un raport este păstrat până când este șters din acel panou sau până când cereți. Un raport care a fost rezolvat — remediat în FoxSDR sau căruia i s-a răspuns în alt mod — poate fi arhivat acolo în loc să fie șters; un raport arhivat este în continuare păstrat, cu tot ce este listat mai sus. Dacă ați dat o adresă de contact și vreți ca raportul să fie șters, scrieți la adresa de mai jos și citați suficient din ce ați trimis ca să poată fi găsit.

Site-ul web: ce se înregistrează când îl vizitați

Pentru fiecare afișare de pagină și fiecare descărcare se scrie o înregistrare, indiferent dacă acceptați sau nu cookie-urile. Acestea sunt statistici primare: datele rămân pe serverul care servește acest site, nu sunt partajate cu o rețea de publicitate și nu există niciun script terț pe pagină.

ÎnregistratDe unde provineNecesită consimțământ
Data și ora, pagina cerută, metoda și protocolul HTTPCerereaNu
Adresa dvs. IP și un hash cu sare al eiConexiuneaNu
Locația aproximativă: țara, regiunea, orașul, zona codului poștal, fusul orar și coordonatele acelui oraș — nu ale dvs.Adresa IP, căutată prin ip-api.comNu
Rețeaua dvs.: furnizorul de internet, organizația, numărul AS și dacă adresa este un VPN, un centru de date sau o rețea mobilă cunoscutăAceeași căutareNu
Browserul și versiunea, sistemul de operare și versiunea, tipul dispozitivului și dacă cererea pare să provină de la un botAntetul User-AgentNu
Ce pagină v-a trimis aici și orice etichete de campanie de pe link (utm_source și cele asemănătoare)Antetul Referer și URL-ulNu
Limbile preferateAntetul Accept-LanguageNu
Ce fișier ați descărcat, versiunea lui, câți octeți au fost trimiși și dacă transferul s-a încheiatDescărcarea însășiNu
Dimensiunea ecranului și a ferestrei, raportul de pixeli, adâncimea de culoareBrowserul dvs., raportat de scriptul acestei paginiDa
Numărul de nuclee CPU și memoria aproximativă a dispozitivuluiAcelași scriptDa
Fusul orar, lista de limbi, preferința pentru modul întunecat, suportul tactil, platformaAcelași scriptDa
Tipul conexiunii, viteza estimată de descărcare și timpul dus-întorsAcelași scriptDa
Cât timp a fost vizibilă pagina, cât de mult ați derulat, câte clicuri și ce butoane ați apăsatAcelași scriptDa

Ce nu se face în mod deliberat

  • Nicio amprentare a browserului: nicio sondare canvas, audio, a fonturilor sau WebGL și nimic care să încerce să vă reidentifice după ce ați refuzat.
  • Niciun instrument de urmărire terț, pixel publicitar, widget social sau serviciu de statistici. Nimic de pe această pagină nu se încarcă de pe alt domeniu.
  • Nicio încercare de a vă citi clipboardul, bateria, camera, microfonul, parolele salvate sau istoricul de navigare — niciunul dintre ele nu are ce căuta pe o pagină de descărcare.
  • Datele dvs. nu sunt vândute, închiriate sau partajate cu nimeni. Singura cerere externă pe care serverul o face despre dvs. este căutarea IP-locație descrisă mai sus.

Designuri de interfață pe care le publicați

Acest site poate păstra un design de interfață FoxSDR — un pachet .foxui — pe care alegeți să îl publicați. Nu se trimite nimic până nu apăsați Publish, iar trimiterea merge la POST /api/gui/publish. Se păstrează ce conține pachetul: designul propriu-zis, numele, versiunea și descrierea pe care le-ați scris, un nume de autor dacă ați scris unul, momentul publicării și un identificator aleatoriu. Adresa dvs. IP este folosită doar pentru a menține ritmul publicărilor în limite rezonabile și nu este scrisă niciodată pe disc. Un pachet publicat nu apare în nicio listă; oricine are linkul lui îl poate descărca. Este păstrat până când este șters din panoul de administrare sau până când cereți acest lucru — scrieți la adresa de mai jos și indicați linkul lui.

Dacă vă înscrieți ca tester beta

Formularul beta și înscrierea la știri sunt singurele locuri în care acest site vă cere ceva, în afară de publicarea unui design de interfață (vezi mai sus). Trimiterea lui stochează adresa dvs. de e-mail și oricare dintre următoarele ați ales să le dați: un nume sau un indicativ, platforma, radioul pe care intenționați să-l folosiți, notele dvs. și lista de funcții pe care v-ați oferit să le testați. Alături de acestea păstrăm același context al vizitei descris mai sus — locația aproximativă, rețeaua, browserul și sistemul de operare — pentru că un raport de eroare se citește foarte diferit în funcție de configurația din care provine.

  • Adresa este folosită pentru un singur lucru: să vă contactăm despre build-urile beta și ce este de testat. Fără newsletter, fără marketing, iar adresa nu este transmisă niciodată altcuiva.
  • Nimic nu se întâmplă până nu confirmați. Înscrierea trimite un e-mail cu un cod din șase cifre, pe care îl introduceți în pagină ca să confirmați că adresa vă aparține. Codul este valabil 30 de minute și este refuzat după cinci încercări greșite. Până nu este introdus, înregistrarea este inactivă: nu sunteți pe lista de testeri, nu sunteți numărat și nu vi se mai trimite nimic. Dacă altcineva v-a introdus adresa, ignorați acel e-mail și înregistrarea nu devine niciodată reală — nu există nimic de la care să vă dezabonați și nicio acțiune pe care trebuie să o faceți. Acel mesaj este singurul e-mail automat pe care îl poate produce o înscriere.
  • Dacă ne-ați scris, vă putem invita. Cineva care ne-a scris și a lăsat o adresă — prin caseta de funcții a aplicației, de exemplu — poate primi de la noi o singură invitație personală, cu un link de unică folosință care deschide tasta Confirmă a acestui site. Acea invitație este păstrată ca înregistrare în așteptare, exact ca o înscriere neconfirmată: nu sunteți tester și nu sunteți numărat decât dacă apăsați Confirmă, iar dacă o ignorați, nu vă mai scriem. O înregistrare în așteptare nu expiră de la sine; este ștearsă când o eliminăm de pe listă sau când cereți, printr-un e-mail la adresa de mai jos.
  • După ce confirmați, primiți linkul privat de administrare, iar noi vă scriem când apare un build care are nevoie de ce v-ați oferit să testați. Vă scrie un om, nu o listă de corespondență. Dacă pierdeți linkul, vă putem emite unul nou: cel vechi nu mai funcționează imediat, cel nou vă este trimis prin e-mail, iar noi păstrăm momentul în care s-a făcut asta și dacă e-mailul a plecat.
  • Acel e-mail trece prin Apple. Corespondența pentru foxsdr.com este transportată de serviciul iCloud Mail al Apple, așa că adresa dvs. și mesajul trec prin serverele lor în drum spre dvs., conform termenilor lor ca furnizor de e-mail al nostru. Nimic altceva despre dvs. nu le este trimis.
  • Este ținută separat de statistici. Înscrierile se află într-un fișier propriu, care poate fi citit doar de contul care rulează serverul; jurnalul de statistici înregistrează că a avut loc o înscriere și câte funcții au fost alese, niciodată cine. Un test automat face build-ul să eșueze dacă o adresă ajunge vreodată în jurnalul de statistici.
  • O nouă înscriere cu o adresă care este deja pe listă nu modifică acea înregistrare. Modificările se fac din propria dvs. pagină de tester. În schimb, adresei i se trimite un singur e-mail: linkul ei privat dacă a fost confirmată sau un cod nou dacă nu, și niciodată mai des de o dată la 15 minute.
  • Păstrăm o copie a ceea ce v-am trimis. Fiecare mesaj pe care acest site îl trimite unui tester — confirmarea și fiecare mesaj despre un build — este păstrat împreună cu textul lui, ca să putem vedea ce s-a spus și dacă a ajuns. Copia este arhivată sub id-ul dvs. intern, nu sub adresă, iar părțile personale din ea (codul sau linkul de confirmare și propriul link de administrare) sunt eliminate înainte de stocare, astfel încât un mesaj păstrat nu poate fi folosit niciodată pentru a acționa în numele dvs. Aceste copii sunt șterse împreună cu restul înregistrării dvs. când plecați.
  • Mesajele dintre dvs. și noi sunt păstrate. Caseta Mesaje din portalul dvs. de tester este o conversație cu persoana care dezvoltă FoxSDR: ce vă scriem și ce răspundeți, fiecare cu ora la care a fost scris și, dacă ați ales unul, raportul la care se referă. Este păstrată sub identificatorul dvs. intern, nu sub adresa dvs., și numai dvs. (cu linkul dvs. privat) și noi o putem citi. Notăm și când ați avut mesajele noastre pe ecran, ca să știm că v-au ajuns. Cât timp pagina dvs. este deschisă, ea cere mesaje noi la fiecare câteva secunde, așa că acestea apar de îndată ce sunt scrise, și spune cât timp a trecut de când ați folosit-o ultima dată; cât timp continuă să ceară, și încă o jumătate de minut după aceea, și numai dacă ați folosit-o în ultimele cinci minute, serverul știe că sunteți acolo. Informația este ținută doar în memoria lui și nu este scrisă nicăieri. Nu vă trimitem un e-mail pentru fiecare mesaj: când scriem cât timp nu sunteți aici, primiți un singur e-mail scurt care spune că vă așteaptă un mesaj, cu linkul dvs. și fără mesajul propriu-zis. Cât timp acel mesaj este necitit, nu urmează niciun alt astfel de e-mail timp de până la 12 ore, nici în jumătatea de oră de după cel anterior; iar dacă erați pe pagină când am scris, dar după zece minute încă nu ați văzut mesajul, e-mailul pleacă atunci. O copie a acestuia este păstrată așa cum este descris mai sus; când scrieți dvs., nu se trimite niciun e-mail. Conversația este păstrată până când plecați sau ne cereți s-o ștergem, iar plecarea o șterge în întregime.
  • Păstrată până la încheierea programului beta sau până când cereți. Un singur e-mail la adresa de mai jos vă elimină și șterge înregistrarea — nu trebuie să dați niciun motiv.
  • Temeiul legal aici este consimțământul dvs., dat prin bifarea casetei; formularul nu se trimite fără el.

Dacă vă abonați la știri prin e-mail

Pagina de știri cere un singur lucru: adresa dvs. de e-mail. Este păstrată ca să vă putem scrie când apare o versiune nouă de FoxSDR și, din când în când, despre ce se construiește. Nu este folosită pentru nimic altceva și nu este transmisă niciodată nimănui.

  • Nimic nu se întâmplă până nu confirmați. Abonarea trimite un e-mail cu un cod din șase cifre de introdus în pagină. Până nu este introdus, nu se trimite nimic altceva, iar o adresă care nu a fost confirmată în decurs de o săptămână este ștearsă - de un cod care rulează zilnic pe server. Dacă altcineva v-a introdus adresa, ignorați acel e-mail.
  • Fiecare e-mail conține un link care vă scoate de pe listă cu o singură apăsare. Plecarea șterge adresa din fișierul serverului, împreună cu copiile păstrate de noi ale mesajelor care i-au fost trimise; nu se păstrează nimic despre ea.
  • Este o listă separată. Un abonat la știri nu este tester beta: adresa este păstrată într-un fișier separat, care poate fi citit doar de contul care rulează serverul, și nu este numărată sau afișată ca tester. Dacă sunteți și tester, primiți fiecare mesaj o singură dată.
  • Păstrăm o copie a ceea ce v-am trimis, arhivată sub un id intern în loc de adresă, cu codul de confirmare și linkul de dezabonare eliminate, exact ca la testeri.
  • Acel e-mail trece prin Apple, așa cum este descris mai sus pentru testeri.
  • Jurnalul de statistici înregistrează că a avut loc o abonare, niciodată cine.
  • Temeiul legal este consimțământul dvs., dat prin bifarea casetei; formularul nu se trimite fără el.

Cookie-uri

CookieScopDurată
fox_consentReține dacă ați acceptat sau ați refuzat, ca să fiți întrebat o singură dată1 an (acceptat) / 6 luni (refuzat)
fox_vidUn identificator aleator, astfel încât o vizită repetată să fie recunoscută ca provenind de la același browser. Setat doar dacă acceptați.400 de zile
fox_sidGrupează o vizită într-o sesiune. Setat doar dacă acceptați.30 de minute de inactivitate
fox_betaPăstrează linkul dvs. de tester beta, ca să puteți reveni la propria înregistrare. Setat doar dacă vă înscrieți ca tester și doar pentru că acesta este lucrul pe care l-ați cerut — nu măsoară nimic, deci nu face parte din alegerea privind statisticile de mai sus. Eliminarea dvs. de pe listă îl șterge.400 de zile
foxsdr_langReține limba pe care ați ales-o pentru acest site, astfel încât și pagina următoare să fie în ea. Setat doar când alegeți singur o limbă — cu selectorul de limbă sau cu un link care conține ?lang= — și nu păstrează nimic altceva decât codul acelei limbi, de exemplu es. Nu măsoară nimic, deci nu face parte din alegerea privind statisticile de mai sus.1 an
fox_news_joinedNu este un cookie: un indicator în spațiul de stocare propriu al browserului, care nu ne este trimis niciodată. După o descărcare, site-ul vă întreabă dacă doriți știrile prin e-mail; după ce v-ați abonat și ați confirmat din acest browser, nu mai întreabă. Nu păstrează nimic altceva decât 1 și doar dacă v-ați abonat.Până când ștergeți datele acestui site

Dacă refuzați, nu se setează niciun cookie de identificare. Vizitele sunt atunci grupate după un hash al adresei și al browserului, care se schimbă zilnic, care deosebește vizitatorii în scopul numărării și nu poate fi folosit pentru a vă urmări de la o zi la alta sau de la un site la altul. Vă puteți răzgândi ștergând cookie-urile acestui site și reîncărcând pagina.

Ce limbă vedeți

Paginile pot fi afișate și în alte limbi decât engleza. Limba primită se decide pe server, pentru fiecare pagină cerută, în această ordine: o limbă pe care ați ales-o singur (cookie-ul foxsdr_lang de mai sus sau ?lang= în link); altfel, limbile pe care browserul spune că le preferați, din antetul lui Accept-Language; altfel, limba principală a țării din care provine conexiunea, pe care Cloudflare, rețeaua din fața acestui site, o transmite împreună cu cererea sub forma unui cod de țară din două litere (CF-IPCountry); altfel, engleza. Nu se stochează nimic pentru a face această alegere: antetul și codul de țară sunt citite pentru acel singur răspuns și nu sunt păstrate în acest scop. Sunt aceleași două lucruri pe care tabelul de mai sus le listează deja ca fiind înregistrate la fiecare afișare de pagină, unde codul de țară este folosit când propria noastră căutare a adresei nu are un răspuns. Traducerile sunt făcute automat, iar pentru această notă și pentru licențe textul în engleză este cel obligatoriu.

De ce și pe ce temei

Scopul este restrâns: să știm câți oameni găsesc acest proiect, aproximativ unde se află, pe ce îl rulează și câți ajung să-l descarce. Asta decide dacă munca continuă și ce se construiește în continuare.

Înregistrările de pe server sunt păstrate în temeiul interesului legitim de a înțelege și de a securiza site-ul. Detaliile raportate de browser și cookie-urile de identificare sunt păstrate în temeiul consimțământului dvs., motiv pentru care se află în spatele bannerului și pentru care refuzul nu vă costă nimic pe acest site.

Cât timp sunt păstrate și cine le vede

Înregistrările sunt păstrate 24 de luni și apoi șterse. Se află într-un fișier pe server, în spatele unui panou de control protejat prin parolă pe care îl poate deschide doar persoana care întreține proiectul. Nu există alți destinatari și niciun transfer către o țară terță în afara căutării IP deja descrise.

Două lucruri sunt păstrate mai puțin timp. Rapoartele de prăbușire și de blocare sunt șterse la 90 de zile după ultima apariție a defectului pe care îl descriu, iar rapoartele de utilizare prelucrate de Cloudflare sunt șterse după trei luni. Fiecare dintre aceste perioade este impusă de un cod care rulează zilnic pe server, nu de cineva care își amintește să o facă.

Drepturile dvs.

Dacă vă aflați în Regatul Unit sau în UE, puteți cere o copie a datelor deținute despre dvs., puteți cere corectarea sau ștergerea lor ori vă puteți opune colectării lor — inclusiv în cazul înregistrărilor de pe server care nu depind de consimțământ. Identificatorul practic pentru găsirea înregistrărilor dvs. este adresa IP pe care o aveați în momentul vizitei, așa că vă rugăm să o includeți, împreună cu momentul aproximativ al vizitei.

Pentru aplicație, comenzile se află chiar în software și sunt trei:

  • SISTEM → Raportare utilizare oprește raportul de utilizare și semnalul de la cinci minute și șterge identificatorul de instalare. Dacă o reactivați mai târziu, primiți un identificator nou, care nu poate fi legat de cel vechi.
  • SISTEM → Diagnostic oprește scrierea și trimiterea rapoartelor de prăbușire și de blocare.
  • SISTEM → Actualizări oprește verificarea actualizărilor.

Rapoartele nu conțin nimic care să poată fi legat de dvs., deci nu există nimic la care să cereți acces; dacă doriți ca un identificator de instalare să fie eliminat din rapoartele deja trimise, scrieți la adresa de mai jos și citați-l, iar acesta va fi șters.

Copii. FoxSDR este un instrument tehnic pentru pasionații de radio. Nu se adresează copiilor, nu colectează informații personale de la nimeni și, prin urmare, nu colectează niciuna de la copii.

Scrieți la [email protected]. Puteți depune și o plângere la Information Commissioner's Office (ico.org.uk) dacă considerați că acest lucru a fost gestionat necorespunzător.

Ultima actualizare: 24 septembrie 2026, pentru FoxSDR 0.99.39 — build-ul oferit în prezent de acest site și cel cu a cărui sursă a fost verificată fiecare afirmație de mai sus. FoxSDR este publicat de Steven Fox; scrieți la adresa de mai sus pentru orice întrebare despre această notă sau pentru a cere ștergerea unui identificator de instalare din rapoartele deja trimise. Dacă această notă nu mai corespunde vreodată cu ce face software-ul, software-ul este cel greșit — colectarea site-ului este implementată în store.go și app.js, ambele lizibile în sursa proprie a site-ului, iar lista proprie a aplicației este livrată împreună cu ea ca PRIVACY.md, cu un test care leagă conținutul trimis de ea.