Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adm1nsys/xenithos

Operation system for boards. The Operating System allows you to use the board as a security key.
https://github.com/adm1nsys/xenithos

esp8266 ideaspark totp totp-authenticator totp-codes totp-generator totp-tokens xenithos xenos

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

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