Giter VIP home page Giter VIP logo

neoguard's Introduction

NeoGuard Secure Database System ๐Ÿ›ก๏ธ

Welcome to NeoGuard! Your data's new best friend. ๐Ÿš€

Is your data feeling vulnerable? Wrap it in the secure embrace of NeoGuard! Because even data needs a superhero cape. ๐Ÿ’ผ๐Ÿ”’

Features ๐ŸŒŸ

Secure Communication Handling (DataHandler) ๐Ÿ“ฌ

At the heart of NeoGuard is the DataHandler component โ€“ the guardian of encrypted data transactions between clients and the server. Key features include:

  • Data encryption and decryption for the digital age's secret conversations. ๐Ÿ”
  • Dynamic key management with a time-enforced bouncer for unauthorized guests. โฐ

Client Authentication ๐Ÿค

NeoGuard's authentication process is like a secret handshake for your digital realm:

  • Unique passphrase-based key generation โ€“ who said encryption can't be stylish? ๐ŸŽฉ
  • Distribution of session keys โ€“ your data's VIP pass to encrypted parties. ๐Ÿ—๏ธ

Robust Key Management ๐Ÿง

Our key management system is like a Swiss bank vault for your encryption keys:

  • Fort Knox-like secure storage of keys using HashMaps โ€“ no more key anxiety! ๐Ÿ—„๏ธ
  • Periodic key rotation โ€“ because old keys are like yesterday's news. โ™ป๏ธ

Response Generation and Formatting ๐Ÿ“

NeoGuard ensures responses are perfectly formatted โ€“ because your data deserves the red carpet treatment:

  • JSON responses with status codes and encrypted data โ€“ Hollywood-style data delivery. ๐Ÿ“Š
  • Content-Type management โ€“ because knowing who's coming to the party is important. ๐Ÿ“ฐ

Debugging and Logging ๐Ÿž

For developers and administrators, NeoGuard provides tools sharper than Sherlock's magnifying glass:

  • Selective log message printing โ€“ because debugging can be fun too! ๐Ÿ•ต๏ธโ€โ™‚๏ธ
  • Insights into key component behavior โ€“ because NeoGuard loves sharing its secrets. ๐Ÿ”

Use Case ๐Ÿš€

Imagine a world where organizations protect sensitive data like it's their firstborn. With NeoGuard, they create a safe haven for data, free from prying eyes.

NeoGuard's encrypted communication and robust authentication ensure data travels securely. No more sweaty palms over eavesdroppers or breaches โ€“ NeoGuard's key management and timeout wizardry keep the bad guys at bay.

In the realm of security, NeoGuard is the knight in shining armor for your data.

Requirements ๐Ÿ› ๏ธ

  • Java 20 or later โ€“ because staying updated is cool. โ˜•๐Ÿš€
  • Recommended OS: Debian (8 or later) or Ubuntu (22.04 or later) โ€“ NeoGuard's favorite companions. ๐Ÿง๐Ÿ”’

Developer's Note: Java 20? We like our coffee strong, just like our security! ๐Ÿ˜‰โ˜•

Getting Started ๐Ÿš€

Ready to harness NeoGuard's power? Follow these steps:

  1. Clone the repository โ€“ because NeoGuard loves company.
  2. Tweak settings in config.json โ€“ customization is key.
  3. Deploy to your server โ€“ NeoGuard is ready to fly!
  4. Integrate NeoGuard โ€“ watch data transform into a fortress.
  5. Experience enhanced security โ€“ NeoGuard's magic is real! ๐Ÿ”โœจ

TODO List ๐Ÿ“‹

NeoGuard's roadmap is as exciting as a treasure hunt. Here are some upcoming features:

  • Multi-threaded database support โ€“ NeoGuard's about to become a multitasking wizard! ๐Ÿง™โ€โ™‚๏ธ
  • Enhanced logging and auditing โ€“ keeping an eye on your data like a hawk. ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ
  • Real-time threat detection โ€“ because NeoGuard's got your back, even in the dark. ๐Ÿฆ‰
  • Advanced query optimization โ€“ NeoGuard's leveling up your database's speed and efficiency. โšก
  • Data anonymization tools โ€“ because even data needs a bit of privacy sometimes. ๐Ÿ•ถ๏ธ
  • Automated backup and recovery โ€“ NeoGuard's safety net for your precious data. ๐Ÿ›ก๏ธ
  • User access control and role management โ€“ NeoGuard's bouncer for your data party. ๐Ÿ•ด๏ธ
  • Intelligent data encryption based on sensitivity โ€“ NeoGuard's vault for classified info. ๐Ÿ”
  • Integration with AI for anomaly detection โ€“ NeoGuard's crystal ball for foreseeing threats. ๐Ÿ”ฎ
  • Cross-platform compatibility โ€“ NeoGuard's expanding its kingdom beyond Linux. ๐ŸŒŽ
  • Performance benchmarking tools โ€“ NeoGuard's personal trainer for your database's muscles. ๐Ÿ’ช
  • Seamless data migration โ€“ NeoGuard's moving your data with elegance. ๐Ÿšš
  • Interactive visualization of data insights โ€“ NeoGuard's painting a masterpiece with your data. ๐ŸŽจ
  • Automated compliance reporting โ€“ NeoGuard's paperwork superhero. ๐Ÿ“Š
  • Integration with cloud services โ€“ NeoGuard's taking your data to the clouds. โ˜๏ธ
  • Machine learning-powered data prediction โ€“ NeoGuard's peeking into the future. ๐Ÿ”๐Ÿ”ฎ

Ready to join the NeoGuard adventure and see what magic unfolds next? ๐ŸŒŸ

Disclaimer โš ๏ธ

