Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Aris

Aris is a logical proof program, and supports propositional and predicate logic, Boolean algebra, and arithmetical logic

Installing

For production installation it is recommended to use the latest packages available in the Releases section of the repository

Client

  • Windows

    1. Download the installer from the Releases section
    2. Run the installer (Note: Windows Smart Screen filter may show a warning due to the installer not being signed. To bypass this click "More Info" then "Run Anyway")
    3. Follow the installer's prompts
    4. Aris should now be installed and accessible from the Start Menu
  • Debian/Ubuntu

    1. Install gradle, the OpenJDK 8, and openjfx (e.g. via sudo apt-get install gradle openjdk-8-jdk openjfx openjfx)
    2. Compile and run with gradle proof-client:run

Server

  1. Download and install the server package for your system from the Releases section

  2. Obtain signed SSL certificates from a valid certificate authority and save the ca certificate and private key using the x509 encoded pem format

  3. Create a configuration file in /etc/aris.d/ (You can add a 2 digit prefix to set the file's priority) and set the ca and key options to the location where the certificate and key are stored

    # /etc/aris.d/<filename>
    # The CA certificate to use for connections. If this is not specified here or on the command line the server will run in self signing mode
    ca <certificate-file-path>
    # The private key for the above certificate. If this is not specified here of on the command line the server will run in self signing mode
    key <key-file-path>
    
  4. Setup the database.

    Note: The aris-configdb command exists to simplify this process. Otherwise follow the steps listed below.

    1. Either create a new configuration file in /etc/aris.d/ or use the same as in step 3 and add the following settings
      # /etc/aris.d/<filename>
      # The name of the postgres database for Aris to use
      db-name <aris-database-name>
      # The postgres database user for Aris to login as
      db-user <aris-username>
      # The postgres database password
      db-pass <aris-password>
      # The domain name of the server
      # Note this is only required when the server is running in self signing mode
      domain <example.com>
      
    2. Create the database for aris in postgres. You can either run the commands listed below or run the aris-createdb script as root which will run the below commands using the settings from the previous step
      # Open the postgres interactive terminal
      sudo -u postgres psql
      # The following commands should be run in postgres
      CREATE DATABASE <aris-database-name>;
      CREATE USER <aris-username>;
      ALTER USER <aris-username> WITH ENCRYPTED PASSWORD '<aris-password>';
      GRANT ALL PRIVILEGES ON DATABASE <aris-database-name> TO <aris-username>;
      # To exit the interface type \q
      
  5. Start and enable the service

    sudo systemctl start aris
    sudo systemctl enable aris
    
  6. Ensure the port (default: 9001) is open on the server's firewall

  7. Once the server has started you can use the client to login using the default login:

    User: admin
    Password: ArisAdmin1
    

Note: To run the server in self signing mode skip steps 2 and 3 (not recommended)

Modules

This repository contains several modules for the Aris platform which are as follows:

  • assign-client - Contains the Aris Assign client side code including an extensible framework to add new client side modules
  • assign-server - Contains the Aris Assign server side code including an extensible framework to add new server side modules
  • libaris - Contains a logic software library used by Aris Proof
  • libassign - Contains common code used by both assign-server and assign-client
  • packaging - Contains files for building distribution packages
  • proof-client - Contains the client side module of the Aris Proof system
  • proof-server - Contains the server side module of the Aris Proof system
  • service - Contains the ServiceLoader interfaces required to add new programs to the Aris platform, and utilities common to all Aris programs

Authors

  • Ryan Cicchiello - Developer - Github
  • Logan Garber - Developer - Github
  • Ian Dunn - Initial work

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

About

Aris: a logic engine/formal proof interface; 2nd generation, successor to the C version of Aris.

Topics

Resources

Stars

4 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages