Skip to content

Operation system for boards. The Operating System allows you to use the board as a security key.

License

Notifications You must be signed in to change notification settings

adm1nsys/XenithOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

XenithOS

Operation system for boards. The Operating System allows you to use the board as a security key.


Boards Support:

Support Release Tables:

ESP8266 (ideaspark)

OS Version Connection Type Release Data
Version 1 Beta 1 Type 1 2024 5 May
Version 1 Beta 2 RC Type 2a 2024 18 May
OS Version TOTP/OTP Fido2 U2F WebAuthn
Version 1 Beta 1 1 Key
Version 1 Beta 2RC Infinity Keys

ESP8266 (regular)

OS Version Connection Type Release Data
OS Version TOTP/OTP Fido2 U2F WebAuthn

ESP32

OS Version Connection Type Release Data
OS Version TOTP/OTP Fido2 U2F WebAuthn

Rasberry Pi Pico

OS Version Connection Type Release Data
OS Version TOTP/OTP Fido2 U2F WebAuthn

Rasberry Pi Zero

OS Version Connection Type Release Data
OS Version TOTP/OTP Fido2 U2F WebAuthn

ESP 8266 ideaspark Content:

Pinout:

The pinout of the ESP 8266 ideaspark board is different from the regular ESP 8266. Be careful!

Pinout Scheme:

Image Original Source | Raw File | Download Image

Connect To Computer:

To connect board to Computer (Mac/Linux/Other) use Micro USB Cabel and Arduino ide Program.

Setup Bord
To Setup bord in program use this instraction:
Image Original Source | Raw File | Download Image

This instruction is the same for all OS. Only the buttons can be located/look different.

ESP 8266 ideaspark Connection Types (Pins):

Type 1:

Actual for:
Board Pereferial Action
D1 Button 1 Pin 1 Top/Back To Menu
G (GND) Button 1 Pin 2 -
D2 Button 2 Pin 1 Botton
G (GND) Button 2 Pin 2 -
Flash On Board Apply

Type 2a:

Actual for:
Board Pereferial Action
D1 Button 1 Pin 1 Top in Menu or Previous Page
G (GND) Button 1 Pin 2 -
D2 Button 2 Pin 1 Bottom in Menu or Next Page
G (GND) Button 2 Pin 2 -
C4 Button 3 Pin 1 Home
G (GND) Button 3 Pin 2 -
D7 Button 4 Pin 1 Apply
G (GND) Button 4 Pin 2 -
Flash or G3 On Board Sleep or Wake Up

The connection is not consistent (D0..C4) due to the unstable behavior of the board specifically on some pins. This may just be my problem. However, I decided to avoid using these unstable pins to ensure users do not encounter similar issues. Additionally, I observed artifacts on the screen when using some of these pins.

Artifacts Example

Connection


Versions:

Version 1 Beta 1:

⚠️ Note ⚠️:
This is a beta version and there are still bugs and shortcomings. Perhaps not all bugs were noticed and fixed. It is better to wait for the RC (Release Candidate) or Release release. Be careful!

🛠️ Bugs 🛠️:
  1. Time Sync
  2. Time is not automatically synchronized when the OS starts. You have to sync it manually.
Released:
2024 5 May

Connection Type:
Type 1

XenithOS.ino:
Raw
Download

XenithOS.cpp:
Raw
Download

Setup Software:

Coppy code to Arduino ide, read instruction on line 9, or read it here:
1. Connect Wi-Fi (line 17-18).
2. Write your key (line 26).
3. Name Servise. (line 34).
4. You can change time server (line 21 or 22).

Status Bar:

Bottom right you will see 2 icons:
Left icon is time sync status.
Right icon is wifi connection status.
! Problem with time
T No problem with time
X No Wi-Fi connection
W No problem with Wi-Fi

Navigation:

D1(pin) Button: Action top in menu or back to menu.
D2(pin) Button: Action bottom in menu.
Flash Button (on board): Action apply (open item in menu).

Version 1 Beta 2RC:

⚠️ Note ⚠️:
This is a Release Candidate version. There may be minor Bugs.

🛠️ Bugs 🛠️:
  1. Not found at this time.
Released:
2024 18 May

Connection Type:
Type 2a

XenithOS.ino:
Raw
Download

XenithOS.cpp:
Raw
Download

Setup Software:

Coppy code to Arduino ide, read instruction on line 28, or read it here:

1. Wi-Fi Networks

  • Paste the Wi-Fi name in the first area "".
  • Paste the Wi-Fi password in the second area "".
  • You can add and remove networks, using one or multiple networks.
  • Do not lose the "," after {"Network Name", "Password"}.
    • The correct format is {"Network Name", "Password"},.

2. Time Servers

  • Uncomment one of the following lines to use it for time synchronization.
  • Remove or add // before the line to select the time server.

3. TOTP Keys and Titles

  • The first area "" is the title/name of the service in the menu.
  • You can name it as you wish: MyMeta, Instagram5, @_name_, etc.
  • Do not use \, ", or ' in the title unless you properly escape them.
  • It is recommended to use letters (Aa-Zz) and numbers (0-9) in the title.
  • When you obtain your TOTP Key for generation, it may have a format like this: X00X 00XX 0XXX XXXX.
    • Remove spaces to get the correct format: X00X00XX0XXXXXXX. After that, paste the code into the second area "".
  • Similar to Wi-Fi Networks, do not forget the ",".

4. Apps in Menu

  • You can add or edit the app names/list/content.

4.1 Edit App List

  • To add an app to the list, modify the array similar to Wi-Fi or TOTP. Add the app in the format {"App name", AppView},.
    • After that, add void AppView(); before the array.
    • Then, develop or add the app.

Status Bar:

The status bar has been redesigned and moved to the top. If there are problems with the Internet connection or time synchronization, you will see a triangular icon with “!” at the top right. You should check the Internet availability or run diagnostics in the "Diagnostic" application. Also there you will see the name or title of the application, service or menu.

Navigation:

D1(pin) Button: Action top in menu or back to menu.
D2(pin) Button: Action bottom in menu.
D3(pin) Button: Action go Home in Menu.
D7(pin) Button: Action Apply or open application.
Flash Button or G3 (on board or pin): Action sleep/wake up board.

ESP 8266 (regular) Content:

Soon

ESP 32 Content:

Soon

Rasberry Pi Pico Content:

Soon

Rasberry Pi Zero Content:

Soon

Infinity Ketys:

You can't actually load infinity keys. You will most likely encounter problems in the 10,000+ range. This limitation is hardware-based because the board's memory is not infinite. For example, ESPs on average have 4 megabytes of internal memory. But it is unlikely that you will store more than 50 Keys on one device. It's too risky.

Releases

No releases published

Packages

No packages published

Languages