Skip to content

Releases

MySetup scan scripts v0.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Nov 12:22

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-missing

Or 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-scanner

The 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

Choose a tag to compare

@github-actions github-actions released this 13 Nov 12:22

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 --cli in 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 as notebook or desktop), 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

  1. In your web browser, go to mysetup.is/setups and sign in if it asks.
  2. Click your build. No build yet? Click Create setup first.
  3. 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.
  4. 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.
  5. 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
  1. 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.
  2. 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.
  3. Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
  4. Double-click mysetup-scan-windows-x86-64.
  5. 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.
  6. 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
  1. 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 in arm64.
  2. Open your Downloads folder in your file manager (on Ubuntu, the Files app).
  3. 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).
  4. 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).
  5. 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)
  1. Download mysetup-scan-windows-x86-64.exe below (on ARM, mysetup-scan-windows-arm64.exe, and use that name in step 4).

  2. Open PowerShell: press the Windows key, type PowerShell, and press Enter.

  3. 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
  4. 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
  5. The report is printed in the window, from the line mysetup-report 1 down to mysetup-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)
  1. Open a terminal: press Ctrl, Alt and T together, or search your applications for Terminal. Over SSH, your SSH
    session is the terminal.

  2. Copy each line, paste it into the terminal with Ctrl+Shift+V, and press Enter after each. On ARM, write arm64 instead
    of x86-64; if you already downloaded the file with your browser, skip the curl line:

    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
  3. The report is printed in the terminal, from the line mysetup-report 1 down to mysetup-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-scanner

The 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/SHA256SUMS

From 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...

Read more

MySetup scan app v0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 09:54

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/cpuinfo gives 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
  1. 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.
  2. 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.
  3. Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
  4. Double-click mysetup-scan-windows-x86-64.
  5. 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.
  6. 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
  1. 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 in arm64.
  2. Open your Downloads folder in your file manager (on Ubuntu, the Files app).
  3. 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).
  4. 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).
  5. 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)
  1. Download mysetup-scan-windows-x86-64.exe below (on ARM, mysetup-scan-windows-arm64.exe, and use that name in step 4).

  2. Open PowerShell: press the Windows key, type PowerShell, and press Enter.

  3. 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
  4. 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
  5. The report is printed in the window, from the line mysetup-report 1 down to mysetup-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)
  1. Open a terminal: press Ctrl, Alt and T together, or search your applications for Terminal. Over SSH, your SSH
    session is the terminal.

  2. Copy each line, paste it into the terminal with Ctrl+Shift+V, and press Enter after each. On ARM, write arm64 instead
    of x86-64; if you already downloaded the file with your browser, skip the curl line:

    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
  3. The report is printed in the terminal, from the line mysetup-report 1 down to mysetup-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-scanner

The 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/SHA256SUMS

From 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Nov 19:00

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.gz with 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 no chmod.
  • 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
  1. 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.
  2. 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.
  3. Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
  4. Double-click mysetup-scan-windows-x86-64.
  5. 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.
  6. 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
  1. 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 in arm64.
  2. Open your Downloads folder in your file manager (on Ubuntu, the Files app).
  3. 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.
  4. 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).
  5. 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)
  1. Download mysetup-scan-windows-x86-64.exe below (on ARM, mysetup-scan-windows-arm64.exe, and use that name in step 4).

  2. Open PowerShell: press the Windows key, type PowerShell, and press Enter.

  3. 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
  4. 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
  5. The report is printed in the window, from the line mysetup-report 1 down to mysetup-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)
  1. Open a terminal: press Ctrl, Alt and T together, or search your applications for Terminal. Over SSH, your SSH
    session is the terminal.

  2. Copy each line, paste it into the terminal with Ctrl+Shift+V, and press Enter after each. On ARM, write arm64 instead
    of x86-64; if you already downloaded the file with your browser, skip the curl line:

    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
  3. The report is printed in the terminal, from the line mysetup-report 1 down to mysetup-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-scanner

The 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/SHA256SUMS

From 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

Choose a tag to compare

@github-actions github-actions released this 07 Nov 13:18

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-missing

Or 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-scanner

The 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 19:00

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 sudo or 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

  1. 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.
  2. 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.
  3. Open your Downloads folder: press the Windows key and E together, then click Downloads on the left.
  4. Double-click mysetup-scan-windows-x86-64.
  5. 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.
  6. A page opens in your web browser with your report. Follow the steps on that page.

Step by step on Linux

  1. 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.

  2. 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.

  3. 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)"
  4. 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
  5. Do the same with this line, which starts the app:

    ./mysetup-scan-linux-x86-64
  6. 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-scanner

The 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-64

For 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 18:33

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-scanner

The 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-64

For 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 17:56

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-scanner

The 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-64

For 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.