diff --git a/README.md b/README.md index 877cf033..13f9981e 100644 --- a/README.md +++ b/README.md @@ -1,116 +1,29 @@ -What is cleaker? [click here](https://suign.github.io/pages/cleaker.html). + + +SVG Image # Cleaker +Connecting all points within a fixed distance. **Cleaker** is a pronoun representing a [person](https://suign.github.io/this.me/), place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific [user](https://suign.github.io/this.me/), thus facilitating seamless and meaningful interactions within the network. -SVG Image +##### What is cleaker? [click here](https://suign.github.io/pages/cleaker.html). ## Install with npm. ```bash npm i cleaker ``` -### Run: - -```bash -node src/cleaked.js -``` - -You get a **Screenshot.** - # Basic Usage +**Importing Cleaker**: Import the Cleaker class by requiring it from where it's defined. -1. **Importing Cleaker**: Import the Cleaker class by requiring it from where it's defined. - - ```js - const Cleaker = require('./cleaker'); - ``` - ---------------------------------------------------- - -# Dynamic Interaction: - -### Enable dynamic interactions within spaces, allowing different interpretations of the same namespace based on user context. - -Implementing the concept of **"Spaces"** in **Cleaker,** where data within a certain space can be represented or interpreted differently depending on the user. This paradigm ensures that users can instantiate their unique contextual environment or "**space**," interacting seamlessly with their data in a user-specific manner. - -**Unique Interpretation:** In this conceptual space, data representations are unique to the user. For example, the same namespace can hold an image of a cat for one user and an image of a man for another. This dynamic approach ensures tailor-made interactions and experiences for every user. - -**Secure and Personalized Interaction:** With Cleaker, users are not just interacting with the system; they are establishing their private namespaces, securing their interactions and information uniquely. Every piece of information is secured and can only be read or interpreted by the user who left it. - -Dynamic Interaction refers to the real-time and adaptable interactivity within these spaces, allowing users to interpret and interact with data or elements in ways unique to their context or preferences. - -#### Example: -```javascript -userSpaceInstance.interact({ type: 'click', target: 'image' }); // The interaction will be handled differently based on user’s space and preferences. -``` - -### Implementation of Namespaces with Cleaker: -Cleaker being a pronoun representing a person, place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific user, thus facilitating seamless and meaningful interactions within the network. - -#### Namespacing Example: -If Cleaker is an identifier, like `cleaker123`, then a possible namespace could be: - -```sh -cleaker123:space:images:cat.jpg +```js +const Cleaker = require('cleaker'); ``` -### Network Accessibility: -Yes, by identifying spaces and creating pathname (or namespace) based on Cleaker instances, you can indeed create paths that are reachable to anyone in the network, provided they have the necessary permissions and access rights. This way, each user, with their Cleaker as a unique identifier, can have their namespaces in the decentralized network, allowing them to interact, share, and collaborate in a more personalized and secure manner. - -# Authentication - -The process of verifying the identity of a user, system, or application. It answers the question, **"Who are you?"** - -**Cleaker** is a pronoun. A **person, place** or **thing** is **space** and **time.** - -**Example:** A user logging into a website with a username and password. -Authorization is the process of granting or denying access to specific resources based on an authenticated user's or system's permissions. It answers the question, **"What are you allowed to do?"** - -**Example:** Once logged in, a user might be authorized to read content but not edit it. - - ```js - if (cleaked.authenticate('username', 'password')) { - console.log('Authenticated successfully'); - } - ``` - -6. **Data Signing**: Cleaker can also sign data using the `sign` method if the user is authenticated. - - ```js - if (cleaked.authenticated) { - const signature = cleaked.sign('some data'); - console.log('Signature:', signature); - } - ``` - -7. **Device Identification**: Cleaker can generate a unique device identifier. - - ```js - console.log("Device Identifier:", cleaked.deviceIdentifier); - ``` - -# Advanced Usage - -The Cleaker class can be extended and customized to add additional functionalities specific to your application. Its methods can be overridden, and new properties can be added as required. - -Remember to refer to the `cleaker.js` source code for precise understanding, as implementation details might vary. - -1. **Accessing Network Interfaces**: You can access details about network interfaces using `cleaked.networkInterfaces`. This object contains information about each network interface, including IP addresses. - - ```js - console.log(cleaked.networkInterfaces['en0'].details); // Array of network interface details - console.log(cleaked.networkInterfaces['en0'].ip); // Array of IPv4 addresses - ``` +--------------------------------------------------- -2. **Local IP, CPU & Memory Info**: Cleaker provides local IP, CPU architecture, model, and memory details. - ```js - console.log("Local IP:", cleaked.localIP); - console.log("CPU Model:", cleaked.cpu.model); - console.log("Total Memory:", cleaked.memory.total); - ``` -By employing Cleaker, you gain access to robust features that enhance the security and functionality of your application, enabling streamlined interactions with the operating system and network, and providing essential user management capabilities. +[namespaces](NameSpaces.html) [neurons.me](https://www.neurons.me) [neurons.me/this](https://www.neurons.me/this) diff --git a/computer_terminal_with_complex_coding_and_networking_data_displayed_on_the_screen._The_screen_shows_various_elemen-removebg-preview.png b/computer_terminal_with_complex_coding_and_networking_data_displayed_on_the_screen._The_screen_shows_various_elemen-removebg-preview.png new file mode 100644 index 00000000..248270f5 Binary files /dev/null and b/computer_terminal_with_complex_coding_and_networking_data_displayed_on_the_screen._The_screen_shows_various_elemen-removebg-preview.png differ diff --git a/docs/NameSpaces.html b/docs/NameSpaces.html new file mode 100644 index 00000000..dfe76d5a --- /dev/null +++ b/docs/NameSpaces.html @@ -0,0 +1,681 @@ + + + + + +notes + +
+

Dynamic Interaction:

Enable dynamic interactions within spaces, allowing different interpretations of the same namespace based on user context.

Implementing the concept of "Spaces" in Cleaker, where data within a certain space can be represented or interpreted differently depending on the user. This paradigm ensures that users can instantiate their unique contextual environment or "space," interacting seamlessly with their data in a user-specific manner.

Unique Interpretation: In this conceptual space, data representations are unique to the user. For example, the same namespace can hold an image of a cat for one user and an image of a man for another. This dynamic approach ensures tailor-made interactions and experiences for every user.

Secure and Personalized Interaction: With Cleaker, users are not just interacting with the system; they are establishing their private namespaces, securing their interactions and information uniquely. Every piece of information is secured and can only be read or interpreted by the user who left it.

Dynamic Interaction refers to the real-time and adaptable interactivity within these spaces, allowing users to interpret and interact with data or elements in ways unique to their context or preferences.

Example:

Implementation of Namespaces with Cleaker:

Cleaker being a pronoun representing a person, place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific user, thus facilitating seamless and meaningful interactions within the network.

Namespacing Example:

If Cleaker is an identifier, like cleaker123, then a possible namespace could be:

Network Accessibility:

Yes, by identifying spaces and creating pathname (or namespace) based on Cleaker instances, you can indeed create paths that are reachable to anyone in the network, provided they have the necessary permissions and access rights. This way, each user, with their Cleaker as a unique identifier, can have their namespaces in the decentralized network, allowing them to interact, share, and collaborate in a more personalized and secure manner.

Authentication

The process of verifying the identity of a user, system, or application. It answers the question, "Who are you?"

Cleaker is a pronoun. A person, place or thing is space and time.

Example: A user logging into a website with a username and password. +Authorization is the process of granting or denying access to specific resources based on an authenticated user's or system's permissions. It answers the question, "What are you allowed to do?"

Example: Once logged in, a user might be authorized to read content but not edit it.

  1. Data Signing: Cleaker can also sign data using the sign method if the user is authenticated.

  2. Device Identification: Cleaker can generate a unique device identifier.

Advanced Usage

The Cleaker class can be extended and customized to add additional functionalities specific to your application. Its methods can be overridden, and new properties can be added as required.

Remember to refer to the cleaker.js source code for precise understanding, as implementation details might vary.

  1. Accessing Network Interfaces: You can access details about network interfaces using cleaked.networkInterfaces. This object contains information about each network interface, including IP addresses.

  2. Local IP, CPU & Memory Info: Cleaker provides local IP, CPU architecture, model, and memory details.

By employing Cleaker, you gain access to robust features that enhance the security and functionality of your application, enabling streamlined interactions with the operating system and network, and providing essential user management capabilities.

+ + \ No newline at end of file diff --git a/docs/README.html b/docs/README.html new file mode 100644 index 00000000..83e45740 --- /dev/null +++ b/docs/README.html @@ -0,0 +1,681 @@ + + + + + +README + +
+

 

SVG Image

Cleaker

Connecting all points within a fixed distance. Cleaker is a pronoun representing a person, place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific user, thus facilitating seamless and meaningful interactions within the network.

What is cleaker? click here.

Install with npm.

Basic Usage

Importing Cleaker: Import the Cleaker class by requiring it from where it's defined.


 

namespaces

neurons.me +neurons.me/this

Contributing

If you have suggestions or issues, please open an issue. We encourage contributions from the community.

License & Policies

+ + \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 877cf033..13f9981e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,116 +1,29 @@ -What is cleaker? [click here](https://suign.github.io/pages/cleaker.html). + + +SVG Image # Cleaker +Connecting all points within a fixed distance. **Cleaker** is a pronoun representing a [person](https://suign.github.io/this.me/), place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific [user](https://suign.github.io/this.me/), thus facilitating seamless and meaningful interactions within the network. -SVG Image +##### What is cleaker? [click here](https://suign.github.io/pages/cleaker.html). ## Install with npm. ```bash npm i cleaker ``` -### Run: - -```bash -node src/cleaked.js -``` - -You get a **Screenshot.** - # Basic Usage +**Importing Cleaker**: Import the Cleaker class by requiring it from where it's defined. -1. **Importing Cleaker**: Import the Cleaker class by requiring it from where it's defined. - - ```js - const Cleaker = require('./cleaker'); - ``` - ---------------------------------------------------- - -# Dynamic Interaction: - -### Enable dynamic interactions within spaces, allowing different interpretations of the same namespace based on user context. - -Implementing the concept of **"Spaces"** in **Cleaker,** where data within a certain space can be represented or interpreted differently depending on the user. This paradigm ensures that users can instantiate their unique contextual environment or "**space**," interacting seamlessly with their data in a user-specific manner. - -**Unique Interpretation:** In this conceptual space, data representations are unique to the user. For example, the same namespace can hold an image of a cat for one user and an image of a man for another. This dynamic approach ensures tailor-made interactions and experiences for every user. - -**Secure and Personalized Interaction:** With Cleaker, users are not just interacting with the system; they are establishing their private namespaces, securing their interactions and information uniquely. Every piece of information is secured and can only be read or interpreted by the user who left it. - -Dynamic Interaction refers to the real-time and adaptable interactivity within these spaces, allowing users to interpret and interact with data or elements in ways unique to their context or preferences. - -#### Example: -```javascript -userSpaceInstance.interact({ type: 'click', target: 'image' }); // The interaction will be handled differently based on user’s space and preferences. -``` - -### Implementation of Namespaces with Cleaker: -Cleaker being a pronoun representing a person, place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific user, thus facilitating seamless and meaningful interactions within the network. - -#### Namespacing Example: -If Cleaker is an identifier, like `cleaker123`, then a possible namespace could be: - -```sh -cleaker123:space:images:cat.jpg +```js +const Cleaker = require('cleaker'); ``` -### Network Accessibility: -Yes, by identifying spaces and creating pathname (or namespace) based on Cleaker instances, you can indeed create paths that are reachable to anyone in the network, provided they have the necessary permissions and access rights. This way, each user, with their Cleaker as a unique identifier, can have their namespaces in the decentralized network, allowing them to interact, share, and collaborate in a more personalized and secure manner. - -# Authentication - -The process of verifying the identity of a user, system, or application. It answers the question, **"Who are you?"** - -**Cleaker** is a pronoun. A **person, place** or **thing** is **space** and **time.** - -**Example:** A user logging into a website with a username and password. -Authorization is the process of granting or denying access to specific resources based on an authenticated user's or system's permissions. It answers the question, **"What are you allowed to do?"** - -**Example:** Once logged in, a user might be authorized to read content but not edit it. - - ```js - if (cleaked.authenticate('username', 'password')) { - console.log('Authenticated successfully'); - } - ``` - -6. **Data Signing**: Cleaker can also sign data using the `sign` method if the user is authenticated. - - ```js - if (cleaked.authenticated) { - const signature = cleaked.sign('some data'); - console.log('Signature:', signature); - } - ``` - -7. **Device Identification**: Cleaker can generate a unique device identifier. - - ```js - console.log("Device Identifier:", cleaked.deviceIdentifier); - ``` - -# Advanced Usage - -The Cleaker class can be extended and customized to add additional functionalities specific to your application. Its methods can be overridden, and new properties can be added as required. - -Remember to refer to the `cleaker.js` source code for precise understanding, as implementation details might vary. - -1. **Accessing Network Interfaces**: You can access details about network interfaces using `cleaked.networkInterfaces`. This object contains information about each network interface, including IP addresses. - - ```js - console.log(cleaked.networkInterfaces['en0'].details); // Array of network interface details - console.log(cleaked.networkInterfaces['en0'].ip); // Array of IPv4 addresses - ``` +--------------------------------------------------- -2. **Local IP, CPU & Memory Info**: Cleaker provides local IP, CPU architecture, model, and memory details. - ```js - console.log("Local IP:", cleaked.localIP); - console.log("CPU Model:", cleaked.cpu.model); - console.log("Total Memory:", cleaked.memory.total); - ``` -By employing Cleaker, you gain access to robust features that enhance the security and functionality of your application, enabling streamlined interactions with the operating system and network, and providing essential user management capabilities. +[namespaces](NameSpaces.html) [neurons.me](https://www.neurons.me) [neurons.me/this](https://www.neurons.me/this) diff --git a/docs/cleaker.html b/docs/cleaker.html index 971431a7..b31939bb 100644 --- a/docs/cleaker.html +++ b/docs/cleaker.html @@ -1,810 +1,634 @@ - - + + + - - - +
+ Witness our Seal. +
+neurons.me +

+ + + + +
+
+ + + + + + + - @media print { @page {margin: 0 0 0 0;} body.typora-export {padding-left: 0; padding-right: 0;} #write {padding:0;}} -README - -
-

https://cleaker.me

Cleaker is a noun located in space and time:

Definiciones de Oxford Languages

noun

GRAMMAR -noun: noun; plural noun: nouns

  1. a word (other than a pronoun) used to identify any of a class of people, places, or things (common noun), or to name a particular one of these (proper noun). -"converting adjectives to nouns has always been common in English"


Understanding that Cleaker serves as both a server and a unique digital asset identifier, with a range of functionalities including context awareness, flexibility, and data signing, we integrated these features into the modular server design with subdomain handling and profile routing. The server acts as a channel for these functionalities over the network, specifically through :

https://cleaker.me and its user-specific subdomains like username.cleaker.me

SVG Image

Subdomains

Subdomains are a way to create a unique URL for each user. This is done by creating a wildcard DNS record that points all subdomains to the same server. The server then parses the subdomain and uses it to identify the user. This is done by using the request object in the server, to get the subdomain and then using it to query the database for the user. If the user exists, the server will then route the request to the user's profile page. If the user does not exist, the server will route the request to the homepage.

Cleaker's Server Features

Click on: Cleaker's Server Features

Unique Digital Asset Identifier:

Context Awareness and Flexibility:

User-Specific Subdomains (username.cleaker.me):

Data Signing:


neurons.me

\ No newline at end of file diff --git a/docs/cleaker.js.html b/docs/cleaker.js.html new file mode 100644 index 00000000..1896376c --- /dev/null +++ b/docs/cleaker.js.html @@ -0,0 +1,231 @@ + + + + + + + ... + + + Cleaker cleaker.js + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+ +
+
+
+

Source

+

cleaker.js

+
+ + + + + +
+
+
import os from 'os';
+
+/**
+ * Class representing a Cleaker entity.
+ * @class
+ */
+class Cleaker {
+  /**
+   * Create a Cleaker instance.
+   * @param {string} [me="not me"] - Identifier for the Cleaker instance.
+   * @param {string} [password="no_password"] - Password for the Cleaker instance.
+   * @param {string} [pin="no_pin"] - PIN for the Cleaker instance.
+   * @param {string} [ipAddress="no_ip"] - IP address for the Cleaker instance.
+   * @param {string} [userCountry="no_country"] - Country of the Cleaker instance.
+   * @param {string} [userCity="no_city"] - City of the Cleaker instance.
+   * @param {string} [referer="no_referer"] - Referer of the Cleaker instance.
+   */
+  constructor(me = "not me", password = "no_password", pin = "no_pin", ipAddress = "no_ip", userCountry = "no_country", userCity = "no_city", referer = "no_referer") {
+    this.me = me;
+    this.password = password;
+    this.pin = pin;
+    this.ipAddress = ipAddress;
+    this.userCountry = userCountry;
+    this.userCity = userCity;
+    this.referer = referer;
+    this.username = os.userInfo().username || 'no_username';
+    this.onDate = new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });
+    this.host_session = this.username;
+    this.hostHome = os.homedir() || 'no_home';
+  }
+}
+
+/**
+ * Function to create and "cleak" a Cleaker instance.
+ * @param {string} me - Identifier for the Cleaker instance.
+ * @param {string} password - Password for the Cleaker instance.
+ * @param {string} ipAddress - IP address for the Cleaker instance.
+ * @param {string} userCountry - Country of the Cleaker instance.
+ * @param {string} userCity - City of the Cleaker instance.
+ * @param {string} referer - Referer of the Cleaker instance.
+ * @returns {Cleaker} A new instance of Cleaker.
+ */
+function cleak(me, password, ipAddress, userCountry, userCity, referer) {
+  // Create a new instance of Cleaker with the provided values
+  const cleakerInstance = new Cleaker(me, password, ipAddress, userCountry, userCity, referer);
+  
+  // Perform additional "cleaking" operations if necessary
+  // For example, logging the creation, storing in a database, etc.
+
+  return cleakerInstance; // Return the new "cleaked" Cleaker instance
+}
+
+export { Cleaker, cleak };
+
+
+
+ + + + +
+ +
+
+

+ +

+ Witness our Seal. +
+neurons.me +

+
+
+ +
+
+
+
+ + + + + + + + + diff --git a/docs/global.html b/docs/global.html new file mode 100644 index 00000000..ad6b4457 --- /dev/null +++ b/docs/global.html @@ -0,0 +1,554 @@ + + + + + ... + + + Cleaker Global + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+ +
+
+
+

+

Global

+
+ + + + + +
+ +
+ +

+ + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +
+

Methods

+
+ +
+ + + +

+ # + + + + cleak(me, password, ipAddress, userCountry, userCity, referer) → {Cleaker} + + +

+ + + + +
+ Function to create and "cleak" a Cleaker instance. +
+ + + + + + + + + + +
Parameters:
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
me + + +string + + + + Identifier for the Cleaker instance.
password + + +string + + + + Password for the Cleaker instance.
ipAddress + + +string + + + + IP address for the Cleaker instance.
userCountry + + +string + + + + Country of the Cleaker instance.
userCity + + +string + + + + City of the Cleaker instance.
referer + + +string + + + + Referer of the Cleaker instance.
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ View Source + + cleaker.js, line 43 + +

+ +
+ + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+ +
A new instance of Cleaker.
+ + +
+ + +Cleaker + + +
+ +
+ + +
+
+ + + + +
+ +
+
+ + + + + +
+ +
+ + + + +
+ +
+
+

+ +

+ Witness our Seal. +
+neurons.me +

+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 3435d2fd..56db8c58 100644 --- a/docs/index.html +++ b/docs/index.html @@ -111,7 +111,7 @@

Cleaker

@@ -145,86 +145,19 @@

-

What is cleaker? click here.

+
SVG Image

Cleaker

-SVG Image +

Connecting all points within a fixed distance. Cleaker is a pronoun representing a person, place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific user, thus facilitating seamless and meaningful interactions within the network.

+
What is cleaker? click here.

Install with npm.

npm i cleaker
 
-

Run:

-
node src/cleaked.js
-
-

You get a Screenshot.

Basic Usage

-
    -
  1. Importing Cleaker: Import the Cleaker class by requiring it from where it's defined.

    -
    const Cleaker = require('./cleaker');
    +
    const Cleaker = require('cleaker');
     
    -
  2. -

-

Dynamic Interaction:

-

Enable dynamic interactions within spaces, allowing different interpretations of the same namespace based on user context.

-

Implementing the concept of "Spaces" in Cleaker, where data within a certain space can be represented or interpreted differently depending on the user. This paradigm ensures that users can instantiate their unique contextual environment or "space," interacting seamlessly with their data in a user-specific manner.

-

Unique Interpretation: In this conceptual space, data representations are unique to the user. For example, the same namespace can hold an image of a cat for one user and an image of a man for another. This dynamic approach ensures tailor-made interactions and experiences for every user.

-

Secure and Personalized Interaction: With Cleaker, users are not just interacting with the system; they are establishing their private namespaces, securing their interactions and information uniquely. Every piece of information is secured and can only be read or interpreted by the user who left it.

-

Dynamic Interaction refers to the real-time and adaptable interactivity within these spaces, allowing users to interpret and interact with data or elements in ways unique to their context or preferences.

-

Example:

-
userSpaceInstance.interact({ type: 'click', target: 'image' }); // The interaction will be handled differently based on user’s space and preferences.
-
-

Implementation of Namespaces with Cleaker:

-

Cleaker being a pronoun representing a person, place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific user, thus facilitating seamless and meaningful interactions within the network.

-

Namespacing Example:

-

If Cleaker is an identifier, like cleaker123, then a possible namespace could be:

-
cleaker123:space:images:cat.jpg
-
-

Network Accessibility:

-

Yes, by identifying spaces and creating pathname (or namespace) based on Cleaker instances, you can indeed create paths that are reachable to anyone in the network, provided they have the necessary permissions and access rights. This way, each user, with their Cleaker as a unique identifier, can have their namespaces in the decentralized network, allowing them to interact, share, and collaborate in a more personalized and secure manner.

-

Authentication

-

The process of verifying the identity of a user, system, or application. It answers the question, "Who are you?"

-

Cleaker is a pronoun. A person, place or thing is space and time.

-

Example: A user logging into a website with a username and password. -Authorization is the process of granting or denying access to specific resources based on an authenticated user's or system's permissions. It answers the question, "What are you allowed to do?"

-

Example: Once logged in, a user might be authorized to read content but not edit it.

-
if (cleaked.authenticate('username', 'password')) {
-   console.log('Authenticated successfully');
-}
-
-
    -
  1. -

    Data Signing: Cleaker can also sign data using the sign method if the user is authenticated.

    -
    if (cleaked.authenticated) {
    -   const signature = cleaked.sign('some data');
    -   console.log('Signature:', signature);
    -}
    -
    -
  2. -
  3. -

    Device Identification: Cleaker can generate a unique device identifier.

    -
    console.log("Device Identifier:", cleaked.deviceIdentifier);
    -
    -
  4. -
-

Advanced Usage

-

The Cleaker class can be extended and customized to add additional functionalities specific to your application. Its methods can be overridden, and new properties can be added as required.

-

Remember to refer to the cleaker.js source code for precise understanding, as implementation details might vary.

-
    -
  1. -

    Accessing Network Interfaces: You can access details about network interfaces using cleaked.networkInterfaces. This object contains information about each network interface, including IP addresses.

    -
    console.log(cleaked.networkInterfaces['en0'].details); // Array of network interface details
    -console.log(cleaked.networkInterfaces['en0'].ip); // Array of IPv4 addresses
    -
    -
  2. -
  3. -

    Local IP, CPU & Memory Info: Cleaker provides local IP, CPU architecture, model, and memory details.

    -
    console.log("Local IP:", cleaked.localIP);
    -console.log("CPU Model:", cleaked.cpu.model);
    -console.log("Total Memory:", cleaked.memory.total);
    -
    -
  4. -
-

By employing Cleaker, you gain access to robust features that enhance the security and functionality of your application, enabling streamlined interactions with the operating system and network, and providing essential user management capabilities.

+

namespaces

neurons.me neurons.me/this

Contributing

diff --git a/docs/module-cleaker.html b/docs/module-cleaker.html index b4de5ec5..478f9396 100644 --- a/docs/module-cleaker.html +++ b/docs/module-cleaker.html @@ -5,7 +5,7 @@ ... - Cleaker cleaker + Cleaker diff --git a/docs/notes.md b/docs/notes.md new file mode 100644 index 00000000..0a985e85 --- /dev/null +++ b/docs/notes.md @@ -0,0 +1,88 @@ +# Dynamic Interaction: + +### Enable dynamic interactions within spaces, allowing different interpretations of the same namespace based on user context. + +Implementing the concept of **"Spaces"** in **Cleaker,** where data within a certain space can be represented or interpreted differently depending on the user. This paradigm ensures that users can instantiate their unique contextual environment or "**space**," interacting seamlessly with their data in a user-specific manner. + +**Unique Interpretation:** In this conceptual space, data representations are unique to the user. For example, the same namespace can hold an image of a cat for one user and an image of a man for another. This dynamic approach ensures tailor-made interactions and experiences for every user. + +**Secure and Personalized Interaction:** With Cleaker, users are not just interacting with the system; they are establishing their private namespaces, securing their interactions and information uniquely. Every piece of information is secured and can only be read or interpreted by the user who left it. + +Dynamic Interaction refers to the real-time and adaptable interactivity within these spaces, allowing users to interpret and interact with data or elements in ways unique to their context or preferences. + +#### Example: + +```javascript +userSpaceInstance.interact({ type: 'click', target: 'image' }); // The interaction will be handled differently based on user’s space and preferences. +``` + +### Implementation of Namespaces with Cleaker: + +Cleaker being a pronoun representing a person, place, or thing in space and time. By defining namespaces based on Cleaker instances, you ensure that each namespace is unique, identifiable, and contextual to the specific user, thus facilitating seamless and meaningful interactions within the network. + +#### Namespacing Example: + +If Cleaker is an identifier, like `cleaker123`, then a possible namespace could be: + +```sh +cleaker123:space:images:cat.jpg +``` + +### Network Accessibility: + +Yes, by identifying spaces and creating pathname (or namespace) based on Cleaker instances, you can indeed create paths that are reachable to anyone in the network, provided they have the necessary permissions and access rights. This way, each user, with their Cleaker as a unique identifier, can have their namespaces in the decentralized network, allowing them to interact, share, and collaborate in a more personalized and secure manner. + +# Authentication + +The process of verifying the identity of a user, system, or application. It answers the question, **"Who are you?"** + +**Cleaker** is a pronoun. A **person, place** or **thing** is **space** and **time.** + +**Example:** A user logging into a website with a username and password. +Authorization is the process of granting or denying access to specific resources based on an authenticated user's or system's permissions. It answers the question, **"What are you allowed to do?"** + +**Example:** Once logged in, a user might be authorized to read content but not edit it. + + ```js +if (cleaked.authenticate('username', 'password')) { + console.log('Authenticated successfully'); +} + ``` + +6. **Data Signing**: Cleaker can also sign data using the `sign` method if the user is authenticated. + + ```js + if (cleaked.authenticated) { + const signature = cleaked.sign('some data'); + console.log('Signature:', signature); + } + ``` + +7. **Device Identification**: Cleaker can generate a unique device identifier. + + ```js + console.log("Device Identifier:", cleaked.deviceIdentifier); + ``` + +# Advanced Usage + +The Cleaker class can be extended and customized to add additional functionalities specific to your application. Its methods can be overridden, and new properties can be added as required. + +Remember to refer to the `cleaker.js` source code for precise understanding, as implementation details might vary. + +1. **Accessing Network Interfaces**: You can access details about network interfaces using `cleaked.networkInterfaces`. This object contains information about each network interface, including IP addresses. + + ```js + console.log(cleaked.networkInterfaces['en0'].details); // Array of network interface details + console.log(cleaked.networkInterfaces['en0'].ip); // Array of IPv4 addresses + ``` + +2. **Local IP, CPU & Memory Info**: Cleaker provides local IP, CPU architecture, model, and memory details. + + ```js + console.log("Local IP:", cleaked.localIP); + console.log("CPU Model:", cleaked.cpu.model); + console.log("Total Memory:", cleaked.memory.total); + ``` + +By employing Cleaker, you gain access to robust features that enhance the security and functionality of your application, enabling streamlined interactions with the operating system and network, and providing essential user management capabilities. \ No newline at end of file diff --git a/github.css b/github.css new file mode 100644 index 00000000..b19dafc3 --- /dev/null +++ b/github.css @@ -0,0 +1,412 @@ +:root { + --side-bar-bg-color: #fafafa; + --control-text-color: #777; +} + +@include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext); + +/* open-sans-regular - latin-ext_latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: normal; + src: local('Open Sans Regular'), local('OpenSans-Regular'), url('./github/open-sans-v17-latin-ext_latin-regular.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* open-sans-italic - latin-ext_latin */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: normal; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url('./github/open-sans-v17-latin-ext_latin-italic.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* open-sans-700 - latin-ext_latin */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: bold; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url('./github/open-sans-v17-latin-ext_latin-700.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* open-sans-700italic - latin-ext_latin */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: bold; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url('./github/open-sans-v17-latin-ext_latin-700italic.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + +html { + font-size: 16px; + -webkit-font-smoothing: antialiased; +} + +body { + font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif; + color: rgb(51, 51, 51); + line-height: 1.6; +} + +#write { + max-width: 860px; + margin: 0 auto; + padding: 30px; + padding-bottom: 100px; +} + +@media only screen and (min-width: 1400px) { + #write { + max-width: 1024px; + } +} + +@media only screen and (min-width: 1800px) { + #write { + max-width: 1200px; + } +} + +#write > ul:first-child, +#write > ol:first-child{ + margin-top: 30px; +} + +a { + color: #4183C4; +} +h1, +h2, +h3, +h4, +h5, +h6 { + position: relative; + margin-top: 1rem; + margin-bottom: 1rem; + font-weight: bold; + line-height: 1.4; + cursor: text; +} +h1:hover a.anchor, +h2:hover a.anchor, +h3:hover a.anchor, +h4:hover a.anchor, +h5:hover a.anchor, +h6:hover a.anchor { + text-decoration: none; +} +h1 tt, +h1 code { + font-size: inherit; +} +h2 tt, +h2 code { + font-size: inherit; +} +h3 tt, +h3 code { + font-size: inherit; +} +h4 tt, +h4 code { + font-size: inherit; +} +h5 tt, +h5 code { + font-size: inherit; +} +h6 tt, +h6 code { + font-size: inherit; +} +h1 { + font-size: 2.25em; + line-height: 1.2; + border-bottom: 1px solid #eee; +} +h2 { + font-size: 1.75em; + line-height: 1.225; + border-bottom: 1px solid #eee; +} + +/*@media print { + .typora-export h1, + .typora-export h2 { + border-bottom: none; + padding-bottom: initial; + } + + .typora-export h1::after, + .typora-export h2::after { + content: ""; + display: block; + height: 100px; + margin-top: -96px; + border-top: 1px solid #eee; + } +}*/ + +h3 { + font-size: 1.5em; + line-height: 1.43; +} +h4 { + font-size: 1.25em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 1em; + color: #777; +} +p, +blockquote, +ul, +ol, +dl, +table{ + margin: 0.8em 0; +} +li>ol, +li>ul { + margin: 0 0; +} +hr { + height: 2px; + padding: 0; + margin: 16px 0; + background-color: #e7e7e7; + border: 0 none; + overflow: hidden; + box-sizing: content-box; +} + +li p.first { + display: inline-block; +} +ul, +ol { + padding-left: 30px; +} +ul:first-child, +ol:first-child { + margin-top: 0; +} +ul:last-child, +ol:last-child { + margin-bottom: 0; +} +blockquote { + border-left: 4px solid #dfe2e5; + padding: 0 15px; + color: #777777; +} +blockquote blockquote { + padding-right: 0; +} +table { + padding: 0; + word-break: initial; +} +table tr { + border: 1px solid #dfe2e5; + margin: 0; + padding: 0; +} +table tr:nth-child(2n), +thead { + background-color: #f8f8f8; +} +table th { + font-weight: bold; + border: 1px solid #dfe2e5; + border-bottom: 0; + margin: 0; + padding: 6px 13px; +} +table td { + border: 1px solid #dfe2e5; + margin: 0; + padding: 6px 13px; +} +table th:first-child, +table td:first-child { + margin-top: 0; +} +table th:last-child, +table td:last-child { + margin-bottom: 0; +} + +.CodeMirror-lines { + padding-left: 4px; +} + +.code-tooltip { + box-shadow: 0 1px 1px 0 rgba(0,28,36,.3); + border-top: 1px solid #eef2f2; +} + +.md-fences, +code, +tt { + border: 1px solid #e7eaed; + background-color: #f8f8f8; + border-radius: 3px; + padding: 0; + padding: 2px 4px 0px 4px; + font-size: 0.9em; +} + +code { + background-color: #f3f4f4; + padding: 0 2px 0 2px; +} + +.md-fences { + margin-bottom: 15px; + margin-top: 15px; + padding-top: 8px; + padding-bottom: 6px; +} + + +.md-task-list-item > input { + margin-left: -1.3em; +} + +@media print { + html { + font-size: 13px; + } + pre { + page-break-inside: avoid; + word-wrap: break-word; + } +} + +.md-fences { + background-color: #f8f8f8; +} +#write pre.md-meta-block { + padding: 1rem; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border: 0; + border-radius: 3px; + color: #777777; + margin-top: 0 !important; +} + +.mathjax-block>.code-tooltip { + bottom: .375rem; +} + +.md-mathjax-midline { + background: #fafafa; +} + +#write>h3.md-focus:before{ + left: -1.5625rem; + top: .375rem; +} +#write>h4.md-focus:before{ + left: -1.5625rem; + top: .285714286rem; +} +#write>h5.md-focus:before{ + left: -1.5625rem; + top: .285714286rem; +} +#write>h6.md-focus:before{ + left: -1.5625rem; + top: .285714286rem; +} +.md-image>.md-meta { + /*border: 1px solid #ddd;*/ + border-radius: 3px; + padding: 2px 0px 0px 4px; + font-size: 0.9em; + color: inherit; +} + +.md-tag { + color: #a7a7a7; + opacity: 1; +} + +.md-toc { + margin-top:20px; + padding-bottom:20px; +} + +.sidebar-tabs { + border-bottom: none; +} + +#typora-quick-open { + border: 1px solid #ddd; + background-color: #f8f8f8; +} + +#typora-quick-open-item { + background-color: #FAFAFA; + border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee; + border-style: solid; + border-width: 1px; +} + +/** focus mode */ +.on-focus-mode blockquote { + border-left-color: rgba(85, 85, 85, 0.12); +} + +header, .context-menu, .megamenu-content, footer{ + font-family: "Segoe UI", "Arial", sans-serif; +} + +.file-node-content:hover .file-node-icon, +.file-node-content:hover .file-node-open-state{ + visibility: visible; +} + +.mac-seamless-mode #typora-sidebar { + background-color: #fafafa; + background-color: var(--side-bar-bg-color); +} + +.md-lang { + color: #b4654d; +} + +/*.html-for-mac { + --item-hover-bg-color: #E6F0FE; +}*/ + +#md-notification .btn { + border: 0; +} + +.dropdown-menu .divider { + border-color: #e5e5e5; + opacity: 0.4; +} + +.ty-preferences .window-content { + background-color: #fafafa; +} + +.ty-preferences .nav-group-item.active { + color: white; + background: #999; +} + +.menu-item-container a.menu-style-btn { + background-color: #f5f8fa; + background-image: linear-gradient( 180deg , hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0)); +} \ No newline at end of file diff --git a/src/cleak.js b/src/cleak.js deleted file mode 100644 index e69de29b..00000000 diff --git a/src/cleaker.js b/src/cleaker.js new file mode 100644 index 00000000..ae2f4571 --- /dev/null +++ b/src/cleaker.js @@ -0,0 +1,53 @@ +import os from 'os'; + +/** + * Class representing a Cleaker entity. + * @class + */ +class Cleaker { + /** + * Create a Cleaker instance. + * @param {string} [me="not me"] - Identifier for the Cleaker instance. + * @param {string} [password="no_password"] - Password for the Cleaker instance. + * @param {string} [pin="no_pin"] - PIN for the Cleaker instance. + * @param {string} [ipAddress="no_ip"] - IP address for the Cleaker instance. + * @param {string} [userCountry="no_country"] - Country of the Cleaker instance. + * @param {string} [userCity="no_city"] - City of the Cleaker instance. + * @param {string} [referer="no_referer"] - Referer of the Cleaker instance. + */ + constructor(me = "not me", password = "no_password", pin = "no_pin", ipAddress = "no_ip", userCountry = "no_country", userCity = "no_city", referer = "no_referer") { + this.me = me; + this.password = password; + this.pin = pin; + this.ipAddress = ipAddress; + this.userCountry = userCountry; + this.userCity = userCity; + this.referer = referer; + this.username = os.userInfo().username || 'no_username'; + this.onDate = new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' }); + this.host_session = this.username; + this.hostHome = os.homedir() || 'no_home'; + } +} + +/** + * Function to create and "cleak" a Cleaker instance. + * @param {string} me - Identifier for the Cleaker instance. + * @param {string} password - Password for the Cleaker instance. + * @param {string} ipAddress - IP address for the Cleaker instance. + * @param {string} userCountry - Country of the Cleaker instance. + * @param {string} userCity - City of the Cleaker instance. + * @param {string} referer - Referer of the Cleaker instance. + * @returns {Cleaker} A new instance of Cleaker. + */ +function cleak(me, password, ipAddress, userCountry, userCity, referer) { + // Create a new instance of Cleaker with the provided values + const cleakerInstance = new Cleaker(me, password, ipAddress, userCountry, userCity, referer); + + // Perform additional "cleaking" operations if necessary + // For example, logging the creation, storing in a database, etc. + + return cleakerInstance; // Return the new "cleaked" Cleaker instance +} + +export { Cleaker, cleak }; diff --git a/src/server.js b/src/server.js index befe4960..f0f99ced 100644 --- a/src/server.js +++ b/src/server.js @@ -1,4 +1,4 @@ -// cleaker/scrc/server.js +// cleaker/src/server.js //var connection = postgresql.createConnection({ // host: 'localhost', import express from 'express';