NeoGuard strives for data security excellence, but in the ever-changing realm of tech, no one has all the answers. We've got your back, but remember, tech is like a box of chocolates โ€“ you never know what you're gonna get.

While NeoGuard's magic enhances security, no spell is unbreakable. If a chink in the armor is found, our wizards will conjure a fix. But remember, every adventure has its twists!

By using NeoGuard, you acknowledge that security is a journey, not a destination. NeoGuard, its creators, and sorcerers can't be held responsible for unexpected bumps in the road.

Warning: NeoGuard is for testing โ€“ dragons not included - use on own risk. ๐Ÿ‰

License ๐Ÿ”

This project is under the Apache 2.0 License.

Contributions ๐Ÿค

We love enthusiasm, if you want to contribute, open a pull request! ๐Ÿ™

Ready to Embark on Your Secure Quest? ๐ŸŒŸ

neoguard's People

Contributors

dependabot[bot] avatar officialplocki avatar

Watchers

 avatar

neoguard's Issues

h2 not working

IMPORTANT: {"data":[{"password":"b3duZXI=","creation_timestamp":1697135126841,"uuid":"c0c46c52-af45-4a73-93dc-05b55fb62198","username":"owner"}],"arrays":["owner"],"type":"POST","dataThread":"accounts"}
Okt. 12, 2023 8:25:26 PM io.undertow.server.Connectors executeRootHandler
ERROR: UT005071: Undertow request failed HttpServerExchange{ POST /json-transfer}
java.lang.RuntimeException: Error updating data in the database
at co.plocki.neoguard.server.cache.DataCache.updateData(DataCache.java:119)
at co.plocki.neoguard.server.process.DataProcessor.processData(DataProcessor.java:244)
at co.plocki.neoguard.server.process.DataProcessor.handleRequest(DataProcessor.java:48)
at co.plocki.neoguard.server.webserver.DataHandler.lambda$handleRequest$0(DataHandler.java:82)
at io.undertow.io.AsyncReceiverImpl.receiveFullString(AsyncReceiverImpl.java:140)
at io.undertow.io.AsyncReceiverImpl.receiveFullString(AsyncReceiverImpl.java:84)
at co.plocki.neoguard.server.webserver.DataHandler.handleRequest(DataHandler.java:45)
at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:104)
at io.undertow.server.protocol.http2.Http2UpgradeHandler.handleRequest(Http2UpgradeHandler.java:101)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:256)
at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136)
at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:59)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Feld "ID" enthรคlt NULL Werte
Column "ID" contains null values; SQL statement:
MERGE INTO cache (file, data) VALUES (?, ?) [90081-224]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:644)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
at org.h2.message.DbException.get(DbException.java:223)
at org.h2.message.DbException.get(DbException.java:199)
at org.h2.command.dml.Merge.merge(Merge.java:171)
at org.h2.command.dml.Merge.update(Merge.java:109)
at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:74)
at org.h2.command.CommandContainer.update(CommandContainer.java:169)
at org.h2.command.Command.executeUpdate(Command.java:256)
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:216)
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:174)
at co.plocki.neoguard.server.cache.DataCache.updateData(DataCache.java:114)
... 16 more

datacache (json) not saving properly

Location: 387b65b7c1e84cd1823a4f0b933118bfc2cf9ced2df24e88bdabb2c814d3f428adda10e6b27f42298d2a3ab8d708d0329529099fefc04488a12bcdafcd27ffbc
Interacting class: co.plocki.json.JSONFile - {"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"},"mapperVersion":"1.0"}
returning data: {"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"},"mapperVersion":"1.0"}
Temporary debug - data: {"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}
Array: test
RowDataArray: [{"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}}]
arrayData 2: [{"array":"test","rows":[{"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}}]}]
ArrayData: [{"array":"test","rows":[{"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}}]}]
IMPORTANT: {"arrays":["test"],"type":"GET","dataThread":"accounts"}
arrays: [test]
Location: 387b65b7c1e84cd1823a4f0b933118bfc2cf9ced2df24e88bdabb2c814d3f428adda10e6b27f42298d2a3ab8d708d0329529099fefc04488a12bcdafcd27ffbc
Interacting class: co.plocki.json.JSONFile - {"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"},"mapperVersion":"1.0"}
returning data: {"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"},"mapperVersion":"1.0"}
Temporary debug - data: {"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}
Array: test
RowDataArray: [{"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}}]
arrayData 2: [{"array":"test","rows":[{"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}}]}]
ArrayData: [{"array":"test","rows":[{"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}}]}]
IMPORTANT: {"data":[{"password":"dGVzdA==","creation_timestamp":1695847524261,"accountDataStorage":{"testKey":{"random":"test"}},"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"}],"arrays":["test"],"type":"POST","dataThread":"accounts"}
Interacting class: co.plocki.json.JSONFile - {"mapperVersion":"1.0"}
data obj: {password=dGVzdA==, creation_timestamp=1695847524261, accountDataStorage={testKey={random=test}}, uuid=db88a33e-316d-4319-b95c-91aecf4482bd, username=test}
updated Object: {"data":{"accountDataStorage":{"testKey":{"random":"test"}},"password":"dGVzdA==","uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","creation_timestamp":1695847524261,"username":"test"},"mapperVersion":"1.0"}
Interacting class: co.plocki.json.JSONFile - {"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"accountDataStorage":{"testKey":{"random":"test"}},"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"},"mapperVersion":"1.0"}
file after update: {"data":{"password":"dGVzdA==","creation_timestamp":1695847524261,"accountDataStorage":{"testKey":{"random":"test"}},"uuid":"db88a33e-316d-4319-b95c-91aecf4482bd","username":"test"},"mapperVersion":"1.0"}
IMPORTANT: {"deleteType":"thread","type":"delete","dataThread":"auth_tokens"}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.