Repository navigation
Releases
MySetup scan scripts v0.2.0
Version 0.2.0 of the MySetup scan scripts. Each prints a text report of your computer's hardware: the computer's own model,
processor, graphics, motherboard, memory and storage. You read it, then paste it into the Hardware section of your build on
MySetup, where you review every part before anything is saved. Parts from a pasted report are marked
"Detected" at most; the app (app-v0.2.0) can send its report with a code, which can make them Verified.
The scripts only read. They use no network, write no files, install nothing and do not ask for root unless you say so.
New since 0.1.0: the report names the computer itself, as its firmware does (system.vendor, model, family, version, sku
and chassis: a laptop's or a prebuilt's maker and model, and whether it is a desktop, a laptop or a server), on a physical computer
only. Its serial number, UUID and asset tag are never read, and a built computer's placeholders ("System Product Name") are left
out. MySetup's review shows it as a line of its own.
Files
| File | For |
|---|---|
mysetup-scan.sh |
Linux, macOS, the BSDs and other Unix-like systems: sh mysetup-scan.sh |
mysetup-scan.ps1 |
Windows, in PowerShell: powershell -ExecutionPolicy Bypass -File .\mysetup-scan.ps1 |
SHA256SUMS |
Checksums of both |
MySetup's build page serves the same two files, with the same checksums.
Check a download
Compare it with the checksums:
sha256sum -c SHA256SUMS --ignore-missingOr check GitHub's attestation, which records that the file was built from this repository at this tag:
gh attestation verify mysetup-scan.sh --repo eddinn/mysetup-scannerThe scripts are not code-signed. Windows blocks unsigned scripts from the internet by default; -ExecutionPolicy Bypass lifts that
for one run and changes no setting.
Where it has been tested
Tested on real machines: Windows x86-64 (PowerShell 5.1, without admin rights) and Linux x86-64 with systemd (Debian 13, without
root). On other systems the scripts run, but say "untested on this system", and the report says tested=no: please check such a
report before you paste it, and tell us how it went. In a virtual machine or a container a report says so; inside WSL the script
sends you to the Windows script.
The scripts also ran cleanly on GitHub's Linux, Windows and macOS runners and in containers of Alpine, Debian, Ubuntu, Fedora,
Rocky, Arch, openSUSE and Void. That shows they run there and print a valid report, not that real hardware reads correctly.
What a report never contains
Usernames, hostnames, IP or MAC addresses, motherboard or system UUIDs, machine GUIDs, Windows SIDs, product keys, serial numbers of
the computer, its chassis or any part, asset tags, file paths, file names, network names or other software. The report format is in
docs/report-format.md.
Licence: Apache-2.0.
MySetup scan app v0.2.0
Version 0.2.0 of the MySetup scan app, for Windows and Linux: it sends your report to your build with a code from your build
page. It reads your computer's hardware (the computer's own model, processor, graphics, motherboard, memory and storage, by name
only) and shows the report on a page in your web browser, or in the terminal with --cli. You check every part on
MySetup before anything is saved.
What it sends, and when: only when you type a code from your build page, only to mysetup.is over HTTPS, and only the report you
see on the page or in the terminal. The code works once, for 10 minutes, and ties the report to your build. Without a code it
sends nothing, and you can copy and paste the report as before. It writes no files and installs nothing.
New since 0.1.0
- Send it to your build: on the app's page, type the code in the box under Send it to your build and click Send to my
build, then Open the review; with--cliin a terminal, the app asks for the code after the report, and Enter without
one gives the copy-and-paste steps. A report the app sends can be marked Verified on your build, where a pasted one is
Detected at most. - The computer's own model: the report now names the computer itself, as its firmware does (a laptop's or a prebuilt's maker
and model, family, version and SKU, and its chassis, such asnotebookordesktop), on a physical computer only. Its serial
number, UUID and asset tag are never read. A built computer's placeholders ("System Product Name") are left out.
Last: send it with a code
- In your web browser, go to mysetup.is/setups and sign in if it asks.
- Click your build. No build yet? Click Create setup first.
- Scroll down to Hardware and find Scan this computer. Open With the MySetup app and click Get a code. The code
works once, for 10 minutes. - Type the code into the app: on its page in the box under Send it to your build, then click Send to my build; in the
terminal where it asks, then press Enter. It sends the report you see to mysetup.is, and nothing else. - Open the review: on the page, click Open the review; in the terminal, open the address it prints. Check each part, then
click Add these parts. Nothing changes in your build until you do.
Two ways to start it
- Double-click it (the usual way): your report opens on a page in your web browser, with a Copy button and the steps.
- In a terminal, with
--cli: the report is printed in the terminal, with the steps. This is the way on a server or over SSH.
Pick one and follow its steps to the end.
Windows: download and double-click
- Download mysetup-scan-windows-x86-64.exe below. On a Windows computer with an ARM processor (such as a Snapdragon laptop),
download mysetup-scan-windows-arm64.exe instead. - If your browser says the file "isn't commonly downloaded", keep it: in Edge, point at the warning, click the three dots
...,
click Keep, then Show more, then Keep anyway; in Chrome, click Keep. - Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
- Double-click mysetup-scan-windows-x86-64.
- Windows shows a blue box, "Windows protected your PC". Click More info, then Run anyway. Windows says this because the
app is new and not yet code-signed. - A page opens in your web browser with your report. Follow the steps on that page.
If Windows says Smart App Control blocked the app and offers no way to run it, use the script
(v0.2.0) instead: Smart App Control blocks apps that are not
code-signed yet.
Linux: download, extract and double-click
- Download mysetup-scan-linux-x86-64.tar.gz below. On an ARM computer, such as a Raspberry Pi 4 or 5 with a 64-bit system,
download mysetup-scan-linux-arm64.tar.gz instead; its names below end inarm64. - Open your Downloads folder in your file manager (on Ubuntu, the Files app).
- Double-click mysetup-scan-linux-x86-64.tar.gz. Ubuntu's Files unpacks it into a new folder,
mysetup-scan-linux-x86-64. If your file manager shows what is inside the file instead, right-click the file and click
Extract Here (some file managers call it Extract). - Double-click the folder mysetup-scan-linux-x86-64 to open it, then double-click mysetup-scan in it. If a box asks
whether to run it, click Run (some file managers call it Execute). - A page opens in your web browser with your report. Follow the steps on that page.
If nothing happens at step 4, your file manager does not start programs: follow Linux: in a terminal below instead.
Windows: in a terminal (--cli)
-
Download mysetup-scan-windows-x86-64.exe below (on ARM, mysetup-scan-windows-arm64.exe, and use that name in step 4).
-
Open PowerShell: press the Windows key, type PowerShell, and press Enter.
-
Copy this line, paste it into PowerShell (a right-click in the window pastes), and press Enter. It takes PowerShell to your
Downloads folder:cd (New-Object -ComObject Shell.Application).NameSpace('shell:Downloads').Self.Path
-
Do the same with this line, which starts the app. If a blue box says "Windows protected your PC", click More info, then
Run anyway:.\mysetup-scan-windows-x86-64.exe --cli
-
The report is printed in the window, from the line
mysetup-report 1down tomysetup-report-end, with the steps under it.
The app then asks for a code: get one as in Last: send it with a code above, type it and press Enter. Or press
Enter without a code, select the report's lines with the mouse, press Ctrl+C, and follow the steps to paste it.
Linux: in a terminal, or over SSH (--cli)
-
Open a terminal: press Ctrl, Alt and T together, or search your applications for Terminal. Over SSH, your SSH
session is the terminal. -
Copy each line, paste it into the terminal with Ctrl+Shift+V, and press Enter after each. On ARM, write
arm64instead
ofx86-64; if you already downloaded the file with your browser, skip thecurlline:cd "$(xdg-user-dir DOWNLOAD 2>/dev/null || echo ~/Downloads)" curl -fLO https://github.com/eddinn/mysetup-scanner/releases/download/app-v0.2.0/mysetup-scan-linux-x86-64.tar.gz tar -xzf mysetup-scan-linux-x86-64.tar.gz ./mysetup-scan-linux-x86-64/mysetup-scan --cli
-
The report is printed in the terminal, from the line
mysetup-report 1down tomysetup-report-end, with the steps under it.
The app then asks for a code: get one as in Last: send it with a code above, type it and press Enter. Or press
Enter without a code, select the report's lines with the mouse, press Ctrl+Shift+C, and follow the steps to paste it.
With sudo, it also reads memory modules on systems without udev.
There is no Mac app yet; on a Mac, use the script (v0.2.0).
| Option | Does |
|---|---|
--cli |
Prints the report in the terminal instead of opening the page |
--no-browser |
Serves the page without opening a browser, and prints its address to open yourself |
--help, --version |
Shows the options, or the version (0.2.0) |
The page is served from your computer only
It listens on 127.0.0.1 alone, at an address with a random one-time token, and refuses any request without it. It also refuses
another site's name for 127.0.0.1, and a request from another site to end it. A content policy lets the page load nothing from
anywhere else. Details are in docs/app.md.
Check a download
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify mysetup-scan-linux-x86-64.tar.gz --repo eddinn/mysetup-scannerThe attestation records that the file was built from this repository at this tag. Each file was built twice and the release was
refused unless the bytes were the same. You can also rebuild the files yourself and compare them, with Go 1.27.3, bash, GNU tar
and gzip, from a clone at this tag:
tools/build-release.sh dist
cat dist/SHA256SUMSFrom the source archive (.tar.gz) instead, which has no Git history, run
SOURCE_DATE_EPOCH=$(stat -c %Y go.mod) tools/build-release.sh dist.
Where it has been tested
On real machines:
- Sending, on the operator's laptop (Ubuntu 26.04, an MSI GF63 Thin), with a test build of this version sending to MySetup's
staging site (2026-11-13): the code was taken, the report arrived on the build, and the review showed the laptop itself, its
parts and their marks. - A Linux desktop, Ubuntu 26.04 with GNOME on a laptop, as a member would, from the build page on mysetup.is (with
rc.1): the page offered the Linux download by itself; extracted and double-clicked, the app opened its page in the browser; Copy
report and Done worked, and the report was valid. - Four Linux servers, Debian 13 x86-64: the extracted program kept its permission to run, and gave valid reports with
--cli
as an ordinary user and as root, and when started with no terminal and no desktop. - Windows 11 x86-64: valid reports with
--cli. A double-click, the page and running without administrator rights were
tried on earlier test releases, and the Windows app works as they did. Starting again without administrator rights after being
run as administrator has not been tried yet.
The ARM builds ran on GitHub's ARM runner...
MySetup scan app v0.1.0
The first stable release of the MySetup scan app, 0.1.0, for Windows and Linux, replacing the release candidate app-v0.1.0-rc.1. It reads your
computer's hardware (processor, graphics, motherboard, memory and storage, by name only) and shows the report on a page in your web
browser, with six numbered steps to add it to your build on MySetup. You check every part there before
anything is saved.
It is one file with nothing to install. It only reads: it sends nothing anywhere, writes no files and installs nothing.
This version cannot send the report by itself. You copy it and paste it on your build page; the page tells you how, step by
step. Sending it straight to your build with a code from your build page comes in a later version.
Changed since rc.1
- On Linux with an ARM processor (such as a Raspberry Pi), the report names the processor: the app asks the system's own
lscpu
where/proc/cpuinfogives no name, as the script does. Elsewhere nothing changed. - The app and the scripts now also run on ARM processors in CI, on Windows and on Linux, and the Linux arm64 download is checked
as extracted there.
What 0.1.0 is, since the test releases: on Linux the download is a .tar.gz whose program is already allowed to run, so you
extract it and double-click it; started with no terminal, the app says what goes wrong in your desktop's own message box; the
terminal way is --cli, on every system; and every download is built by one script, which the project's CI also runs for every
change.
Two ways to start it
- Double-click it (the usual way): your report opens on a page in your web browser, with a Copy button and the steps.
- In a terminal, with
--cli: the report is printed in the terminal, with the steps. This is the way on a server or over SSH.
Pick one and follow its steps to the end.
Windows: download and double-click
- Download mysetup-scan-windows-x86-64.exe below. On a Windows computer with an ARM processor (such as a Snapdragon laptop),
download mysetup-scan-windows-arm64.exe instead. - If your browser says the file "isn't commonly downloaded", keep it: in Edge, point at the warning, click the three dots
...,
click Keep, then Show more, then Keep anyway; in Chrome, click Keep. - Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
- Double-click mysetup-scan-windows-x86-64.
- Windows shows a blue box, "Windows protected your PC". Click More info, then Run anyway. Windows says this because the
app is new and not yet code-signed. - A page opens in your web browser with your report. Follow the steps on that page.
If Windows says Smart App Control blocked the app and offers no way to run it, use the script
(v0.1.0) instead: Smart App Control blocks apps that are not
code-signed yet.
Linux: download, extract and double-click
- Download mysetup-scan-linux-x86-64.tar.gz below. On an ARM computer, such as a Raspberry Pi 4 or 5 with a 64-bit system,
download mysetup-scan-linux-arm64.tar.gz instead; its names below end inarm64. - Open your Downloads folder in your file manager (on Ubuntu, the Files app).
- Double-click mysetup-scan-linux-x86-64.tar.gz. Ubuntu's Files unpacks it into a new folder,
mysetup-scan-linux-x86-64. If your file manager shows what is inside the file instead, right-click the file and click
Extract Here (some file managers call it Extract). - Double-click the folder mysetup-scan-linux-x86-64 to open it, then double-click mysetup-scan in it. If a box asks
whether to run it, click Run (some file managers call it Execute). - A page opens in your web browser with your report. Follow the steps on that page.
If nothing happens at step 4, your file manager does not start programs: follow Linux: in a terminal below instead.
Windows: in a terminal (--cli)
-
Download mysetup-scan-windows-x86-64.exe below (on ARM, mysetup-scan-windows-arm64.exe, and use that name in step 4).
-
Open PowerShell: press the Windows key, type PowerShell, and press Enter.
-
Copy this line, paste it into PowerShell (a right-click in the window pastes), and press Enter. It takes PowerShell to your
Downloads folder:cd (New-Object -ComObject Shell.Application).NameSpace('shell:Downloads').Self.Path
-
Do the same with this line, which starts the app. If a blue box says "Windows protected your PC", click More info, then
Run anyway:.\mysetup-scan-windows-x86-64.exe --cli
-
The report is printed in the window, from the line
mysetup-report 1down tomysetup-report-end, with the steps under it.
Select those lines with the mouse, press Ctrl+C, and follow the steps.
Linux: in a terminal, or over SSH (--cli)
-
Open a terminal: press Ctrl, Alt and T together, or search your applications for Terminal. Over SSH, your SSH
session is the terminal. -
Copy each line, paste it into the terminal with Ctrl+Shift+V, and press Enter after each. On ARM, write
arm64instead
ofx86-64; if you already downloaded the file with your browser, skip thecurlline:cd "$(xdg-user-dir DOWNLOAD 2>/dev/null || echo ~/Downloads)" curl -fLO https://github.com/eddinn/mysetup-scanner/releases/download/app-v0.1.0/mysetup-scan-linux-x86-64.tar.gz tar -xzf mysetup-scan-linux-x86-64.tar.gz ./mysetup-scan-linux-x86-64/mysetup-scan --cli
-
The report is printed in the terminal, from the line
mysetup-report 1down tomysetup-report-end, with the steps under it.
Select those lines with the mouse, press Ctrl+Shift+C, and follow the steps.
With sudo, it also reads memory modules on systems without udev.
There is no Mac app yet; on a Mac, use the script (v0.1.0).
| Option | Does |
|---|---|
--cli |
Prints the report in the terminal instead of opening the page |
--no-browser |
Serves the page without opening a browser, and prints its address to open yourself |
--help, --version |
Shows the options, or the version (0.1.0) |
The page is served from your computer only
It listens on 127.0.0.1 alone, at an address with a random one-time token, and refuses any request without it. It also refuses
another site's name for 127.0.0.1, and a request from another site to end it. A content policy lets the page load nothing from
anywhere else. Details are in docs/app.md.
Check a download
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify mysetup-scan-linux-x86-64.tar.gz --repo eddinn/mysetup-scannerThe attestation records that the file was built from this repository at this tag. Each file was built twice and the release was
refused unless the bytes were the same. You can also rebuild the files yourself and compare them, with Go 1.27.3, bash, GNU tar
and gzip, from a clone at this tag:
tools/build-release.sh dist
cat dist/SHA256SUMSFrom the source archive (.tar.gz) instead, which has no Git history, run
SOURCE_DATE_EPOCH=$(stat -c %Y go.mod) tools/build-release.sh dist.
Where it has been tested
On real machines:
- A Linux desktop, Ubuntu 26.04 with GNOME on a laptop, as a member would, from the build page on mysetup.is (with
rc.1): the page offered the Linux download by itself; extracted and double-clicked, the app opened its page in the browser; Copy
report and Done worked, and the report was valid. - Four Linux servers, Debian 13 x86-64: the extracted program kept its permission to run, and gave valid reports with
--cli
as an ordinary user and as root, and when started with no terminal and no desktop. - Windows 11 x86-64: valid reports with
--cli. A double-click, the page and running without administrator rights were
tried on earlier test releases, and the Windows app works as they did. Starting again without administrator rights after being
run as administrator has not been tried yet.
The ARM builds ran on GitHub's ARM runners (Windows 11 and Ubuntu 24.04, virtual machines), not yet on a real ARM computer, and
their reports say tested=no: please check such a report before you paste it, and tell us how it went. The app also ran on
GitHub's Windows and macOS runners and the project's own Linux runner, which shows it runs there and gives a valid report, not
that real hardware reads correctly.
In a virtual machine or a container the report says so, and the app suggests running it on the host to include your real hardware.
Inside WSL it declines and sends you to the Windows app.
What a report never contains
Usernames, hostnames, IP or MAC addresses, motherboard or system UUIDs, machine GUIDs, Windows SIDs, product keys, disk serial
numbers, file paths, file names, network names or other software. The report format is in
docs/report-format.md.
Licence: Apache-2.0.
MySetup scan app v0.1.0-rc.1
Replaced by app-v0.1.0, the first stable release, which also names the processor on Linux ARM. Please use 0.1.0.
The release candidate of the MySetup scan app 0.1.0, for Windows and Linux, replacing app-v0.1.0-beta.4. It reads your
computer's hardware (processor, graphics, motherboard, memory and storage, by name only) and shows the report on a page in your web
browser, with six numbered steps to add it to your build on MySetup. You check every part there before
anything is saved.
It is one file with nothing to install. It only reads: it sends nothing anywhere, writes no files and installs nothing.
This version cannot send the report by itself. You copy it and paste it on your build page; the page tells you how, step by
step. Sending it straight to your build with a code from your build page comes in a later version.
Changed since beta.4
- On Linux the download is now a
.tar.gzwith one folder in it, and the program in that folder is already allowed to run. You
extract it and double-click the program: no terminal and nochmod. - Started with no terminal on Linux (a double-click), the app says what goes wrong in your desktop's own message box, where
before it said nothing. - The terminal way is
--cli, on every system. - Every download is built by one script,
tools/build-release.sh, which the project's CI also runs for every change. CI also
checks the Linux download as you extract it.
Two ways to start it
- Double-click it (the usual way): your report opens on a page in your web browser, with a Copy button and the steps.
- In a terminal, with
--cli: the report is printed in the terminal, with the steps. This is the way on a server or over SSH.
Pick one and follow its steps to the end.
Windows: download and double-click
- Download mysetup-scan-windows-x86-64.exe below. On a Windows computer with an ARM processor (such as a Snapdragon laptop),
download mysetup-scan-windows-arm64.exe instead. - If your browser says the file "isn't commonly downloaded", keep it: in Edge, point at the warning, click the three dots
...,
click Keep, then Show more, then Keep anyway; in Chrome, click Keep. - Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
- Double-click mysetup-scan-windows-x86-64.
- Windows shows a blue box, "Windows protected your PC". Click More info, then Run anyway. Windows says this because the
app is new and not yet code-signed. - A page opens in your web browser with your report. Follow the steps on that page.
If Windows says Smart App Control blocked the app and offers no way to run it, use the script
(v0.1.0) instead: Smart App Control blocks apps that are not
code-signed yet.
Linux: download, extract and double-click
- Download mysetup-scan-linux-x86-64.tar.gz below. On an ARM computer, such as a Raspberry Pi 4 or 5 with a 64-bit system,
download mysetup-scan-linux-arm64.tar.gz instead; its names below end inarm64. - Open your Downloads folder in your file manager (on Ubuntu, the Files app).
- Right-click mysetup-scan-linux-x86-64.tar.gz and click Extract Here (some file managers call it Extract). A folder
mysetup-scan-linux-x86-64 appears. - Double-click that folder to open it, then double-click mysetup-scan in it. If a box asks whether to run it, click Run
(some file managers call it Execute). - A page opens in your web browser with your report. Follow the steps on that page.
If nothing happens at step 4, your file manager does not start programs: follow Linux: in a terminal below instead.
Windows: in a terminal (--cli)
-
Download mysetup-scan-windows-x86-64.exe below (on ARM, mysetup-scan-windows-arm64.exe, and use that name in step 4).
-
Open PowerShell: press the Windows key, type PowerShell, and press Enter.
-
Copy this line, paste it into PowerShell (a right-click in the window pastes), and press Enter. It takes PowerShell to your
Downloads folder:cd (New-Object -ComObject Shell.Application).NameSpace('shell:Downloads').Self.Path
-
Do the same with this line, which starts the app. If a blue box says "Windows protected your PC", click More info, then
Run anyway:.\mysetup-scan-windows-x86-64.exe --cli
-
The report is printed in the window, from the line
mysetup-report 1down tomysetup-report-end, with the steps under it.
Select those lines with the mouse, press Ctrl+C, and follow the steps.
Linux: in a terminal, or over SSH (--cli)
-
Open a terminal: press Ctrl, Alt and T together, or search your applications for Terminal. Over SSH, your SSH
session is the terminal. -
Copy each line, paste it into the terminal with Ctrl+Shift+V, and press Enter after each. On ARM, write
arm64instead
ofx86-64; if you already downloaded the file with your browser, skip thecurlline:cd "$(xdg-user-dir DOWNLOAD 2>/dev/null || echo ~/Downloads)" curl -fLO https://github.com/eddinn/mysetup-scanner/releases/download/app-v0.1.0-rc.1/mysetup-scan-linux-x86-64.tar.gz tar -xzf mysetup-scan-linux-x86-64.tar.gz ./mysetup-scan-linux-x86-64/mysetup-scan --cli
-
The report is printed in the terminal, from the line
mysetup-report 1down tomysetup-report-end, with the steps under it.
Select those lines with the mouse, press Ctrl+Shift+C, and follow the steps.
With sudo, it also reads memory modules on systems without udev.
There is no Mac app yet; on a Mac, use the script (v0.1.0).
| Option | Does |
|---|---|
--cli |
Prints the report in the terminal instead of opening the page |
--no-browser |
Serves the page without opening a browser, and prints its address to open yourself |
--help, --version |
Shows the options, or the version (0.1.0-rc.1) |
The page is served from your computer only
It listens on 127.0.0.1 alone, at an address with a random one-time token, and refuses any request without it. It also refuses
another site's name for 127.0.0.1, and a request from another site to end it. A content policy lets the page load nothing from
anywhere else. Details are in docs/app.md.
Check a download
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify mysetup-scan-linux-x86-64.tar.gz --repo eddinn/mysetup-scannerThe attestation records that the file was built from this repository at this tag. Each file was built twice and the release was
refused unless the bytes were the same. You can also rebuild the files yourself and compare them, with Go 1.27.3, bash, GNU tar
and gzip, from a clone at this tag:
tools/build-release.sh dist
cat dist/SHA256SUMSFrom the source archive (.tar.gz) instead, which has no Git history, run
SOURCE_DATE_EPOCH=$(stat -c %Y go.mod) tools/build-release.sh dist.
Where it has been tested
This release candidate, on real machines: four Linux x86-64 servers (Debian 13), where the extracted program kept its permission to
run and gave valid reports with --cli as an ordinary user and as root, and when started with no terminal and no desktop; and
Windows 11 x86-64 with --cli. The Windows app works as beta.4 did, where a double-click, the page and running without
administrator rights were tried; starting again without administrator rights after being run as administrator has not been tried
yet. A double-click on a Linux desktop has not been tried on a real machine yet. The ARM builds have not run on a real machine
yet, and their reports say tested=no: please check such a report before you paste it, and tell us how it went. The app also ran
on GitHub's Linux, Windows and macOS runners and the project's own Linux runner, which shows it runs there and gives a valid report,
not that real hardware reads correctly.
In a virtual machine or a container the report says so, and the app suggests running it on the host to include your real hardware.
Inside WSL it declines and sends you to the Windows app.
What a report never contains
Usernames, hostnames, IP or MAC addresses, motherboard or system UUIDs, machine GUIDs, Windows SIDs, product keys, disk serial
numbers, file paths, file names, network names or other software. The report format is in
docs/report-format.md.
Licence: Apache-2.0.
MySetup scan scripts v0.1.0
The first release of the MySetup scan scripts. Each prints a text report of your computer's hardware: CPU, graphics, motherboard,
memory and storage. You read it, then paste it into the Hardware section of your build on MySetup, where you
review every part before anything is saved. Parts from a report are marked "Detected".
The scripts only read. They use no network, write no files, install nothing and do not ask for root unless you say so.
Files
| File | For |
|---|---|
mysetup-scan.sh |
Linux, macOS, the BSDs and other Unix-like systems: sh mysetup-scan.sh |
mysetup-scan.ps1 |
Windows, in PowerShell: powershell -ExecutionPolicy Bypass -File .\mysetup-scan.ps1 |
SHA256SUMS |
Checksums of both |
MySetup's build page serves the same two files, with the same checksums.
Check a download
Compare it with the checksums:
sha256sum -c SHA256SUMS --ignore-missingOr check GitHub's attestation, which records that the file was built from this repository at this tag:
gh attestation verify mysetup-scan.sh --repo eddinn/mysetup-scannerThe scripts are not code-signed. Windows blocks unsigned scripts from the internet by default; -ExecutionPolicy Bypass lifts that
for one run and changes no setting.
Where it has been tested
Tested on real machines: Windows x86-64 (PowerShell 5.1, without admin rights) and Linux x86-64 with systemd (Debian 13, without
root). On other systems the scripts run, but say "untested on this system", and the report says tested=no: please check such a
report before you paste it, and tell us how it went. In a virtual machine or a container a report says so; inside WSL the script
sends you to the Windows script.
The scripts also ran cleanly on GitHub's Linux, Windows and macOS runners and in containers of Alpine, Debian, Ubuntu, Fedora,
Rocky, Arch, openSUSE and Void. That shows they run there and print a valid report, not that real hardware reads correctly.
What a report never contains
Usernames, hostnames, IP or MAC addresses, motherboard or system UUIDs, machine GUIDs, Windows SIDs, product keys, disk serial
numbers, file paths, file names, network names or other software. The report format is in
docs/report-format.md.
Licence: Apache-2.0.
MySetup scan app v0.1.0-beta.4
Replaced by app-v0.1.0-rc.1, the release candidate: on Linux a .tar.gz you extract and double-click, with no terminal needed. Please use rc.1.
The third test release of the MySetup scan app, for Windows and Linux, replacing app-v0.1.0-beta.3. It reads your computer's
hardware (processor, graphics, motherboard, memory and storage, by name only) and shows the report on a page in your web browser,
with six numbered steps to add it to your build on MySetup. You check every part there before anything is
saved.
It is one file with nothing to install. It only reads: it sends nothing anywhere, writes no files and installs nothing.
This version cannot send the report by itself. You copy it and paste it on your build page; the page tells you how, step by
step. Sending it straight to your build with a code from your build page comes in a later version.
Changed since beta.3
- The page shows six numbered steps, from Copy report to Done, with a button that opens your builds on mysetup.is in a new tab.
The terminal (--cli) shows the same steps. - Started with
sudoor as administrator, the app now opens the page in your browser too, never as root or administrator. With
sudo it reads first, then gives up root and opens the page as you. As administrator on Windows, it starts itself again without
administrator rights.
Step by step on Windows
- Download mysetup-scan-windows-x86-64.exe below. On a Windows computer with an ARM processor (such as a Snapdragon laptop),
download mysetup-scan-windows-arm64.exe instead. - If your browser says the file "isn't commonly downloaded", keep it: in Edge, point at the warning, click the three dots
...,
click Keep, then Show more, then Keep anyway; in Chrome, click Keep. - Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
- Double-click mysetup-scan-windows-x86-64.
- Windows shows a blue box, "Windows protected your PC". Click More info, then Run anyway. Windows says this because the
app is new and not yet code-signed. - A page opens in your web browser with your report. Follow the steps on that page.
Step by step on Linux
-
Download mysetup-scan-linux-x86-64 below. On an ARM computer, such as a Raspberry Pi 4 or 5 with a 64-bit system,
download mysetup-scan-linux-arm64 instead, and use that name in steps 4 and 5. -
Open a terminal, the window where you type commands: press Ctrl, Alt and T together. That works on Ubuntu, Linux
Mint and most others; if nothing opens, open your list of applications and search for Terminal. -
Copy this line, paste it into the terminal with Ctrl+Shift+V (in a terminal, plain Ctrl+V does not paste), and press
Enter. It takes the terminal to your Downloads folder, whatever it is called in your language:cd "$(xdg-user-dir DOWNLOAD 2>/dev/null || echo ~/Downloads)"
-
Do the same with this line. It allows the file to run as a program, which Linux does not allow for a downloaded file until you
say so. You only need to do it once:chmod +x mysetup-scan-linux-x86-64
-
Do the same with this line, which starts the app:
./mysetup-scan-linux-x86-64
-
A page opens in your web browser with your report. Follow the steps on that page.
On a computer with no desktop, such as a server you reach over SSH, the app prints the report in the terminal instead, with the
same steps. With sudo, it can also read memory modules on systems without udev.
| Option | Does |
|---|---|
--cli |
Prints the report in the terminal instead of opening the page |
--no-browser |
Serves the page without opening a browser, and prints its address to open yourself |
--help, --version |
Shows the options, or the version (0.1.0-beta.4) |
The page is served from your computer only
It listens on 127.0.0.1 alone, at an address with a random one-time token, and refuses any request without it. It also refuses
another site's name for 127.0.0.1, and a request from another site to end it. A content policy lets the page load nothing from
anywhere else. Details are in docs/app.md.
Check a download
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify mysetup-scan-linux-x86-64 --repo eddinn/mysetup-scannerThe attestation records that the file was built from this repository at this tag. Each file was built twice and the release was
refused unless the bytes were the same. You can also rebuild a file yourself and compare it. With Go 1.27.3, from this tag (any
clone, or the source archive):
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -trimpath -ldflags='-s -w -buildid=' -o mysetup-scan-linux-x86-64 ./cmd/mysetup-scan
sha256sum mysetup-scan-linux-x86-64For the other files, set GOOS to windows or linux and GOARCH to amd64 or arm64.
Where it has been tested
Real machines: Windows 11 x86-64 without administrator rights, and Linux x86-64 (Debian 13), where the app's reports were identical
to the scripts'. A double-click on Windows and the terminal over SSH were tried there too. Run as root under sudo on a Linux
desktop, a test showed the app giving up root and opening the page as the person who ran sudo, with their own groups, desktop and
home. Starting again without administrator rights on Windows has not been tried yet, since it needs a UAC prompt. The ARM builds have
not run on a real machine yet, and their reports say tested=no: please check such a report before you paste it, and tell us how it
went. The app also ran on GitHub's Linux, Windows and macOS runners, which shows it runs there and gives a valid report, not that
real hardware reads correctly.
In a virtual machine or a container the report says so, and the app suggests running it on the host to include your real hardware.
Inside WSL it declines and sends you to the Windows app.
What a report never contains
Usernames, hostnames, IP or MAC addresses, motherboard or system UUIDs, machine GUIDs, Windows SIDs, product keys, disk serial
numbers, file paths, file names, network names or other software. The report format is in
docs/report-format.md.
Licence: Apache-2.0.
MySetup scan app v0.1.0-beta.3
Replaced by app-v0.1.0-beta.4, which gives numbered steps on its page and opens the page with sudo or as administrator too. Please use beta.4.
The second test release of the MySetup scan app, for Windows and Linux, replacing app-v0.1.0-beta.2. It reads the same hardware report as the scripts (CPU,
graphics, motherboard, memory and storage) and shows it on a page in your own browser, with buttons to copy it or save it as a
file. You then paste it into the Hardware section of your build on MySetup, where you review every part
before anything is saved.
It is one file with nothing to install. It only reads: nothing is sent anywhere, no files are written, nothing is installed, and it
needs no administrator or root.
Changed since beta.2: on Windows, mysetup-scan.exe --cli started by another program that takes its output, such as WSL or a
script redirecting it to a file, no longer waits for an Enter nobody can see. A double-click still keeps its window open with the
report copied when the app cannot open a browser, and opens the page otherwise.
A beta. When this beta was released (2026-11-07), mysetup.is did not yet accept a report from the app (source=app/0.1.0). The
site update that accepts it is being tested. Until it is live, use the report to check what the app reads, or use the scripts.
Files
| File | For |
|---|---|
mysetup-scan-windows-x86-64.exe |
Windows 10 and 11 on Intel or AMD |
mysetup-scan-windows-arm64.exe |
Windows on ARM |
mysetup-scan-linux-x86-64 |
Linux on Intel or AMD |
mysetup-scan-linux-arm64 |
Linux on ARM, such as a Raspberry Pi 4 or 5 with a 64-bit system |
SHA256SUMS |
Checksums of all four |
Run it
- Windows: double-click the file. The app is not code-signed yet, so SmartScreen warns about it: choose "More info", then
"Run anyway". The page opens in your browser and the app's window closes by itself. - Linux:
chmod +x mysetup-scan-linux-x86-64, then./mysetup-scan-linux-x86-64. With a desktop, the page opens in your
browser. Over SSH, with no desktop, or run as root, the app prints the report in the terminal and says why.
The page ends when you click Done, about 90 seconds after its tab closes, or after 15 minutes at most. Options:
| Option | Does |
|---|---|
--cli |
Prints the report in the terminal instead of opening the page |
--no-browser |
Serves the page without opening a browser, and prints its address to open yourself |
--help, --version |
Shows the options, or the version (0.1.0-beta.3) |
On Linux, run with sudo, the app can also read memory modules on a system without udev. It says when that would add something.
The page is served from your computer only
It listens on 127.0.0.1 alone, at an address with a random one-time token, and refuses any request without it. It also refuses
another site's name for 127.0.0.1, and a request from another site to end it. A content policy lets the page load nothing from
anywhere else. Details are in docs/app.md.
Check a download
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify mysetup-scan-linux-x86-64 --repo eddinn/mysetup-scannerThe attestation records that the file was built from this repository at this tag. Each file was built twice and the release was
refused unless the bytes were the same.
You can also rebuild a file yourself and compare it. With Go 1.27.3, from this tag (any clone, or the source archive):
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -trimpath -ldflags='-s -w -buildid=' -o mysetup-scan-linux-x86-64 ./cmd/mysetup-scan
sha256sum mysetup-scan-linux-x86-64For the other files, set GOOS to windows or linux and GOARCH to amd64 or arm64.
Where it has been tested
Real machines: Windows 11 x86-64 without administrator rights, and Linux x86-64 (Debian 13), where the app's reports were identical
to the scripts'. Both front ends were tried there too: a double-click on Windows, and the terminal over SSH. The ARM builds have not
run on a real machine yet, and their reports say tested=no: please check such a report before you paste it, and tell us how it
went. The app also ran on GitHub's Linux, Windows and macOS runners, which shows it runs there and gives a valid report, not that
real hardware reads correctly.
In a virtual machine or a container the report says so, and the app suggests running it on the host to include your real hardware.
Inside WSL it declines and sends you to the Windows app.
What a report never contains
Usernames, hostnames, IP or MAC addresses, motherboard or system UUIDs, machine GUIDs, Windows SIDs, product keys, disk serial
numbers, file paths, file names, network names or other software. The report format is in
docs/report-format.md.
Licence: Apache-2.0.
MySetup scan app v0.1.0-beta.2
Replaced by app-v0.1.0-beta.4. Started by another program that takes its output (WSL, or a script redirecting it), this beta waited on Windows for an Enter nobody could see. Please use beta.4.
The first test release of the MySetup scan app, for Windows and Linux. It reads the same hardware report as the scripts (CPU,
graphics, motherboard, memory and storage) and shows it on a page in your own browser, with buttons to copy it or save it as a
file. You then paste it into the Hardware section of your build on MySetup, where you review every part
before anything is saved.
It is one file with nothing to install. It only reads: nothing is sent anywhere, no files are written, nothing is installed, and it
needs no administrator or root.
A beta. When this beta was released (2026-11-07), mysetup.is did not yet accept a report from the app (source=app/0.1.0). The
site update that accepts it is being tested. Until it is live, use the report to check what the app reads, or use the scripts.
Files
| File | For |
|---|---|
mysetup-scan-windows-x86-64.exe |
Windows 10 and 11 on Intel or AMD |
mysetup-scan-windows-arm64.exe |
Windows on ARM |
mysetup-scan-linux-x86-64 |
Linux on Intel or AMD |
mysetup-scan-linux-arm64 |
Linux on ARM, such as a Raspberry Pi 4 or 5 with a 64-bit system |
SHA256SUMS |
Checksums of all four |
Run it
- Windows: double-click the file. The app is not code-signed yet, so SmartScreen warns about it: choose "More info", then
"Run anyway". The page opens in your browser and the app's window closes by itself. - Linux:
chmod +x mysetup-scan-linux-x86-64, then./mysetup-scan-linux-x86-64. With a desktop, the page opens in your
browser. Over SSH, with no desktop, or run as root, the app prints the report in the terminal and says why.
The page ends when you click Done, about 90 seconds after its tab closes, or after 15 minutes at most. Options:
| Option | Does |
|---|---|
--cli |
Prints the report in the terminal instead of opening the page |
--no-browser |
Serves the page without opening a browser, and prints its address to open yourself |
--help, --version |
Shows the options, or the version (0.1.0-beta.2) |
On Linux, run with sudo, the app can also read memory modules on a system without udev. It says when that would add something.
The page is served from your computer only
It listens on 127.0.0.1 alone, at an address with a random one-time token, and refuses any request without it. It also refuses
another site's name for 127.0.0.1, and a request from another site to end it. A content policy lets the page load nothing from
anywhere else. Details are in docs/app.md.
Check a download
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify mysetup-scan-linux-x86-64 --repo eddinn/mysetup-scannerThe attestation records that the file was built from this repository at this tag. Each file was built twice and the release was
refused unless the bytes were the same.
You can also rebuild a file yourself and compare it. With Go 1.27.3, from this tag (any clone, or the source archive):
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -trimpath -ldflags='-s -w -buildid=' -o mysetup-scan-linux-x86-64 ./cmd/mysetup-scan
sha256sum mysetup-scan-linux-x86-64For the other files, set GOOS to windows or linux and GOARCH to amd64 or arm64.
Where it has been tested
Real machines: Windows 11 x86-64 without administrator rights, and Linux x86-64 (Debian 13), where the app's reports were identical
to the scripts'. Both front ends were tried there too: a double-click on Windows, and the terminal over SSH. The ARM builds have not
run on a real machine yet, and their reports say tested=no: please check such a report before you paste it, and tell us how it
went. The app also ran on GitHub's Linux, Windows and macOS runners, which shows it runs there and gives a valid report, not that
real hardware reads correctly.
In a virtual machine or a container the report says so, and the app suggests running it on the host to include your real hardware.
Inside WSL it declines and sends you to the Windows app.
What a report never contains
Usernames, hostnames, IP or MAC addresses, motherboard or system UUIDs, machine GUIDs, Windows SIDs, product keys, disk serial
numbers, file paths, file names, network names or other software. The report format is in
docs/report-format.md.
Licence: Apache-2.0.