Quyền riêng tư và cookie
Thông báo này bao gồm hai thứ riêng biệt: ứng dụng FoxSDR mà bạn cài, và trang web này. Chúng thu thập dữ liệu khác nhau, vì những lý do khác nhau, và được mô tả riêng dưới đây — ứng dụng trước, vì đó là phần chạy trên máy của chính bạn. Thông báo được viết để đầy đủ hơn là ngắn gọn: mọi trường mà một trong hai lưu lại đều được liệt kê, kể cả những trường mà hầu hết các thông báo bỏ qua.
Ứng dụng: những gì nó gửi
Không có tài khoản, không khóa bản quyền và không kích hoạt, và FoxSDR không bao giờ báo cáo bất cứ điều gì về những gì bạn nghe. Tự nó chỉ thực hiện đúng bốn loại yêu cầu mạng: một lần kiểm tra cập nhật; một báo cáo sử dụng ẩn danh, kèm một nhịp nhỏ “vẫn đang chạy” khi ứng dụng đang mở; một báo cáo sập hoặc treo sau khi có lỗi; và — chỉ khi bạn mở kho plugin hoặc bấm KIỂM TRA NGAY trong đó — một yêu cầu tới danh mục plugin. Mỗi loại được mô tả dưới đây, từng trường một, và mỗi loại đều có thể tắt. Ba công tắc điều khiển chúng: HỆ THỐNG → Cập nhật, HỆ THỐNG → Báo cáo sử dụng và HỆ THỐNG → Chẩn đoán. Không tính năng nào phụ thuộc vào việc bật bất kỳ công tắc nào, và không có gì nhắc nhở bạn khi bạn tắt một công tắc.
Những gì ở lại trên máy của bạn
Các bản ghi của bạn, cả âm thanh lẫn I/Q thô, các ảnh mà bộ giải mã SSTV và vệ tinh thời tiết dựng nên, mọi thứ các bộ giải mã giải mã được, dấu trang, quy hoạch băng tần, cài đặt, vị trí máy thu và các plugin đã cài của bạn đều là tệp trên đĩa của chính bạn. Không có gì tải chúng lên, và không tần số nào bạn chỉnh tới rời khỏi máy của bạn.
Kiểm tra cập nhật
Mỗi lần khởi động, ứng dụng hỏi trang này xem có phiên bản mới hơn không. Toàn bộ yêu cầu là GET /api/update?v= theo sau là phiên bản bạn đang chạy — không mã định danh, không mã cài đặt, không cookie, và không gì có thể gắn với một yêu cầu sau này. Máy chủ này không ghi bản ghi phân tích nào cho nó: chỉ lượt xem trang và lượt tải tệp được ghi lại, và điểm cuối cập nhật không thuộc loại nào trong hai loại đó. Tắt nó trong HỆ THỐNG → Cập nhật, và ứng dụng sẽ không bao giờ liên hệ dịch vụ này nữa.
Phản hồi cũng có thể kèm một thông điệp ngắn từ chúng tôi gửi đến người đang dùng phiên bản cũ hơn — ví dụ cho bạn biết một bản phát hành sửa lỗi đáng để cập nhật — hiển thị trong cùng biểu ngữ cập nhật với ghi chú phiên bản. Không có thêm gì được gửi hay ghi lại để làm được điều này: nó nằm trong cùng yêu cầu nêu trên, theo cùng lịch, dưới cùng một công tắc.
Không có gì được tải về hay cài đặt trừ khi bạn bấm nút. Nếu bạn bấm, trình cài đặt được tải từ trang web này qua HTTPS và SHA-256 của nó được đối chiếu với giá trị băm mà máy chủ đã công bố trước khi tệp được đặt một cái tên mà bất cứ thứ gì có thể chạy — và lượt tải đó là một lượt tải bình thường từ trang này, nên nó được ghi lại như mọi lượt tải khác, với địa chỉ IP, vị trí gần đúng, trình duyệt và hệ điều hành như mô tả trong nửa về trang web của thông báo này.
Bản cài từ Microsoft Store sẽ hỏi Microsoft Store thay vì trang web này, không bao giờ hỏi trang này (từ FoxSDR 0.99.53). Mỗi lần khởi chạy một lần, khi HỆ THỐNG → Cập nhật → Hỏi Microsoft Store về bản cập nhật khi khởi động được chọn, FoxSDR hỏi dịch vụ Store của chính Windows xem có gói mới hơn cho bản này không. Không có gì của FoxSDR được gửi trong yêu cầu đó — không phiên bản, không mã định danh: Windows xác định ứng dụng với Microsoft bằng danh tính gói mà nó đã có, như với các bản cập nhật nền của chính Store. Phản hồi chỉ nằm trong ứng dụng. Không có gì được tải xuống hay cài đặt trừ khi bạn nhấn Cài đặt từ Microsoft Store và xác nhận hộp thoại do Windows hiển thị; việc tải và cài đặt khi đó thuộc về Microsoft, theo tuyên bố quyền riêng tư của Microsoft. Bỏ chọn ô này thì Store sẽ không được hỏi.
Báo cáo sử dụng
Từ phiên bản 0.53.0 có một báo cáo sử dụng ẩn danh, trong HỆ THỐNG → Báo cáo sử dụng. Nó bật theo mặc định, và bạn có thể tắt nó — bỏ chọn ô đó và việc báo cáo dừng ngay lập tức. Mỗi lần khởi động gửi một báo cáo, mô tả phiên vừa kết thúc, và đây là toàn bộ nội dung của nó:
| Dữ liệu gửi | Ví dụ | Lý do |
|---|---|---|
| Mã cài đặt | 32 ký tự hex ngẫu nhiên | Phân biệt 100 người dùng với một người dùng khởi động 100 lần. Được tạo ngẫu nhiên trên máy của bạn trong lần chạy đầu tiên, bị xóa khi bạn tắt báo cáo, và không bao giờ được suy ra từ phần cứng, mạng hay tên của bạn. |
| Phiên bản ứng dụng | 0.99.42 | Mọi người có cập nhật hay không. Bản alpha Android báo bản dựng của nó là 0.98.1-android.4 — một hậu tố -android.N gắn vào số phiên bản phát hành mà nó được dựng từ đó, để các báo cáo của nó không bao giờ bị nhầm với báo cáo của trình cài đặt Windows. |
| Hệ điều hành | Windows 10.0.22631, Linux 6.8.0 hoặc Android 14 | Nền tảng nào thực sự được dùng. Hệ điều hành và số bản dựng, nhân hoặc phiên bản phát hành của nó, không bao giờ là tên máy hay tài khoản người dùng của bạn. Bản dựng Linux (0.99.42) và bản alpha Android (0.98.1-android.4) gửi cùng các trường, dưới cùng một công tắc. |
| Kiến trúc | x64 hoặc arm64 | Như trên. |
| Cách nó được cài đặt | installer | Một trong số store (Microsoft Store), installer (trình cài đặt Windows), appimage hoặc tarball (các bản tải Linux và Raspberry Pi), hoặc android. Được đọc từ chương trình đang chạy, không bao giờ được ghi lại khi cài đặt. Không thể phân biệt foxsdr.com với GitHub, vì cả hai đều phục vụ cùng các tệp. |
| Lần chạy đầu tiên | 2026-09-29 | Ngày — không bao giờ là giờ — khi mã định danh cài đặt của bạn được tạo, theo UTC. Bị xóa cùng với mã định danh khi bạn tắt báo cáo. Phân biệt người dùng mới với người dùng lâu năm. Trống đối với các bản sao có mã định danh cũ hơn FoxSDR 0.99.47. |
| Phiên bản đầu tiên | 0.99.47 | Phiên bản đã tạo mã định danh — bạn đã bắt đầu từ bản tải xuống nào. Bị xóa cùng với nó, giống như lần chạy đầu tiên. |
| Số lần khởi động | 12 | Phần mềm có được dùng nhiều hơn một lần hay không. |
| Số lần sập | 1 | Nó hỏng thường xuyên tới đâu. |
| Các lần thoát bất thường theo nguyên nhân, từ FoxSDR 0.99.69 | 1, 0, 0, 0 | Số lần sập ở trên đếm mọi phiên kết thúc mà không đóng bình thường — một lần sập, nhưng cũng có thể là cửa sổ bị kết thúc từ Task Manager, hoặc mất điện. Bốn con số này cho biết là loại nào: chết (FoxSDR bị lỗi: nó sập, hoặc cửa sổ ngừng vẽ rồi bị kết thúc), bị tắt (bị kết thúc từ bên ngoài khi đang hoạt động bình thường — Task Manager, taskkill, một trình cài đặt, một cửa sổ console bị đóng), do hệ thống kết thúc (đăng xuất hoặc tắt máy) và không rõ (không có gì được ghi lại: Chẩn đoán tắt, hoặc mất điện). Mỗi lần thoát bất thường thuộc đúng một loại. Đây chỉ là các con số trần, không bao giờ đặt lại, giống số lần sập: không thêm nội dung báo cáo, mã thoát, tên mô-đun hay thời điểm trong ngày. FoxSDR quyết định ngay trên máy của bạn, ở lần khởi động tiếp theo, dựa trên các báo cáo mà Chẩn đoán đã ghi sẵn ở đó; khi Chẩn đoán tắt thì không đọc gì và mọi lần thoát bất thường đều được tính là không rõ. Thời điểm phiên trước bắt đầu được lưu trong tệp cài đặt của bạn, để chỉ xem các báo cáo được ghi từ đó trở đi; nó không bao giờ được gửi. |
| Khựng màn hình, từ FoxSDR 0.99.62 | 0 | Số lần cửa sổ bị treo vì trình điều khiển màn hình đang chờ, chứ không phải FoxSDR — màn hình bị tắt, trình điều khiển đồ họa bị đặt lại, một phiên máy tính từ xa kết nối lại. Đó chỉ là một con số, không có ngăn xếp, không có tên trình điều khiển và không có giờ trong ngày: báo cáo của một lần treo như vậy ở lại trên máy của bạn và không bao giờ được gửi. Nó chỉ được đếm khi cả Báo cáo sử dụng và Chẩn đoán đều bật. Để một lần treo mà bạn kết thúc từ thanh tác vụ vẫn được đếm, con số được giữ trong một tệp nhỏ tên là telemetry-stalls bên cạnh tệp cài đặt của bạn, cùng với mã cài đặt của bạn, cho đến khi máy chủ nhận một báo cáo mang nó; tắt báo cáo sử dụng sẽ xóa tệp. |
| Bộ đếm lỗi, từ FoxSDR 0.99.64 | radio_fail.rtlsdr.busy=2 | Số lần có việc gì đó lặng lẽ không chạy được, dưới dạng bộ đếm từ một danh sách loại cố định: một radio không mở được (trình điều khiển và một trong tám lý do), không có đầu ra âm thanh, một bản cập nhật hoặc lần cài plugin thất bại, một plugin bị từ chối khi nạp, một bản ghi không bắt đầu được — và có bao nhiêu radio và đầu ra âm thanh đã mở được, để một lỗi có cái mà so sánh. Chỉ là các từ trong danh sách đó và các con số, không bao giờ là tên thiết bị, số sê-ri, đường dẫn, tần số hay nội dung thông báo. Chúng chỉ được đếm khi cả Báo cáo sử dụng và Chẩn đoán đều bật, và trường này để trống với phần lớn mọi người. |
| Khung hình chậm và các lần phục hồi, từ FoxSDR 0.99.65 | slow.rail.250ms=3,recovered.audio=1 | Cùng trường này còn mang số lần cửa sổ vẽ một khung hình chậm và ở phần nào của việc vẽ — một trong mười tám phần của danh sách cố định — cùng một trong ba độ dài: một phần tư giây, một giây hoặc năm giây — và số lần FoxSDR gặp lỗi rồi tự tiếp tục, ở một trong mười ba chỗ của danh sách cố định: đầu ra âm thanh được khởi động lại, một radio được mở lại sau lỗi trình điều khiển, một lần lưu cài đặt thất bại, v.v. Chỉ là các từ trong những danh sách đó và các con số, không bao giờ là tên thiết bị, số sê-ri, đường dẫn, tần số hay nội dung thông báo. Chúng chỉ được đếm khi cả Báo cáo sử dụng và Chẩn đoán đều bật, và trường này để trống với phần lớn mọi người. |
| Độ dài phiên | 3600 giây | Các phiên kéo dài vài phút hay vài giờ. |
| Mẫu SDR | uhd b200 | Nên ưu tiên radio nào. Số sê-ri được loại bỏ trước khi gửi. |
| Các bộ giải điều chế đã dùng, và trong bao lâu | WFM: 3000s | Chế độ nào đáng để làm tiếp. |
| Các bảng đã mở | map, decoded | Tính năng nào được dùng. |
| Plugin đã cài | ADS-B 1.0.0 | Bộ giải mã nào đáng để làm tiếp. Một plugin bạn đã cài từ một trang plugin bạn đã thêm (từ FoxSDR 0.99.74) là plugin đã lắp như mọi plugin khác: tên và phiên bản của nó xuất hiện ở đây, còn địa chỉ của trang thì không. |
Đó là danh sách đầy đủ. Nó đi kèm ứng dụng dưới dạng PRIVACY.md, và một bài kiểm thử tự động kiểm tra dữ liệu gửi đi từng trường một, nên không thể thêm một trường mới mà bài kiểm thử đó không thất bại và cả hai tài liệu không được cập nhật. Tắt báo cáo sẽ xóa mã cài đặt, nên nếu có lúc bạn bật lại, bạn sẽ nhận một mã mới không thể liên kết với mã cũ.
Báo cáo được gửi lúc khởi động, mô tả phiên đã kết thúc, và không bao giờ lúc thoát — một lệnh gọi mạng khi đang thoát có thể làm treo một ứng dụng mà ai đó đang cố đóng, và một báo cáo viết lúc thoát sẽ bị mất đúng vào sự kiện đáng đếm nhất. Không có gì trong phản hồi được đọc hay xử lý.
Bộ đếm lỗi đầy đủ (từ FoxSDR 0.99.64). Trường này là một đoạn văn bản ngắn gồm các cặp kind=count, ví dụ radio_fail.rtlsdr.busy=2 — một RTL-SDR hai lần không mở được vì một chương trình khác đang dùng nó. FoxSDR dựng mỗi loại từ một bảng cố định và không gửi gì không có trong đó, còn máy chủ nhận sẽ loại bỏ mọi thứ không có trong cùng bảng đó. Khi một lý do được đọc ra từ điều trình điều khiển đã nói, FoxSDR chọn một từ trong danh sách cố định và vứt câu đó đi. Để một lỗi trong phiên sau đó bị sập vẫn được báo cáo, các bộ đếm chờ trong một tệp nhỏ tên là telemetry-health bên cạnh tệp cài đặt của bạn, cùng với mã cài đặt của bạn, cho đến khi máy chủ nhận một báo cáo mang chúng; tắt báo cáo sử dụng sẽ xóa tệp.
Khung hình chậm và các lần phục hồi, đầy đủ (từ FoxSDR 0.99.65). Chúng nằm trong cùng trường đó và cùng dạng kind=count. slow.rail.250ms=3 là ba khung hình của cửa sổ mà mỗi khung mất một phần tư giây trở lên, ở phần của việc vẽ là cột menu. Phần đó là một trong mười tám từ, events, frame-start, pre-draw, plugin-panels, toolbar, rail, spectrum, patch, status, dialogs, polls, saves, render, present, recorder, plugins-reload, startup, other, còn mức độ chậm là một trong ba: 250ms cho từ một phần tư giây đến dưới một giây, 1s cho từ một giây đến dưới năm giây và 5s cho năm giây trở lên. Thời gian bạn dành để trả lời một lời nhắc của Windows, hoặc để kéo hay đổi kích thước cửa sổ, được trừ ra và không bao giờ được tính. recovered.audio=1 là một lần FoxSDR gặp lỗi và tự tiếp tục. Từ đó là một trong mười ba chỗ, audio, reopen, srcthread, vendorcall, ringdrop, dspexc, cfgsave, enumchild, pluginapi, webroute, patchload, sdrenum, sdrlost, theo thứ tự này: đầu ra âm thanh dừng và bộ canh đã khởi động lại nó; trình điều khiển radio SoapySDR gặp lỗi và FoxSDR tự mở lại radio; một trình điều khiển radio không bao giờ trở về từ một lần đọc khi bộ thu đã dừng và FoxSDR thả luồng đó đi; một lời gọi vào mô-đun hãng SoapySDR không trở về kịp lúc và bị thả đi; radio đưa mẫu ra nhanh hơn mức chúng được lấy đi và một số bị bỏ; luồng xử lý tín hiệu ném ra một lỗi đã bị bắt và bộ thu dừng; không ghi được tệp cài đặt; trình hỗ trợ liệt kê các radio SoapySDR đã chết và bị khoanh vùng; một lời gọi plugin vào FoxSDR ném ra lỗi và được trả lời bằng giá trị mặc định; một bộ xử lý của giao diện web ném ra lỗi và máy chủ trả lời bằng một thất bại; một bảng nối đã lưu được nạp thiếu một số kết nối; dịch vụ SDRplay không trả lời một lần quét và lần quét bị thả đi; phiên SDRplay bị mất và SDRplay bị đóng trong phần còn lại của phiên. FoxSDR dựng mỗi mục từ một bảng cố định và không gửi gì không có trong đó, còn máy chủ nhận sẽ loại bỏ mọi thứ không có trong cùng bảng đó, nên không bao giờ có tên thiết bị, số sê-ri, đường dẫn, tần số hay nội dung thông báo; một báo cáo mang tối đa tám loại khung hình chậm tệ nhất và tám loại phục hồi. Chúng được đếm dưới cùng hai công tắc với bộ đếm lỗi, chỉ khi cả Báo cáo sử dụng và Chẩn đoán đều bật, chúng chờ trong cùng một tệp nhỏ tên là telemetry-health bên cạnh tệp cài đặt của bạn cho đến khi máy chủ nhận một báo cáo mang chúng, và tắt báo cáo sử dụng sẽ xóa tệp.
Nhịp “vẫn đang chạy”
Một báo cáo đến khi ứng dụng khởi động có thể cho biết ai đã mở nó nhưng không bao giờ cho biết ai vẫn đang mở nó. Vì vậy, khi FoxSDR đang chạy — và chỉ khi báo cáo sử dụng đang bật — nó cũng gửi một thông điệp rất nhỏ mỗi năm phút, mang ba trường và không gì khác:
| Dữ liệu gửi | Ví dụ | Lý do |
|---|---|---|
| Mã cài đặt | cùng 32 ký tự hex như ở trên | Để mười hai nhịp từ một bản sao được đếm là một bản sao đang chạy, không phải mười hai. |
| Phiên bản ứng dụng | 0.99.42 | Để có thể chia “đang chạy lúc này” theo phiên bản. |
| Dấu nhịp | 1 | Cho phía nhận biết đây là một nhịp chứ không phải báo cáo phiên. |
Không có gì từ phiên đi kèm: không chế độ, không bảng, không mẫu radio, không thời lượng, không bộ đếm. Các nhịp được ghi vào một tập dữ liệu riêng, tách khỏi các báo cáo phiên, nên không số liệu sử dụng nào thay đổi ý nghĩa. Cùng một công tắc dừng cả hai: bộ gửi từ chối kích hoạt nếu không có mã cài đặt hợp lệ, và tắt báo cáo sử dụng sẽ xóa mã đó, nên tắt nghĩa là hoàn toàn không có nhịp nào. Một nhịp vẫn đang gửi dở khi nhịp tiếp theo đến hạn sẽ bị bỏ qua thay vì xếp hàng.
Báo cáo sử dụng được gửi tới đâu
Tới một Cloudflare Worker do dự án này vận hành tại https://telemetry.foxsdr.com, nơi ghi các bộ đếm ở trên vào một tập dữ liệu Cloudflare Workers Analytics Engine. Cloudflare xử lý dữ liệu thay mặt chúng tôi và lưu trữ trong ba tháng, sau đó dữ liệu biến mất. Không ai khác nhận được nó, nó không bị bán, cho thuê hay chia sẻ, và thứ duy nhất được đọc ra từ đó là các số đếm tổng hợp, qua cùng bảng điều khiển có mật khẩu được mô tả ở phần sau. Mã nguồn của Worker được công bố cùng ứng dụng, nên bạn có thể đọc xem phía nhận làm gì. Báo cáo sự cố không đi tới đây — chúng đi tới máy chủ riêng của trang này, được mô tả tiếp theo.
Báo cáo sập và treo
Nếu FoxSDR bị sập, hoặc ngừng phản hồi, nó ghi một báo cáo mô tả lỗi vào %LOCALAPPDATA%\FoxSDR\crashes\ trên máy của chính bạn, và gửi văn bản của báo cáo vào lần khởi động tiếp theo — không bao giờ từ bên trong chính sự cố, vì một chương trình vừa gặp lỗi không thể mở kết nối mạng một cách an toàn. Báo cáo đi tới POST /api/crash trên trang web này — không tới Cloudflare, và không tới bất kỳ bên thứ ba nào — và nó ẩn danh: không có tài khoản, không khóa bản quyền và không có gì để đăng nhập.
Công tắc là HỆ THỐNG → Chẩn đoán, và nó điều khiển việc ghi và việc gửi như nhau: khi tắt, không báo cáo nào được ghi, không thư mục nào được tạo, và không kết nối nào được mở. Đó là một công tắc khác với báo cáo sử dụng. Tắt báo cáo sử dụng không ngăn báo cáo sự cố — nó làm trống trường mã cài đặt trong báo cáo, vì khi đó không có mã nào tồn tại và báo cáo sự cố không bao giờ tự tạo mã (xem hàng cuối của bảng dưới đây). Cho đến bản phát hành này, thông báo ở trên đã nêu sai công tắc; phần mềm luôn dùng Chẩn đoán, và giờ hai bên đã nói cùng một điều.
Đây là toàn bộ nội dung của một báo cáo:
| Dữ liệu gửi | Ví dụ | Lý do |
|---|---|---|
| Điều đã xảy ra | crash hoặc hang | Treo và sập là hai loại lỗi khác nhau. |
| Chữ ký lỗi | cascade.exe+0x1a2b/adsb.dll | Gom cùng một lỗi do nhiều người báo cáo thành một mục, để một trăm báo cáo về một lỗi là một việc cần sửa chứ không phải một trăm. |
| Phiên bản ứng dụng, commit và mã bản dựng | 0.61.0, 28fa1c2 | Lỗi xảy ra trong bản dựng nào, và ký hiệu gỡ lỗi nào khớp với nó. |
| Mô-đun gây lỗi và offset | cascade.exe, 0x1a2b | Chương trình gặp trục trặc ở đâu. |
| Hệ điều hành và kiến trúc | Windows 11, Linux hoặc Android 14, x64 hoặc arm64 | Lỗi thường chỉ xảy ra trên một nền tảng. Báo cáo từ Linux hay Android mang cùng các trường; các khung ngăn xếp ghi GNU build id của thư viện gây lỗi thay vì PDB id, vì cả hai nền tảng đều không dựng bằng MSVC. |
| Đó là loại sự cố gì | access violation, 0xC0000005 | Dòng lý do của chính báo cáo và mã ngoại lệ Windows. Đặc biệt, đây là thứ cho biết một lỗi đã được hấp thụ — ứng dụng vẫn sống sót — chứ không phải một lần sập; không có nó thì hai trường hợp trông y hệt nhau. Một mã và một câu cố định, không bao giờ là nội dung. |
| Một lần treo nằm ở phần nào của việc vẽ cửa sổ, từ FoxSDR 0.99.64 | rail | Chỉ trong báo cáo treo: phần nào của việc vẽ cửa sổ đang diễn ra khi nó dừng, dưới dạng một từ trong danh sách cố định mười chín từ: events, frame-start, pre-draw, plugin-panels, toolbar, rail, spectrum, patch, status, dialogs, polls, saves, render, present, recorder, plugins-reload, startup, user-wait, other. Nó gọi tên một phần của chương trình, không bao giờ là plugin, tệp, radio hay tần số. Từ đó cũng được gửi trong lý do của báo cáo, dưới dạng câu cố định freeze: the frame was in rail; một từ không có trong danh sách sẽ bị bỏ, không được gửi. Trước đây báo cáo treo không gửi lý do nào cả. |
| Các plugin đã nạp và phiên bản của chúng | ADS-B 1.1.0 | “Chỉ sập khi đã nạp plugin ADS-B” là một mô tả lỗi; “thỉnh thoảng bị sập” thì không. |
| Ngăn xếp luồng | cascade.exe+0x1a2b cho mỗi khung | Ngăn xếp chính là lỗi. Nó chỉ gồm tên mô-đun, mã bản dựng và các offset dạng số — không đường dẫn mã nguồn, không biến, không nội dung bộ nhớ. Từ FoxSDR 0.99.63, một khung trong báo cáo treo nằm bên trong một mô-đun được nạp sau khi FoxSDR khởi động (trình điều khiển đồ họa mà hệ thống đã nạp lại, DLL của nhà cung cấp, tiện ích mở rộng shell) được gửi dưới dạng tên của tệp đó (không bao giờ là đường dẫn thư mục) và một offset, trong khi trước đây nó được gửi dưới dạng chỉ một địa chỉ. Tên tệp có thể cho thấy phần mềm nào được cài trên máy của bạn; đây là cùng loại tên mà các báo cáo này đã chứa cho một trình điều khiển được nạp khi khởi động. |
| Phần cuối nhật ký phiên | opened rtlsdr | Những dòng cuối cùng ứng dụng ghi vào nhật ký, thường là việc nó đang làm khi gặp lỗi. Đó là nhật ký riêng của ứng dụng: nó ghi các thay đổi trạng thái — đã mở nguồn, đã đặt tốc độ, đã khởi động plugin — không bao giờ ghi nội dung tín hiệu, và không bao giờ ghi tên hay đường dẫn của tệp bạn đã mở. Nó cũng mang những gì driver radio đã nói và những gì các thư viện của nó in ra luồng lỗi chuẩn. Trước khi bất kỳ dòng nào của nó rời khỏi máy tính của bạn, cả các dòng của chính ứng dụng lẫn của driver, nó đều được làm sạch: số sê-ri và phần riêng của từng thiết bị trong mã định danh thiết bị USB được thay bằng <stripped>, tên tài khoản trong đường dẫn tệp bằng <user>, và mọi thứ nằm trong dấu nháy đơn, chẳng hạn tên bạn đặt cho các nút bảng nối và loa, bằng '<name>'; từ FoxSDR 0.99.59, mọi địa chỉ mạng và mọi tên máy tính hay tên máy chủ được thay bằng <host>, vẫn giữ số cổng đứng sau nó, còn số của cổng nối tiếp được thay bằng # (COM#, /dev/ttyUSB#); trên bất kỳ dòng nào nhắc tới hertz, tần số, chỉnh tần, tâm, dải, độ lệch, sóng mang, mục cài sẵn hay việc phát, mọi con số đều được thay bằng #, trừ khi nó được đánh dấu là tốc độ lấy mẫu, thời gian, mức, kích thước hay số lượng, là một phiên bản, một mã định danh hay một mã lỗi, hoặc là một phần của tên như R820T; và các dòng trong đó driver USB liệt kê những thiết bị cắm vào máy tính của bạn sẽ bị lược bỏ, kèm một dòng cho biết có bao nhiêu thiết bị. Từ phiên bản 0.99.59, ứng dụng hoàn toàn không ghi tên của card âm thanh vào nhật ký, vì tên đó thường là do một người tự đặt. Từ phiên bản 0.99.61, ứng dụng cũng ghi vào nhật ký thời điểm một đầu ra âm thanh được mở hoặc bị từ chối: kiểu trình điều khiển âm thanh, bố cục kênh và tốc độ lấy mẫu, nhưng không bao giờ ghi tên thiết bị âm thanh. |
| Ghi chú ngữ cảnh | mode: WFM, sampleRate: 2400000 | Một vài ghi chú dạng khóa/giá trị mà ứng dụng đính kèm: chế độ, nguồn (bộ tạo tín hiệu, tệp I/Q hay một radio thật), tốc độ lấy mẫu, có thiết bị nào đang mở hay không, mẫu SDR với số sê-ri đã loại bỏ, ứng dụng đã chạy được bao nhiêu giây, và luồng gây lỗi đang chạy mã của chính FoxSDR hay của một driver radio. sampleRate là tốc độ lấy mẫu, không phải tần số đã chỉnh. |
| Hiệu chỉnh tần số, từ FoxSDR 0.99.56 | ppm: +1.5 by retuning | Việc hiệu chỉnh thạch anh của radio có được bật hay không, giá trị của nó theo phần triệu và cách áp dụng (in the radio hoặc by retuning), hoặc off. Nó mô tả thạch anh của radio, không phải một tần số: nó không cho biết gì về những gì bạn đang nghe. |
| DLL của phần mềm khác trong tiến trình, từ FoxSDR 0.99.69 | foreignModules: NahimicOSD.dll, RTSSHooks64.dll | Tên tệp — không bao giờ gồm thư mục, phiên bản hay bất cứ thông tin nào khác về tệp — của các thành phần thuộc chương trình khác đã được nạp vào FoxSDR: mọi mô-đun được nạp mà không phải của Windows, không thuộc FoxSDR (thư mục chương trình, plugin, runtime C++), cũng không phải tệp trình điều khiển của hãng SDR mà FoxSDR chủ động nạp. Điều này tiết lộ tên DLL của phần mềm khác — lớp phủ trên màn hình của trình điều khiển âm thanh, bộ đếm tốc độ khung hình, hook của phần mềm diệt virus hoặc công cụ nhập liệu — và tên tệp có thể cho thấy phần mềm nào được cài trên máy của bạn, nên được nêu rõ ở đây. Các tệp trong thư mục Windows bị loại ra để danh sách ngắn gọn và có ý nghĩa. Danh sách này có vì các báo cáo FoxSDR kết thúc bên trong khâu bàn giao của trình điều khiển đồ họa, nơi các chương trình tự chèn vào mọi tiến trình đặt hook, không cho biết còn gì khác trong tiến trình. Cùng các tên này được ghi vào nhật ký của ứng dụng (modules: 2 foreign - ... một lần khi khởi động, module arrived: ... khi một tệp được nạp sau đó), nên các dòng đó có thể xuất hiện ở phần cuối nhật ký phiên ở trên. Giá trị để trống khi báo cáo không nêu, và tối đa 520 ký tự của nó được giữ lại ở đây. |
| The window’s start-up and the graphics adapter, from FoxSDR 0.99.78 | window: GL vendor NVIDIA Corporation; renderer NVIDIA GeForce RTX 4090/PCIe/SSE2; version 4.6.0 NVIDIA 610.88 | Lines the application writes to its log while its window is being created, each beginning window:, which therefore ride in the tail of the session log above: which window systems this build of the window library supports; on Linux, whether DISPLAY and WAYLAND_DISPLAY are set (set or not set — never their values, which can name a computer or a session), the session type when it is one of a fixed list of words, and which window system was chosen; the window library’s own error messages, with the display’s name left out; and the graphics driver’s own vendor, renderer and version strings, which name the make and model of your graphics adapter and its driver — a graphics fault cannot be told apart without them, and they say nothing about you. On Linux, a report of a process that ended before its window appeared now also says how it ended: an exit status, or a signal number whose name comes from a list of twelve (exit code 3 (the process ended itself), killed by signal 11 (SIGSEGV)), written down by FoxSDR itself as it ends, as a number behind a fixed tag; unknown when nothing was written, which is what an ending by SIGKILL leaves. |
| Mã cài đặt | 32 ký tự hex ngẫu nhiên, hoặc để trống | Dùng để giới hạn tần suất, rồi bị loại bỏ: mã cài đặt không được lưu lại. Một máy bị kẹt trong vòng lặp sập không được phép làm ngập máy chủ, và việc phân biệt một máy với một trăm máy là điều duy nhất nó từng được đọc để làm. Nó không bao giờ được ghi xuống đĩa ở đây. Nếu báo cáo sử dụng đang tắt, trường này được gửi trống — khi đó không có mã nào, và báo cáo sự cố không bao giờ tự tạo mã. |
Đã sửa trong FoxSDR 0.99.33. Trước 0.99.33, việc lọc nêu trên chỉ được áp dụng cho các dòng của trình điều khiển radio, không áp dụng cho các dòng của chính ứng dụng, và do đó một vài dòng của chính ứng dụng có thể đi vào báo cáo sập hoặc treo kèm theo tần số bạn đã yêu cầu hoặc đang phát, nhãn của một radio patch (có thể gồm số sê-ri), tên bạn đặt cho các phần của patch, dòng văn bản đầu tiên mà một bộ giải mã trên trang patch đã tạo ra, và danh sách thiết bị USB do trình điều khiển USB in ra, gồm cả số sê-ri. Điều đó mâu thuẫn với thông báo này. Từ 0.99.33, mọi dòng đều được lọc trước khi rời khỏi máy của bạn, và các dòng nhật ký đó ngay từ đầu không còn chứa những giá trị ấy.
Đã sửa trong FoxSDR 0.99.59. Thông báo này luôn nói rằng báo cáo sự cố không mang tên máy và ứng dụng không bao giờ gửi địa chỉ IP của bạn, nhưng cho đến phiên bản 0.99.59, bộ làm sạch vẫn không tìm địa chỉ mạng hay tên máy chủ. Vì vậy một số dòng nhật ký có thể lọt vào báo cáo sự cố hoặc báo cáo treo, hay vào nhật ký chẩn đoán của một báo cáo lỗi, mang theo địa chỉ hoặc tên máy chủ bạn đã nhập cho một radio mạng như ADALM-Pluto, hoặc một địa chỉ hay địa chỉ web mà driver của radio mạng đã ghi lại; chúng cũng có thể mang theo số của một cổng nối tiếp và, trên vài dòng lỗi, tên của một card âm thanh. Điều đó mâu thuẫn với thông báo này. Từ phiên bản 0.99.59, địa chỉ và tên máy chủ được thay thế còn số cổng nối tiếp được che đi như mô tả ở trên, các dòng riêng của ADALM-Pluto không còn in địa chỉ của nó, và không dòng nhật ký nào nêu tên card âm thanh.
Một báo cáo sự cố không mang tần số, không có gì đã giải mã, không đường dẫn tệp, không tên người dùng, không tên máy, không địa chỉ mạng và không vị trí. Các báo cáo được lưu trên máy chủ riêng của trang này, sau cùng một bảng điều khiển có mật khẩu như mọi thứ khác, và được giữ trong 90 ngày kể từ lần cuối lỗi được ghi nhận, rồi bị xóa — cùng ba tháng như thời hạn giữ báo cáo sử dụng. Báo cáo đầu tiên về một lỗi bất kỳ được giữ đầy đủ, cùng với thêm một báo cáo cho mỗi bản dựng mà lỗi đó còn tồn tại, tối đa ba; mọi báo cáo khác về cùng lỗi đó chỉ được đếm chứ không được lưu. Một bài kiểm thử tự động ràng buộc cả những gì điểm cuối chấp nhận lẫn những gì nó ghi xuống đĩa với bảng ở trên, theo cả hai chiều, nên không thể thêm một trường vào bên nào mà bảng này không thay đổi theo.
Bản kết xuất bộ nhớ đầy đủ không bao giờ được gửi, dù ở bất kỳ cài đặt nào. Bản kết xuất bộ nhớ là bản sao bộ nhớ của chương trình và có thể chứa tên tệp, tiêu đề cửa sổ và dữ liệu tín hiệu đã thu. Nó tắt theo mặc định; nếu bạn bật nó trong HỆ THỐNG → Chẩn đoán, một tệp .dmp sẽ được ghi bên cạnh báo cáo văn bản, chỉ trên máy cục bộ, và bộ tải lên chỉ mở các tệp có tên crash-*.txt và hang-*.txt, không gì khác.
Báo cáo của người canh gác, từ FoxSDR 0.99.64. Một số kết thúc mà không gì bên trong FoxSDR có thể báo cáo: một lần sập bỏ qua mọi bộ xử lý, tràn ngăn xếp, một cửa sổ treo cứng đến mức bộ canh treo cũng bị kẹt. Vì vậy, trong phiên tương tác khi Chẩn đoán bật, FoxSDR khởi động một bản sao thứ hai của chính chương trình, không có cửa sổ, chỉ chờ bản đầu kết thúc — người canh gác. Nó có thể đọc FoxSDR đã kết thúc thế nào (mã thoát và thời điểm bắt đầu, dừng), một trang chia sẻ nhỏ gồm các con số mà FoxSDR luôn cập nhật (đang ở giai đoạn nào, đã vẽ bao nhiêu khung hình và lần vẽ cuối là khi nào, phần nào của việc vẽ cửa sổ đang diễn ra, có menu đang mở hay cửa sổ đang bị kéo không), và phần cuối nhật ký phiên, được làm sạch như mọi báo cáo khác. Nó không đọc gì từ bộ nhớ của FoxSDR và không tạo bản kết xuất, và trang số không có chỗ cho văn bản, nên không thể chứa tên, đường dẫn, tần số hay địa chỉ. Khi FoxSDR kết thúc, người canh gác ghi một báo cáo vào cùng thư mục và cùng định dạng với các báo cáo khác — không có báo cáo nào nếu FoxSDR kết thúc bình thường hoặc đã tự ghi một báo cáo — với lý do chỉ gồm các từ cố định và số giây nguyên, còn các dòng về bộ thu được thay bằng một câu cố định nói rằng nó không đọc được chúng. Bản thân nó không gửi gì: báo cáo của nó được gửi ở lần khởi động tiếp theo, dưới cùng công tắc và cùng giới hạn như mọi báo cáo khác, và chỉ khi FoxSDR bị sập, cửa sổ đã ngừng vẽ, hoặc nó kết thúc trước khung hình đầu tiên. Một kết thúc từ bên ngoài (Task Manager hoặc một tập lệnh) và một kết thúc vì Windows đóng phiên của bạn vẫn ở lại trên máy của bạn và không bao giờ được gửi. Khi Chẩn đoán tắt, người canh gác không được khởi động.
Tần suất. Tối đa năm báo cáo mỗi ngày từ một máy, và cùng một lỗi chỉ một lần mỗi ngày dù nó xảy ra bao nhiêu lần — cả hai giới hạn đều được lưu trong tệp cài đặt của chính bạn, nên một máy trong vòng lặp sập sẽ tự ngừng gửi thay vì phải được bảo ngừng, và một báo cáo gửi thất bại sẽ được thử lại ở các lần khởi động sau tối đa ba lần rồi để yên. Việc chuyển một offset trong báo cáo ngược lại thành tên hàm cần cơ sở dữ liệu gỡ lỗi của đúng bản dựng đó, vốn nằm trên máy của chính chúng tôi và không bao giờ được tải lên đâu cả: việc phân giải diễn ra cục bộ, không phải trên máy chủ.
Những gì ứng dụng không bao giờ gửi
- Các tần số bạn chỉnh tới. Việc ai đó nghe gì là điều nhạy cảm nhất mà phần mềm này biết, và nó không bao giờ được thu thập. Tại Vương quốc Anh, việc chặn thu một thông điệp mà bạn không được phép nhận, hoặc tiết lộ nội dung của nó, là hành vi phạm tội theo mục 48 của Đạo luật Điện báo Vô tuyến (Wireless Telegraphy Act) 2006.
- Tên hay đường dẫn của các tệp bạn mở. Tên tệp của một bản ghi là dữ liệu của chính bạn — nó có thể nêu tên một dịch vụ, một địa điểm hay một tần số. Khi một tệp I/Q không mở lại được, nhật ký ghi rằng nó không mở lại được; cái tên vẫn ở trên màn hình, nơi bạn vốn đã biết nó.
- Bất cứ thứ gì đã giải mã — tin nhắn máy nhắn tin, máy bay, tàu thuyền, hình ảnh, lưu lượng vệ tinh.
- Vị trí của bạn, hay vị trí của bất cứ thứ gì bạn thu được — kể cả vị trí máy thu bạn đã đặt, vốn không bao giờ được truyền đi trong bất kỳ báo cáo nào. Xem bên dưới.
- Địa chỉ IP của bạn, hay bất kỳ vị trí nào suy ra từ nó. Một yêu cầu tất yếu phải đến máy chủ từ một địa chỉ, vì internet hoạt động như vậy; điểm cuối báo cáo sử dụng không đọc thông tin kết nối nào và không ghi nhật ký yêu cầu nào. Từ FoxSDR 0.99.59, địa chỉ mạng hoặc tên máy chủ trong các dòng nhật ký mà một báo cáo mang theo cũng được thay bằng
<host>. - Số sê-ri phần cứng. Mẫu radio thì hữu ích; số sê-ri xác định chiếc radio cụ thể của bạn, và bị loại bỏ trước khi gửi.
- Tên của bạn, tên máy của bạn, tài khoản người dùng của bạn, bất kỳ đường dẫn tệp nào, hay tên của một card âm thanh.
- Bản kết xuất bộ nhớ đầy đủ.
Vị trí máy thu, và GPS
FoxSDR cần biết máy thu ở đâu, vì mọi cự ly và phương vị trên bản đồ và màn hình radar đều được đo từ đó. Bạn có thể gõ nó, bấm chọn nó trên bản đồ, hoặc đọc nó từ một máy thu GPS qua cổng nối tiếp.
Vị trí ở lại trên máy của bạn. Nó được lưu trong tệp cài đặt của chính bạn và không bao giờ được truyền đi — không trong báo cáo sử dụng, không trong nhịp, không trong báo cáo sự cố, không ở bất cứ đâu. Việc đọc nó từ GPS là do bạn bắt đầu: bạn nêu tên cổng và bấm “Đọc vị trí từ GPS”. Cổng chỉ bị chiếm giữ cho đến khi có định vị đầu tiên, và tối đa 60 giây. Nhật ký chẩn đoán ghi tên cổng, tốc độ baud, số câu và số vệ tinh cùng mọi lỗi — không bao giờ ghi vị trí, và không bao giờ ghi văn bản của một câu NMEA. Một ô cổng chứa thứ gì đó không có dạng một cổng sẽ được ghi nhật ký theo loại và độ dài của nó (“một đường dẫn thiết bị được gõ, 27 ký tự”), để một đường dẫn tệp có tên người dùng của bạn không thể lọt vào báo cáo. Hai bài kiểm thử tự động đảm bảo điều này: một với vòng đệm nhật ký, và một với tệp nhật ký mà ứng dụng thật đã ghi.
Danh mục plugin
Danh mục được liên hệ khi bạn mở cửa sổ kho plugin (lần đầu trong một phiên, kể từ FoxSDR 0.99.16), mỗi khi bạn bấm KIỂM TRA NGAY trong đó, và khi bạn chọn cài một thứ gì đó. Không có gì được tải khi khởi động, cửa sổ không tự mở lại, và không plugin nào tự cập nhật. Danh mục là một tệp được công bố trên GitHub (raw.githubusercontent.com), nên yêu cầu đó đến máy chủ của GitHub, nơi — như với mọi yêu cầu web — thấy được địa chỉ mà nó đến từ. Không có mã định danh nào của bạn được gửi kèm: không mã cài đặt, không cookie, không gì có thể gắn với một báo cáo sử dụng. Mọi lượt tải về đều qua HTTPS, có giới hạn kích thước, bị từ chối nếu chuyển hướng sang máy chủ khác, và được đối chiếu với sha256 công bố trong danh mục trước khi được phép trở thành một tệp. Nguồn là một cài đặt: bạn có thể trỏ nó tới một danh mục khác, hoặc tới một index.json trên đĩa của chính bạn, khi đó hoàn toàn không có yêu cầu mạng nào.
Trang plugin bạn thêm
Từ FoxSDR 0.99.74, bạn có thể thêm danh mục plugin của người khác, gọi là trang plugin, và mỗi trang bạn thêm là thêm một địa chỉ mà ứng dụng liên hệ. Chỉ bạn mới thêm được: bấm TRANG WEB trên thanh trên cùng của kho plugin, dán một địa chỉ và đánh dấu vào ô nói rằng FoxSDR chưa xem xét trang đó. FoxSDR không tự thêm gì và không tự liên hệ với gì. Một trang được đọc vào đúng hai thời điểm như danh mục công khai — lần đầu bạn mở kho trong một phiên, và mỗi khi bạn bấm KIỂM TRA NGAY — và được cho vài giây để trả lời. Yêu cầu mang địa chỉ bạn đã đưa và không có gì khác từ FoxSDR: không mã định danh, không cookie, và một tên máy khách (cascade-plugin-repo/1.0) giống nhau ở mọi bản sao. Vì vậy trang đó thấy địa chỉ IP của bạn, như mọi máy chủ web.
Tệp và hình ảnh của một plugin từ một trang chỉ được lấy từ cùng máy chủ với danh mục của nó, và chỉ khi bạn bấm TẢI hoặc CẬP NHẬT ở một plugin của trang hoặc mở trang của plugin đó. Danh mục của mỗi trang được giữ nguyên trong thư mục plugin trên ổ đĩa của chính bạn, được đọc lại khi khởi động và bị xóa khi bạn bấm GỠ ở trang đó; bản thân các địa chỉ nằm trong tệp cài đặt của bạn. Bộ đếm lỗi của danh mục plugin và của việc cài plugin (xem phần báo cáo sử dụng ở trên) là của danh mục công khai: một trang không thể truy cập, hoặc một plugin của trang đó cài đặt thất bại, không được tính.
Plugin chỉ được cung cấp ở một số quốc gia
Một số plugin chỉ được cung cấp cho các kết nối từ một số quốc gia nhất định. Khi ứng dụng tải danh mục plugin, ứng dụng cũng hỏi trang web này một danh sách khu vực ngắn, và plugin trong danh sách đó được tải xuống từ trang web này thay vì từ GitHub. Để quyết định trả lời gì, trang web đọc mã quốc gia hai chữ cái mà Cloudflare chuyển kèm theo yêu cầu (CF-IPCountry), mã này do Cloudflare suy ra từ địa chỉ gửi yêu cầu. Mã quốc gia và địa chỉ chỉ được dùng cho đúng câu trả lời đó và không được lưu lại, không có mã định danh nào của bạn được gửi đi, và các yêu cầu này không được ghi vào số liệu thống kê của trang web này. Kết nối không xác định được quốc gia, hoặc đi qua Tor, sẽ nhận danh sách trống. VPN làm thay đổi quốc gia mà trang web nhìn thấy. Danh sách khu vực sẽ không được yêu cầu nếu bạn đã trỏ cửa hàng đến một danh mục khác.
Plugin có thể phát
Từ FoxSDR 0.99.74, một plugin có thể yêu cầu gửi âm thanh qua máy phát của bạn; kho plugin và cửa sổ “Mô-đun đã lắp” khi đó hiển thị nó là “Có thể phát qua FoxSDR”. Nó chỉ có thể bật máy phát nếu bạn đã bấm CẤP QUYỀN PHÁT trên trang của nó và đã lên cò trang PHÁT trong 5, 15 hoặc 60 phút. Quyền này được lưu trong tệp cài đặt của chính bạn theo tên tệp của plugin và không bao giờ được gửi đi đâu; khoảng thời gian lên cò hoàn toàn không được lưu. Nhật ký chẩn đoán trên máy của bạn ghi lại việc bật — tx: armed 15 min, tx: plugin <name> keyed, tx: plugin <name> unkeyed (<why>) và tx: disarmed (<why>) — dưới dạng tên plugin đã khai báo, một lý do trong danh sách cố định và một số phút, không bao giờ là tần số, và các dòng đó được làm sạch như mọi dòng nhật ký khác khi một báo cáo hoặc gói chẩn đoán được tạo. Báo cáo riêng của FoxSDR không có trường nào cho bất kỳ điều gì trong số này.
Bộ tham số quỹ đạo vệ tinh
Plugin vệ tinh giữ các bộ tham số quỹ đạo của nó luôn mới bằng cách tải chúng từ các nguồn nêu trong satellite.cfg của nó, mỗi mười hai giờ khi nó đang được nạp. Trang này giữ một bản sao của các bộ tham số quỹ đạo đó tại GET /tle/all.tle — các nhóm stations, amateur và weather của CelesTrak cùng NOAA 15, 18 và 19, được làm mới ở đây mỗi mười hai giờ — và Satellites 1.0.4 trở về sau tự động chuyển sang dùng tệp này mỗi khi mọi nguồn trong satellite.cfg đều thất bại, để một máy bị CelesTrak từ chối vẫn theo dõi được chúng. Tệp đó không cần nêu tên trang này thì điều đó mới xảy ra; một dòng fallback-url none trong đó sẽ tắt cơ chế dự phòng, và refresh-hours 0 tắt mọi việc tải. Yêu cầu không mang mã định danh, không mã cài đặt và không cookie, và máy chủ này không ghi bản ghi phân tích nào cho nó — như với việc kiểm tra cập nhật, chỉ lượt xem trang và lượt tải tệp được ghi lại, và bản sao này không thuộc loại nào trong hai loại đó. Bản thân các bộ tham số quỹ đạo là của CelesTrak (celestrak.org) và mọi phản hồi đều nói rõ điều đó.
Tra cứu sổ đăng bạ máy bay
Plugin tùy chọn Aircraft Info cho biết mỗi máy bay trên bản đồ là ai — số đăng ký, kiểu loại và hãng khai thác. Ứng dụng không bao giờ tự thực hiện yêu cầu này; chính việc cài plugin đó mới bật nó lên. Từ phiên bản 1.1.0, plugin hỏi trang này trước, tại GET /api/aircraft/<address>, và chỉ gửi địa chỉ ICAO sáu chữ số hex của máy bay — con số mà chính máy bay phát đi — không có mã định danh, không mã cài đặt và không cookie. Mỗi thân máy bay chỉ được hỏi một lần và câu trả lời được giữ trên máy của chính bạn, nên nó không bị hỏi lại. Chỉ khi trang này không biết một máy bay, hoặc không liên lạc được, plugin mới hỏi api.adsbdb.com, một dịch vụ miễn phí của bên thứ ba, như các phiên bản trước luôn làm. Tập hợp các máy bay mà một máy thu nghe được là một dấu hiệu gần đúng về vị trí của nó, đó là lý do plugin này là tùy chọn và nói rõ điều đó trước khi bạn cài.
Những gì máy chủ này giữ về một lượt tra cứu: không gì cho từng yêu cầu. Không bản ghi phân tích nào được ghi, và cả địa chỉ máy bay lẫn địa chỉ mà yêu cầu đến từ đều không được ghi nhật ký. Bản ghi duy nhất là năm con số tổng cộng dồn kể từ lần máy chủ khởi động gần nhất — lượt tra cứu, tìm thấy, không tìm thấy, sai định dạng và bị giới hạn tần suất — được hiển thị trên bảng điều khiển. Để ngăn bất kỳ ai sao chép nguyên bảng dữ liệu, mỗi địa chỉ kết nối có một hạn mức tra cứu được giữ trong bộ nhớ, đúng như các điểm cuối khác ở đây, và không bao giờ được ghi xuống đĩa; nó bị quên khi máy chủ khởi động lại hoặc khi có hơn mười nghìn địa chỉ đang được theo dõi, tùy điều nào đến trước.
Các câu trả lời đến từ cơ sở dữ liệu máy bay của OpenSky Network (opensky-network.org): với mỗi thân máy bay là số đăng ký, mã kiểu loại, nhà sản xuất, mẫu máy bay và, nếu có ghi nhận, hãng khai thác. OpenSky cung cấp cơ sở dữ liệu đó theo nguyên trạng và yêu cầu người dùng trích dẫn: Matthias Schäfer, Martin Strohmeier, Vincent Lenders, Ivan Martinovic và Matthias Wilhelm, “Bringing Up OpenSky: A Large-scale ADS-B Sensor Network for Research”, trong Proceedings of the 13th IEEE/ACM International Symposium on Information Processing in Sensor Networks (IPSN), tháng 4 năm 2014. Chủ sở hữu đăng ký được ghi ở đó không được sao chép sang trang này hay được trang này phục vụ, vì với một máy bay tư nhân đó là tên của một người; chỉ có hãng khai thác, vốn là một hãng hàng không, một lực lượng không quân hay một công ty, là được.
Giao diện trình duyệt
FoxSDR có thể phục vụ giao diện của nó qua HTTP cho các máy khác trong mạng của chính bạn. Nó tắt theo mặc định và chỉ gắn với máy của chính bạn cho đến khi bạn thay đổi; mọi kiểu gắn vượt ra ngoài đó đều bắt buộc có mật khẩu, và không có mật khẩu thì việc gắn rộng hơn bị từ chối thay vì được mở. Mật khẩu được lưu dưới dạng băm (PBKDF2-HMAC-SHA256) và các phiên bị thu hồi mỗi khi cài đặt thay đổi. Cố ý không có TLS, vì ứng dụng không liên kết thư viện mật mã nào và sẽ không tự nhận có bảo mật đường truyền mà nó không thể cung cấp — hãy đặt một reverse proxy hoặc một đường hầm riêng phía trước nó, và đừng bao giờ chuyển tiếp cổng trực tiếp tới nó. Bất kỳ ai bạn cấp quyền truy cập đều có thể xem và điều khiển những gì máy thu đang làm.
Đề xuất tính năng gửi từ ứng dụng
Ứng dụng có một ô “Đề xuất tính năng” trên trang chính, nơi bạn có thể gõ điều bạn muốn nó làm và bấm Gửi. Không có gì được gửi cho đến khi bạn bấm nút đó, việc này không bao giờ diễn ra tự động, và một đề xuất không đến được chúng tôi sẽ không được xếp hàng hay thử lại ở chế độ nền — những gì bạn đã gõ vẫn ở trong ô, chỉ trong bộ nhớ, để bạn bấm Gửi lại, và nó không bao giờ được ghi vào tệp cấu hình hay nhật ký. Đây là toàn bộ những gì một đề xuất mang theo:
| Dữ liệu gửi | Ví dụ | Lý do |
|---|---|---|
| Những gì bạn đã gõ | Please add a squelch control to the FLEX decoder | Chính nội dung đề xuất: từ 10 đến 100000 ký tự. Các ký tự điều khiển bị loại bỏ trước khi lưu; dấu xuống dòng được giữ lại. |
| Thông tin liên hệ, nếu bạn cung cấp | [email protected] hoặc một hô hiệu | Không bắt buộc, tối đa 120 ký tự, để chúng tôi có thể hỏi thêm. Để trống thì đề xuất không mang gì có thể nhận dạng bạn. |
| Phiên bản ứng dụng | 0.99.42 | Đề xuất đến từ bản dựng nào. |
| Hệ điều hành | windows, linux hoặc android | Nền tảng nào đã gửi nó. |
| Kiến trúc | x64 hoặc arm64 | Như trên. |
| Số phiên bản lược đồ | 1 | Phiên bản của quy ước truyền dữ liệu, để một thay đổi định dạng trong tương lai không thể bị nhầm với một trong các trường ở trên. |
Nó được gửi tới POST /api/feature-request trên trang web này. Địa chỉ IP của bạn chỉ được dùng để giữ tần suất gửi ở mức hợp lý, và không bao giờ được ghi xuống đĩa — bản ghi thực sự được giữ là tin nhắn của bạn, địa chỉ liên hệ nếu bạn có cung cấp, phiên bản ứng dụng, nền tảng, kiến trúc, và quốc gia gần đúng của bạn khi dịch vụ tra cứu của chúng tôi xác định được từ kết nối, và không gì khác. Nó được người duy trì dự án đọc trên bảng điều khiển quản trị, sau cùng mật khẩu như mọi thứ khác ở đây, và được giữ cho đến khi bị xóa khỏi bảng điều khiển đó, hoặc cho đến khi bạn yêu cầu. Một đề xuất đã được xử lý — đã thêm vào FoxSDR, hoặc đã được trả lời theo cách khác — có thể được lưu trữ ở đó thay vì bị xóa, để dự án theo dõi được những gì đã được đề xuất và những gì đã được xây dựng; một đề xuất đã lưu trữ vẫn được giữ, với mọi thứ liệt kê ở trên. Nếu bạn đã cung cấp địa chỉ liên hệ và muốn xóa đề xuất, hãy viết thư tới địa chỉ bên dưới và trích đủ nội dung bạn đã gửi để tìm được nó.
Báo lỗi và điều không thích gửi từ ứng dụng
Ngay bên dưới “Đề xuất tính năng”, ứng dụng có một ô “Báo lỗi / không thích”, nơi bạn nói rằng có thứ gì đó bị hỏng hoặc có thứ gì đó mà bạn không thích, rồi bấm Gửi. Nó hoạt động đúng như ô đề xuất tính năng: không có gì được gửi cho đến khi bạn bấm nút đó, không có gì được xếp hàng hay thử lại ở chế độ nền, và những gì bạn đã gõ chỉ ở trong bộ nhớ — không bao giờ trong tệp cấu hình, không bao giờ trong nhật ký. Đây không phải báo cáo sự cố, mặc dù nhật ký chẩn đoán được mô tả bên dưới đi qua cùng bộ lọc và có thể mang một phần những gì báo cáo sự cố mang. Đây là toàn bộ những gì một báo cáo mang theo:
| Dữ liệu gửi | Ví dụ | Lý do |
|---|---|---|
| Đó là lỗi hay điều không thích | bug hoặc dislike | Lựa chọn bạn đã đưa ra ở đầu ô: một thứ không hoạt động, hoặc một thứ hoạt động đúng như thiết kế nhưng bạn muốn nó đừng như vậy. |
| Những gì bạn đã gõ | The waterfall freezes when I change the sample rate | Chính nội dung báo cáo: từ 10 đến 100000 ký tự. Các ký tự điều khiển bị loại bỏ trước khi lưu; dấu xuống dòng được giữ lại. |
| Thông tin liên hệ, nếu bạn cung cấp | [email protected] hoặc một hô hiệu | Không bắt buộc, tối đa 120 ký tự, để chúng tôi có thể hỏi thêm. Để trống thì báo cáo không mang gì có thể nhận dạng bạn. |
| Phiên bản ứng dụng | 0.99.42 | Báo cáo đến từ bản dựng nào, để một lỗi đã sửa không bị truy tìm lại. |
| Hệ điều hành | windows, linux hoặc android | Nền tảng nào đã gửi nó. |
| Kiến trúc | x64 hoặc arm64 | Như trên. |
| Số phiên bản lược đồ | 1 | Phiên bản của quy ước truyền dữ liệu, để một thay đổi định dạng trong tương lai không thể bị nhầm với một trong các trường ở trên. |
| Nhật ký chẩn đoán, từ FoxSDR 0.99.43 | 0.99.43 windows x64, Ettus B200 — recent log lines, serials/frequencies/paths scrubbed | Được đánh dấu theo mặc định khi bạn báo lỗi, và không được đánh dấu theo mặc định khi báo điều không thích — bạn có thể thay đổi cả hai trước khi bấm Gửi. Nó chứa phiên bản ứng dụng, hệ điều hành của bạn, radio nào đang được sử dụng, một bản tóm tắt ngắn gọn về cài đặt của bạn, và các dòng gần đây nhất trong nhật ký riêng của ứng dụng, được đưa qua cùng bộ lọc như phần cuối nhật ký của báo cáo sự cố: số sê-ri và ID USB được thay thế, mọi số liên quan đến tần số được thay thế, mọi thứ trong dấu nháy đơn được thay thế, địa chỉ mạng và tên máy chủ được thay thế, số cổng nối tiếp được che đi (từ FoxSDR 0.99.59), và tên tài khoản trong đường dẫn tệp bị loại bỏ. Máy chủ này lặp lại lần kiểm tra cuối cùng đó phòng khi có gì bị bỏ sót. Nó được giữ lại, và bị xóa, cùng với phần còn lại của báo cáo, theo cùng điều kiện như mọi thứ ở trên. Từ FoxSDR 0.99.61, phần tóm tắt cài đặt của bạn còn cho biết đầu ra âm thanh có đang mở hay không và qua kiểu trình điều khiển âm thanh nào, âm lượng, âm thanh có bị tắt tiếng hay không và do ai tắt (bạn, một plugin giải mã hoặc phím phát; plugin chỉ được mô tả chứ không bao giờ được nêu tên), cùng mức squelch, squelch đang mở hay đóng và mức tín hiệu mà nó đang đánh giá; đó là một mức chứ không phải tần số. Nó không bao giờ chứa tên thiết bị âm thanh của bạn hoặc tần số bạn đang dò. Từ FoxSDR 0.99.62, nó còn mang thêm ba thứ: các dòng cuối cùng (tối đa 80) của nhật ký phiên trước, hoặc dòng chữ cho biết không có gì để đọc; một dòng cho mỗi báo cáo trong mười báo cáo sập hoặc treo mới nhất trên máy tính của bạn, cho biết đó là sập, treo hay khựng màn hình, được ghi cách đây bao lâu, phiên bản đã ghi nó, phiên đó đã chạy được bao lâu, cửa sổ bị khựng trong bao lâu hoặc lý do và mã của lần sập, chữ ký lỗi của nó và việc gửi nó đã ra sao, không có ngăn xếp, không có dòng nhật ký, không có danh sách mô-đun và không có tên tệp hay đường dẫn lấy từ các báo cáo đó; và một dòng cho biết trang bảng nối đang chạy bao nhiêu radio và loại driver của từng radio, không bao giờ chứa tên, số sê-ri hay địa chỉ của một radio, tên của một bản ghi hay một tần số. Mọi dòng của nhật ký phiên trước và của danh sách báo cáo đều đi qua cùng một bộ lọc. Khi Chẩn đoán tắt, nhật ký chẩn đoán không có cả nhật ký phiên trước lẫn danh sách báo cáo, và không điều nào trong số này là một phần của báo cáo sập hoặc treo mà FoxSDR tự gửi. |
| Báo cáo bạn đã dán, từ FoxSDR 0.99.69 | sentinel:outside, written by 0.99.66, and the report | Chỉ khi áp dụng. Nếu tin nhắn bạn gõ hoặc dán chứa báo cáo sập, treo hoặc báo cáo sentinel của FoxSDR — văn bản mà một tệp báo cáo trong thư mục báo cáo chứa, mà đôi khi người dùng dán vào bằng tay — ứng dụng sẽ nhận ra nó, báo cho bạn ngay trên trang trước khi bạn nhấn Gửi (“A report was recognised and attached as …”), và gửi lại nó bên cạnh tin nhắn, kèm ba thứ: đó là loại báo cáo nào (sập, treo, đứng hiển thị, hoặc một trong năm kiểu kết thúc mà sentinel ghi lại), bản dựng đã ghi nó (dòng phiên bản trong khối ngữ cảnh của chính báo cáo, có thể không phải bản bạn đang chạy hiện nay), và chính báo cáo đó. Đây không phải thứ bạn chưa gửi: đó là chính lời trong tin nhắn của bạn, được phân loại theo kiểu để trang quản trị có thể gọi tên. Chỉ văn bản trong ô được xem xét; không có tệp nào được đọc. Nó được lọc ở đây như nhật ký chẩn đoán (tên tài khoản trong đường dẫn tệp và mọi địa chỉ email bị loại bỏ), giới hạn 64 KiB, và được giữ cùng phần còn lại của báo cáo, theo cùng điều kiện như mọi thứ ở trên. |
Từ FoxSDR 0.99.69, nhật ký chẩn đoán còn mang thêm một dòng, chỉ nêu tên tệp (không bao giờ gồm thư mục hay phiên bản) của các thành phần chương trình khác được nạp vào FoxSDR — một lớp phủ hoặc hook do chương trình khác đặt vào; đó là cùng danh sách mà bảng báo cáo sập ở trên mô tả, và nó cũng là một phần của báo cáo sập hoặc treo mà FoxSDR tự gửi.
Nó được gửi đến POST /api/problem-report trên trang web này. Địa chỉ IP của bạn chỉ được dùng để giữ tốc độ gửi ở mức hợp lý và không bao giờ được ghi xuống đĩa — bản ghi thực sự được lưu gồm: đó là lỗi hay điều bạn không thích, tin nhắn của bạn, địa chỉ liên hệ nếu bạn cung cấp, phiên bản ứng dụng, nền tảng, kiến trúc, quốc gia gần đúng của bạn khi công cụ tra cứu của chúng tôi xác định được từ kết nối, và nhật ký chẩn đoán nếu bạn để đính kèm, loại báo cáo nào được nhận ra trong tin nhắn của bạn (ở trên), và không có gì khác. Người bảo trì dự án đọc nó trên bảng điều khiển quản trị sau cùng một mật khẩu như mọi thứ khác ở đây, và một báo cáo được giữ cho đến khi bị xóa khỏi bảng điều khiển đó, hoặc cho đến khi bạn yêu cầu. Một báo cáo đã được xử lý — đã sửa trong FoxSDR, hoặc được trả lời bằng cách khác — có thể được lưu trữ ở đó thay vì xóa; báo cáo đã lưu trữ vẫn được giữ, cùng mọi thứ liệt kê ở trên. Nếu bạn đã cung cấp địa chỉ liên hệ và muốn xóa báo cáo, hãy viết đến địa chỉ bên dưới và trích dẫn đủ nội dung bạn đã gửi để có thể tìm ra nó.
Trang web: những gì được ghi lại khi bạn truy cập
Một bản ghi được tạo cho mỗi lượt xem trang và mỗi lượt tải, dù bạn có chấp nhận cookie hay không. Đây là phân tích của bên thứ nhất: dữ liệu ở lại trên máy chủ phục vụ trang này, không được chia sẻ với mạng quảng cáo nào, và không có tập lệnh bên thứ ba nào trên trang.
| Được ghi lại | Nguồn gốc | Cần đồng ý |
|---|---|---|
| Ngày và giờ, trang được yêu cầu, phương thức và giao thức HTTP | Yêu cầu | Không |
| Địa chỉ IP của bạn, và giá trị băm có salt của nó | Kết nối | Không |
| Vị trí gần đúng: quốc gia, vùng, thành phố, khu vực mã bưu chính, múi giờ, và tọa độ của thành phố đó — không phải của bạn | Địa chỉ IP, tra cứu qua ip-api.com | Không |
| Mạng của bạn: nhà cung cấp internet, tổ chức, số AS, và địa chỉ đó có phải là một VPN, trung tâm dữ liệu hay mạng di động đã biết hay không | Cùng lượt tra cứu đó | Không |
| Trình duyệt và phiên bản, hệ điều hành và phiên bản, loại thiết bị, và yêu cầu có trông giống một bot hay không | Header User-Agent | Không |
Trang nào đã dẫn bạn tới đây, và mọi thẻ chiến dịch trên liên kết (utm_source và các thẻ tương tự) | Header Referer và URL | Không |
| Ngôn ngữ ưa thích | Header Accept-Language | Không |
| Tệp nào bạn đã tải, phiên bản của nó, bao nhiêu byte đã được gửi và lượt truyền có hoàn tất hay không | Chính lượt tải đó | Không |
| Kích thước màn hình và cửa sổ, tỉ lệ điểm ảnh, độ sâu màu | Trình duyệt của bạn, do tập lệnh của trang này báo | Có |
| Số nhân CPU và dung lượng bộ nhớ gần đúng của thiết bị | Cùng tập lệnh đó | Có |
| Múi giờ, danh sách ngôn ngữ, tùy chọn chế độ tối, hỗ trợ cảm ứng, nền tảng | Cùng tập lệnh đó | Có |
| Loại kết nối, tốc độ tải xuống ước tính và thời gian khứ hồi | Cùng tập lệnh đó | Có |
| Trang hiển thị trong bao lâu, bạn cuộn xa tới đâu, bao nhiêu lần bấm, và bạn đã bấm những nút nào | Cùng tập lệnh đó | Có |
Những gì cố ý không làm
- Không lấy dấu vân tay trình duyệt: không dò canvas, âm thanh, phông chữ hay WebGL, và không gì cố nhận dạng lại bạn sau khi bạn đã từ chối.
- Không có trình theo dõi bên thứ ba, pixel quảng cáo, tiện ích mạng xã hội hay dịch vụ phân tích nào. Không có gì trên trang này được tải từ tên miền khác.
- Không cố đọc bộ nhớ tạm, pin, camera, micrô, mật khẩu đã lưu hay lịch sử duyệt web của bạn — những thứ mà một trang tải về không có lý do gì để đụng tới.
- Dữ liệu của bạn không bị bán, cho thuê hay chia sẻ với bất kỳ ai. Yêu cầu ra ngoài duy nhất mà máy chủ thực hiện về bạn là lượt tra cứu vị trí từ IP được mô tả ở trên.
Thiết kế giao diện bạn xuất bản
Trang này có thể lưu một thiết kế giao diện FoxSDR — một gói .foxui — mà bạn chọn xuất bản. Không có gì được gửi cho đến khi bạn nhấn Publish, và nó được gửi tới POST /api/gui/publish. Những gì được lưu là nội dung của gói: bản thân thiết kế, tên, phiên bản và mô tả bạn đã nhập, tên tác giả nếu bạn có nhập, thời điểm xuất bản và một mã định danh ngẫu nhiên. Địa chỉ IP của bạn chỉ được dùng để giữ tần suất xuất bản ở mức hợp lý, và không bao giờ được ghi xuống đĩa. Gói đã xuất bản không được liệt kê ở bất kỳ đâu; bất kỳ ai có liên kết của nó đều có thể tải về. Gói được lưu cho đến khi bị xóa khỏi bảng quản trị, hoặc cho đến khi bạn yêu cầu — hãy viết đến địa chỉ bên dưới và nêu liên kết của nó.
Nếu bạn đăng ký làm người thử nghiệm beta
Biểu mẫu beta và trang đăng ký nhận tin là những nơi duy nhất trang này yêu cầu bạn cung cấp thông tin, ngoài việc xuất bản một thiết kế giao diện (xem ở trên). Gửi biểu mẫu sẽ lưu địa chỉ email của bạn, và bất kỳ thông tin nào sau đây mà bạn chọn cung cấp: tên hoặc hô hiệu, nền tảng, radio bạn định dùng, ghi chú của bạn, và danh sách các tính năng bạn tình nguyện thử. Đi kèm, chúng tôi giữ cùng ngữ cảnh truy cập được mô tả ở trên — vị trí gần đúng, mạng, trình duyệt và hệ điều hành — vì một báo cáo lỗi được hiểu rất khác nhau tùy vào cấu hình mà nó đến từ.
- Địa chỉ được dùng cho một việc duy nhất: liên hệ với bạn về các bản dựng beta và những gì cần thử. Không bản tin, không tiếp thị, và nó không bao giờ được chuyển cho bất kỳ ai khác.
- Không có gì xảy ra cho đến khi bạn xác nhận. Việc đăng ký gửi một email kèm mã sáu chữ số, mà bạn nhập vào trang để xác nhận địa chỉ là của bạn. Mã có hiệu lực trong 30 phút và bị từ chối sau năm lần nhập sai. Cho đến khi mã được nhập, mục đăng ký chưa có tác dụng gì: bạn không có trong danh sách người thử nghiệm, bạn không được đếm, và không có gì được gửi thêm. Nếu ai đó khác đã gõ địa chỉ của bạn, hãy bỏ qua email đó và mục đăng ký sẽ không bao giờ có hiệu lực — không có gì để hủy đăng ký và bạn không phải làm gì cả. Thư đó là thư tự động duy nhất mà một lượt đăng ký có thể tạo ra.
- Nếu bạn đã viết thư cho chúng tôi, chúng tôi có thể mời bạn. Người đã viết thư cho chúng tôi và để lại địa chỉ — chẳng hạn qua ô đề xuất tính năng của ứng dụng — có thể nhận một lời mời cá nhân từ chúng tôi, với một liên kết dùng một lần để mở phím Xác nhận của trang này. Lời mời đó được giữ như một mục đang chờ, đúng như một lượt đăng ký chưa xác nhận: bạn không phải là người thử nghiệm và không được đếm trừ khi bạn bấm Xác nhận, và nếu bạn bỏ qua nó, chúng tôi sẽ không viết thư cho bạn nữa. Một mục đang chờ không tự hết hạn; nó bị xóa khi chúng tôi dọn nó khỏi danh sách hoặc khi bạn yêu cầu, bằng một email tới địa chỉ bên dưới.
- Sau khi bạn xác nhận, bạn nhận được liên kết quản lý riêng, và chúng tôi viết thư khi có bản dựng cần đến những gì bạn đã đề nghị thử. Đó là một người viết thư cho bạn, không phải một danh sách thư. Nếu bạn làm mất liên kết, chúng tôi có thể cấp liên kết mới: liên kết cũ ngừng hoạt động ngay lập tức, liên kết mới được gửi cho bạn qua email, và chúng tôi lưu thời điểm cấp cùng việc email đã được gửi hay chưa.
- Email đó đi qua Apple. Thư của
foxsdr.comđược dịch vụ iCloud Mail của Apple chuyển, nên địa chỉ của bạn và thư sẽ đi qua máy chủ của họ trên đường tới bạn, theo các điều khoản của họ với tư cách nhà cung cấp dịch vụ thư của chúng tôi. Không có gì khác về bạn được gửi cho họ. - Nó được giữ tách biệt với dữ liệu phân tích. Các lượt đăng ký nằm trong tệp riêng, chỉ tài khoản chạy máy chủ mới đọc được; nhật ký phân tích ghi rằng có một lượt đăng ký đã diễn ra và bao nhiêu tính năng đã được chọn, không bao giờ ghi là ai. Một bài kiểm thử tự động làm bản dựng thất bại nếu có bất kỳ địa chỉ nào lọt vào nhật ký phân tích.
- Đăng ký lại bằng một địa chỉ đã có trong danh sách sẽ không thay đổi mục đó. Các thay đổi được thực hiện từ trang người thử nghiệm của chính bạn. Thay vào đó, địa chỉ ấy sẽ nhận một email: liên kết riêng của nó nếu đã xác nhận, hoặc một mã mới nếu chưa, và không bao giờ quá một lần trong 15 phút.
- Chúng tôi giữ một bản sao những gì đã gửi cho bạn. Mọi thư mà trang này gửi cho một người thử nghiệm — thư xác nhận, và mỗi thư về một bản dựng — đều được giữ cùng nội dung của nó, để chúng tôi xem được đã nói gì và thư có tới nơi hay không. Bản sao được lưu theo mã nội bộ của bạn, không theo địa chỉ, và các phần mang tính cá nhân trong đó (mã hoặc liên kết xác nhận, và liên kết quản lý của chính bạn) được loại bỏ trước khi lưu, để một thư được giữ lại không bao giờ có thể bị dùng để hành động thay bạn. Các bản sao này bị xóa cùng phần còn lại của mục đăng ký khi bạn rời đi.
- Tin nhắn giữa bạn và chúng tôi được lưu giữ. Ô Tin nhắn trong cổng thông tin người thử nghiệm của bạn là cuộc trò chuyện với người đang làm FoxSDR: những gì chúng tôi viết cho bạn và những gì bạn trả lời, mỗi tin kèm thời điểm viết và, nếu bạn đã chọn, báo cáo mà tin đó nói đến. Cuộc trò chuyện được lưu theo mã nội bộ của bạn, không theo địa chỉ email, và chỉ bạn (với liên kết riêng của bạn) và chúng tôi đọc được. Chúng tôi cũng ghi nhận khi tin nhắn của chúng tôi đã hiện trên màn hình của bạn, để biết rằng tin đã đến nơi. Khi trang của bạn đang mở, trang sẽ hỏi tin nhắn mới vài giây một lần, nên tin nhắn hiện ra ngay khi được viết, và cho biết đã bao lâu kể từ lần cuối bạn sử dụng trang; trong lúc trang còn hỏi, và nửa phút sau đó, và chỉ khi bạn đã dùng trang trong năm phút gần nhất, máy chủ mới biết rằng bạn đang ở đó. Điều này chỉ nằm trong bộ nhớ của máy chủ và không bao giờ được ghi lại. Chúng tôi không gửi email cho mỗi tin nhắn: khi chúng tôi viết lúc bạn vắng mặt, bạn nhận được một email ngắn báo rằng có tin nhắn đang chờ, kèm liên kết của bạn và không kèm nội dung tin nhắn. Khi tin nhắn đó chưa được đọc, sẽ không có email nào như vậy nữa trong tối đa 12 giờ, cũng không trong vòng nửa giờ sau email trước; và nếu bạn đang ở trên trang khi chúng tôi viết nhưng mười phút sau vẫn chưa xem tin nhắn, email sẽ được gửi khi đó. Một bản sao của email đó được lưu như mô tả ở trên; khi bạn viết, không có email nào được gửi đi. Cuộc trò chuyện được lưu cho đến khi bạn rời chương trình hoặc yêu cầu chúng tôi xóa, và việc rời chương trình sẽ xóa toàn bộ.
- Được giữ cho đến khi chương trình beta kết thúc, hoặc cho đến khi bạn yêu cầu. Một email tới địa chỉ bên dưới sẽ đưa bạn ra khỏi danh sách và xóa mục đăng ký — bạn không cần nêu lý do.
- Cơ sở pháp lý ở đây là sự đồng ý của bạn, được thể hiện bằng việc đánh dấu vào ô; biểu mẫu không gửi được nếu thiếu nó.
Nếu bạn là người thử nghiệm beta và nhập mã người thử nghiệm vào FoxSDR
Trang người thử nghiệm của bạn (ở trên) cung cấp cho bạn một liên kết quản lý riêng tư và, từ đó, một mã người thử nghiệm mà bạn có thể nhập trực tiếp vào FoxSDR, tại HỆ THỐNG → Mã người thử nghiệm. Điều này khác với báo cáo sử dụng ẩn danh đã mô tả ở trên: báo cáo sử dụng cố tình không thể truy ngược về bạn, trong khi một phiên được báo cáo bằng mã người thử nghiệm của bạn cố tình được liên kết với mục người thử nghiệm của bạn — đó chính là mục đích, để chúng tôi có thể thấy những tính năng và plugin nào mà những người thực sự thử nghiệm chúng đã thử. Nó tắt trừ khi bạn nhập mã, và trường này mặc định là trống.
Liên kết FoxSDR trên trang người thử nghiệm của bạn cấp cho FoxSDR một mã ứng dụng riêng, để liên kết riêng của bạn không bao giờ phải nhập vào ứng dụng. Mã ứng dụng chỉ làm được hai việc: gửi các báo cáo phiên được mô tả bên dưới, và gửi cũng như đọc tin nhắn trong hộp Tin nhắn của bạn. Nó không thể xem địa chỉ của bạn, thay đổi mục đăng ký hay xóa bạn. Mã được lưu cùng mục đăng ký người thử nghiệm của bạn; nhấn Liên kết mới sẽ hủy mã, sau đó cần liên kết lại FoxSDR, và rời chương trình sẽ xóa mã cùng phần còn lại của mục đăng ký.
Miễn là một mã được nhập, khoảng một lần mỗi phiên FoxSDR gửi cái này, và không gì khác:
| Dữ liệu gửi | Ví dụ | Lý do |
|---|---|---|
| Mã người thử nghiệm của bạn | mã ứng dụng từ Liên kết FoxSDR, hoặc mã thông báo từ trang người thử nghiệm của bạn | Cho biết phiên này thuộc mục người thử nghiệm nào. Nó được quy đổi thành mã người thử nghiệm nội bộ của bạn và bản thân nó không bao giờ được lưu — cùng quy tắc mà trang này áp dụng cho mã định danh cài đặt của báo cáo sập. |
| Phiên bản ứng dụng | 0.99.42 | Bạn đang thử nghiệm bản dựng nào. |
| Nền tảng và kiến trúc | windows, x64 | Như trên. |
| Phiên bắt đầu lúc nào | 2026-09-25T14:32:00Z | Dùng để cho biết một tính năng hoặc plugin thực sự được sử dụng gần đây đến mức nào, và báo cáo được lưu giữ bao lâu — không phải khi báo cáo đến được máy chủ này, điều này có thể muộn hơn nếu FoxSDR đợi đến lần khởi động tiếp theo mới gửi. Bị từ chối thẳng nếu cho rằng đó là hơn vài phút trong tương lai, hoặc cũ hơn khung thời gian lưu giữ một năm bên dưới. |
| Độ dài phiên | 42 phút | Phiên kéo dài bao lâu, tối đa một ngày. |
| Tính năng đã dùng | spectrum, adsb | Những khu vực nào trên bảng ô của trang người thử nghiệm mà bạn thực sự đã dùng trong phiên này — chỉ các id mà trang này đã công bố; mọi thứ khác bị từ chối hoàn toàn. |
| Plugin đã dùng, phiên bản và thời gian sử dụng | adsb-decoder 1.8.0, 30 min | Những mục và phiên bản nào trong danh mục plugin thực sự được sử dụng. Một plugin cài từ trang plugin bạn đã thêm (từ FoxSDR 0.99.74) được báo cáo bằng id và phiên bản như mọi plugin đã lắp khác; địa chỉ của trang không được báo cáo. |
| Radio đã dùng | rtlsdr | Loại trình điều khiển nào, không phải số sê-ri hay bất kỳ chi tiết nhận dạng nào khác. |
- Những gì được lưu trữ là ID người thử nghiệm của bạn (không bao giờ là mã hoặc địa chỉ của bạn), thời điểm báo cáo được chấp nhận, thời điểm bắt đầu phiên nêu ở trên, phiên bản, nền tảng, thời lượng phiên, cùng các tính năng, plugin và radio nêu ở trên — mỗi phiên được chấp nhận một dòng, được lưu giữ tối đa một năm rồi tự động xóa, tính từ thời điểm phiên thực sự bắt đầu, không phải từ khi báo cáo đến máy chủ này.
- Những gì được hiển thị công khai là một con số, không bao giờ là tên. Thẻ của một plugin trên trang chủ sẽ có thêm một ghi chú nhỏ “được N người thử nghiệm beta thử nghiệm” ngay khi phiên bản hiện tại được phát hành của nó được ít nhất hai người thử nghiệm khác nhau sử dụng tổng cộng ít nhất mười phút — dưới mức đó sẽ không hiển thị gì cả, và không trang nào liệt kê những người thử nghiệm đó là ai. Các con số trên trang người thử nghiệm của riêng bạn và trên bảng quản trị là cùng một dữ liệu, chỉ được xem chi tiết hơn; người thử nghiệm không bao giờ được nêu tên với nhau.
- Địa chỉ IP của bạn chỉ được dùng để giữ tốc độ gửi ở mức hợp lý, và không bao giờ được ghi vào đĩa.
- Cách dừng lại: xóa mã người thử nghiệm khỏi cài đặt FoxSDR, và sẽ không còn gì được gửi nữa. Bạn không cần rời chương trình beta để làm điều đó.
- Rời chương trình sẽ xóa nó. Việc xóa mục của bạn, từ trang người thử nghiệm của bạn hoặc bằng cách yêu cầu chúng tôi, sẽ xóa mọi báo cáo phiên đã được ghi lại cho bạn cùng với phần còn lại của mục của bạn — việc xóa tương tự như phần còn lại của mục này mô tả, cũng áp dụng cho dữ liệu này.
- Cơ sở pháp lý là cùng một sự đồng ý bao phủ phần còn lại của mục người thử nghiệm của bạn: nhập mã là hành động bạn tự thực hiện, và không có gì được gửi nếu không có nó.
Nếu bạn đăng ký nhận tin qua email
Trang tin tức chỉ yêu cầu một thứ: địa chỉ email của bạn. Nó được giữ để chúng tôi gửi email cho bạn khi có phiên bản FoxSDR mới, và thỉnh thoảng về những gì đang được xây dựng. Nó không được dùng vào việc gì khác và không bao giờ được chuyển cho ai.
- Không có gì xảy ra cho đến khi bạn xác nhận. Việc đăng ký gửi một email kèm mã sáu chữ số để nhập vào trang. Cho đến khi mã được nhập, không có gì khác được gửi, và một địa chỉ chưa xác nhận trong vòng một tuần sẽ bị xóa - bởi mã chạy trên máy chủ mỗi ngày. Nếu ai đó khác đã gõ địa chỉ của bạn, hãy bỏ qua email đó.
- Mỗi email đều có một liên kết để đưa bạn ra khỏi danh sách chỉ với một lần bấm. Rời danh sách sẽ xóa địa chỉ khỏi tệp của máy chủ, cùng với các bản sao chúng tôi đã giữ của những gì đã gửi tới nó; không có gì về nó được giữ lại.
- Đó là một danh sách riêng. Người đăng ký nhận tin không phải là người thử nghiệm beta: địa chỉ được giữ trong một tệp riêng, chỉ tài khoản chạy máy chủ mới đọc được, và không được đếm hay hiển thị như một người thử nghiệm. Nếu bạn đồng thời là người thử nghiệm, bạn nhận mỗi thư một lần.
- Chúng tôi giữ một bản sao những gì đã gửi cho bạn, được lưu theo một mã nội bộ thay vì địa chỉ của bạn, với mã xác nhận và liên kết hủy đăng ký đã được loại bỏ, đúng như với người thử nghiệm.
- Email đó đi qua Apple, như đã mô tả cho người thử nghiệm ở trên.
- Nhật ký phân tích ghi rằng có một lượt đăng ký đã diễn ra, không bao giờ ghi là ai.
- Cơ sở pháp lý là sự đồng ý của bạn, được thể hiện bằng việc đánh dấu vào ô; biểu mẫu không gửi được nếu thiếu nó.
Cookie
| Cookie | Mục đích | Thời hạn |
|---|---|---|
fox_consent | Ghi nhớ bạn đã chấp nhận hay từ chối, để bạn chỉ bị hỏi một lần | 1 năm (chấp nhận) / 6 tháng (từ chối) |
fox_vid | Một mã định danh ngẫu nhiên để lần truy cập lại được nhận ra là cùng một trình duyệt. Chỉ được đặt nếu bạn chấp nhận. | 400 ngày |
fox_sid | Gom một lần ngồi truy cập thành một phiên. Chỉ được đặt nếu bạn chấp nhận. | 30 phút không hoạt động |
fox_beta | Giữ liên kết người thử nghiệm beta của bạn để bạn quay lại được mục của chính mình. Chỉ được đặt nếu bạn đăng ký làm người thử nghiệm, và chỉ vì đó là điều bạn đã yêu cầu — nó không đo lường gì, nên không thuộc lựa chọn phân tích ở trên. Tự xóa mình khỏi danh sách sẽ xóa nó. | 400 ngày |
foxsdr_lang | Ghi nhớ ngôn ngữ bạn đã chọn cho trang này, để trang tiếp theo cũng hiển thị bằng ngôn ngữ đó. Chỉ được đặt khi chính bạn chọn một ngôn ngữ — bằng bộ chọn ngôn ngữ hoặc một liên kết có ?lang= — và nó không chứa gì ngoài mã của ngôn ngữ đó, chẳng hạn es. Nó không đo lường gì, nên không thuộc lựa chọn phân tích ở trên. | 1 năm |
fox_news_joined | Không phải cookie: một cờ trong bộ nhớ riêng của trình duyệt, không bao giờ được gửi cho chúng tôi. Sau một lượt tải, trang hỏi bạn có muốn nhận tin qua email không; khi bạn đã đăng ký và xác nhận từ trình duyệt này, nó thôi hỏi. Nó không chứa gì ngoài 1, và chỉ khi bạn đã đăng ký. | Cho đến khi bạn xóa dữ liệu của trang này |
Nếu bạn từ chối, không cookie định danh nào được đặt. Khi đó các lượt truy cập được gom nhóm theo một giá trị băm của địa chỉ và trình duyệt của bạn được xoay vòng hằng ngày, giúp phân biệt khách truy cập cho mục đích đếm và không thể dùng để theo dõi bạn giữa các ngày hay giữa các trang web. Bạn có thể đổi ý bằng cách xóa cookie của trang này và tải lại.
Bạn thấy ngôn ngữ nào
Các trang có thể được hiển thị bằng những ngôn ngữ khác ngoài tiếng Anh. Bạn nhận ngôn ngữ nào được quyết định trên máy chủ cho mỗi trang bạn yêu cầu, theo thứ tự này: ngôn ngữ chính bạn đã chọn (cookie foxsdr_lang ở trên, hoặc ?lang= trong liên kết); nếu không có thì các ngôn ngữ mà trình duyệt nói bạn ưa thích, từ header Accept-Language của nó; nếu không có thì ngôn ngữ chính của quốc gia mà kết nối của bạn đến từ, được Cloudflare, mạng đứng trước trang này, chuyển kèm theo yêu cầu dưới dạng mã quốc gia hai chữ cái (CF-IPCountry); nếu không thì tiếng Anh. Không có gì được lưu để đưa ra lựa chọn đó: header và mã quốc gia được đọc cho đúng phản hồi đó và không được giữ lại cho nó. Đó chính là hai thứ mà bảng ở trên đã liệt kê là được ghi lại cùng mỗi lượt xem trang, trong đó mã quốc gia được dùng khi dịch vụ tra cứu địa chỉ của chính chúng tôi không có câu trả lời. Các bản dịch được thực hiện bằng máy, và trên thông báo này cũng như các giấy phép, văn bản tiếng Anh là văn bản có giá trị ràng buộc.
Tại sao, và trên cơ sở nào
Mục đích rất hẹp: biết có bao nhiêu người tìm thấy dự án này, họ ở đâu một cách gần đúng, họ chạy nó trên gì, và bao nhiêu người đi tiếp tới việc tải nó về. Đó là điều quyết định công việc có tiếp tục hay không và thứ gì sẽ được xây dựng tiếp theo.
Các bản ghi phía máy chủ được giữ trên cơ sở lợi ích chính đáng trong việc hiểu và bảo vệ trang web. Các chi tiết do trình duyệt báo và các cookie định danh được giữ trên cơ sở sự đồng ý của bạn, đó là lý do chúng nằm sau biểu ngữ và lý do việc từ chối không khiến bạn mất gì trên trang này.
Được giữ bao lâu, và ai xem được
Các bản ghi được giữ trong 24 tháng rồi bị xóa. Chúng nằm trong một tệp trên máy chủ, sau một bảng điều khiển có mật khẩu mà chỉ người duy trì dự án mới mở được. Không có người nhận nào khác và không có việc chuyển dữ liệu sang nước thứ ba nào ngoài lượt tra cứu IP đã mô tả.
Có hai thứ được giữ ngắn hơn. Báo cáo sập và treo bị xóa 90 ngày sau lần cuối lỗi mà chúng mô tả được ghi nhận, và các báo cáo sử dụng do Cloudflare xử lý bị xóa sau ba tháng. Mỗi thời hạn đó được thực thi bởi mã chạy trên máy chủ mỗi ngày, không phụ thuộc vào việc ai đó nhớ làm.
Quyền của bạn
Nếu bạn ở Vương quốc Anh hoặc EU, bạn có thể yêu cầu một bản sao những gì được lưu về bạn, yêu cầu sửa hoặc xóa, hoặc phản đối việc thu thập chúng — kể cả các bản ghi phía máy chủ không phụ thuộc vào sự đồng ý. Mã định danh thực tế để tìm các bản ghi của bạn là địa chỉ IP của bạn vào thời điểm truy cập, vì vậy hãy ghi kèm nó và khoảng thời gian bạn đã truy cập.
Với ứng dụng, các nút điều khiển nằm ngay trong phần mềm, và có ba nút:
- HỆ THỐNG → Báo cáo sử dụng dừng báo cáo sử dụng và nhịp năm phút, và xóa mã cài đặt. Bật lại sau đó và bạn sẽ nhận một mã mới không thể liên kết với mã cũ.
- HỆ THỐNG → Chẩn đoán ngăn việc ghi hoặc gửi báo cáo sập và treo.
- HỆ THỐNG → Cập nhật dừng việc kiểm tra cập nhật (với bản Microsoft Store, là câu hỏi gửi đến Microsoft Store).
Các báo cáo không chứa gì có thể liên hệ tới bạn, nên không có gì để yêu cầu truy cập; nếu bạn muốn một mã cài đặt được xóa khỏi các báo cáo đã gửi, hãy viết thư tới địa chỉ bên dưới và ghi mã đó, và nó sẽ bị xóa.
Trẻ em. FoxSDR là một công cụ kỹ thuật dành cho người chơi radio. Nó không hướng tới trẻ em, nó không thu thập thông tin cá nhân của bất kỳ ai, và vì vậy không thu thập thông tin nào của trẻ em.
Viết thư tới [email protected]. Bạn cũng có thể khiếu nại với Văn phòng Ủy viên Thông tin (Information Commissioner's Office, ico.org.uk) nếu bạn cho rằng việc này đã bị xử lý không tốt.
Cập nhật lần cuối ngày 28 tháng 9 năm 2026, theo FoxSDR 0.99.42 — bản dựng mà trang này hiện đang cung cấp, và là bản mà mọi tuyên bố ở trên đã được đối chiếu trong mã nguồn của nó. FoxSDR được phát hành bởi Steven Fox; hãy viết thư tới địa chỉ ở trên nếu có bất kỳ câu hỏi nào về thông báo này hoặc để xóa một mã cài đặt khỏi các báo cáo đã gửi. Nếu có lúc thông báo này không còn khớp với những gì phần mềm làm, thì phần mềm là bên sai — việc thu thập của trang web được triển khai trong store.go và app.js, cả hai đều đọc được trong mã nguồn của chính trang, và danh sách riêng của ứng dụng đi kèm nó dưới dạng PRIVACY.md với một bài kiểm thử ràng buộc dữ liệu gửi đi với danh sách đó.