Repository files navigation

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

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

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

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

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

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

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

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

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

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

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

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

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

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

NoEncryption

NoEncryption is a Minecraft server plugin developed by Doclic and V1nc3ntWasTaken. NoEncryption, or NE for short, is a Minecraft plugin intended to combat against the new chat reporting system implemented in 1.19. NoEncryption is your first, and last solution to this new chat reporting system by stripping messages of their signatures so there is no way for a client to validate that a chat message or command came from a certain player, thus making your messages un-reportable.

Current NoEncryption stats


What versions does NoEncryption support?

NoEncryption supports versions 1.19 through 1.19.4. The latest stable downloads can be found here in the Assets section near the bottom. The Reflection build is compatible with multiple versions, but might run a bit slower.

Latest Release:

How does NoEncryption work?

NoEncryption works by stripping chat packets of their signatures before they are sent back to your client, and other clients. NoEncryption modifies outbound packets specifically to allow other plugins such as chat managers, and filters to properly modify chat contents before reaching NoEncryption. NoEncryption injects into a player's connection line, allowing it to modify the chat packets before they are sent to the client. Popup blocking works in the same way.

Commands and permissions

Check the tables below for a list of commands, and permissions that NoEncryption has:

Commands
CommandDescriptionPermissionRestrictions
/neDisplay the help menu in chat/console.noencryption.usecommandNone
/ne suppressnoticesSuppress config notices on startupnoencryption.command.suppressnoticesOnly executable by Console
/ne checkforupdatesManually check for updates on GitHubnoencryption.command.checkforupdatesNone
Permissions
PermissionDescriptionDefaultChildren
noencryption.*Grants all NoEncryption permissions.op
  • noencryption.usecommand
  • noencryption.command.*
noencryption.usecommandAllows usage of /ne.trueNone
noencryption.command.*Allows usage of all /ne subcommands.op
  • noencryption.command.suppressnotices
  • noencryption.command.checkforupdates
noencryption.command.suppressnoticesAllows usage of /ne suppressnotices.opNone
noencryption.command.checkforupdatesAllows usage of /ne checkforupdates.opNone

Where are the config files?

The generated config files/folders for NoEncryption are located at plugins/NoEncryption/. There are a few folders available here: settings, and storage.

Folders
settings
FileDescription
config.ymlThe main configuration file for NoEncryption.
storage
FileDescription
notices.ymlThe storage file for suppressed config notices. This file is automatically modified, and should not be edited manually.

Is there any way to remove the gray bar and indent?

Currently, there is no way to remove the gray bar and indent without the use of texture packs. This is because it is in the clientside code to include the gray bar for unsigned messages, and always include the indentation. There is an available texture pack that solves this issue, which can be found here.

Isn't injecting into a player's connection a security vulnerability?

Injecting the packet handler into the player's connection is in no way a vulnerability. The NoEncryption packet handler is designed to intercept only certain packet types, such as ClientboundPlayerChatPacket, ClientboundPlayerChatHeaderPacket, and ClientboundServerDataPacket (For popup blocking). When one of these packets are detected, certain contents are stored from these packets, and a brand new packet is created in place of it, reusing the contents that were stored from the original packet, and dropping certain contents such as the signature, and the salt.

What services does NoEncryption use?

The only outside services that NoEncryption actively uses is bStats, and requests to the GitHub API. bStats is used to keep track of certain statistics of the plugin such as the build type, plugin version, server version, messages stripped, popups blocked, and other default bStats values. GitHub API requests are made to check for any updates to NoEncryption, which will be displayed at startup. For the bStats privacy policy, click here. For the GitHub privacy policy, click here. Use of bStats and GitHub API can be toggled in the NoEncryption config.

How can I report a bug with NoEncryption?

To report a bug with NoEncryption, you can create an issue about the bug here. We ask that you make one issue per bug, and only one bug per issue. If your issue contains sensitive info, please notify us in the Discord Server, or email dev.v1nc3ntwastaken@gmail.com. (Both can be found at the top of the README)

How can I contribute to NoEncryption?

You can make contributions to the NoEncryption project through the use of Pull Requests. When making a contribution, make sure that you review all the checks in the PR.

Contributing and Building
Requirements
  • Java JDK
  • Maven
  • Compiled BuildTools
Java Installation

To build NoEncryption, run BuildTools, and use Maven, you need an installation of a Java JDK. It is recommended to use Java 17 as this is the version that NoEncryption is developed with.

You can download Java JDK 17 from here.

Maven Installation

Maven is a compiler that NoEncryption, and BuildTools uses. The newest version of Maven is recommended, and can be downloaded from here.

A guide to install Maven after downloading the ZIP file can be found here.

After installing Maven, to test your installation, open a terminal and run mvn -v.

BuildTools

To locally build NoEncryption, you will need to compile a remapped version of Spigot BuildTools which will automatically add the required dependencies to your local Maven repository.

Install BuildTools to compile NoEncryption for 1.19
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19 --remapped
Install BuildTools to compile NoEncryption for 1.19.1
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.1 --remapped
Install BuildTools to compile NoEncryption for 1.19.2
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.2 --remapped
Install BuildTools to compile NoEncryption for 1.19.3
  1. Place the downloaded BuildTools.jar into it's own folder.
  2. Open a terminal in the newly created folder's directory
  3. Run the command below to start the install process (This will take a few minutes to complete): java -jar BuildTools.jar --rev 1.19.3 --remapped

BuildTools is not required to compile the Reflection version of NoEncryption.

Cloning and Building NoEncryption

To locally clone the NoEncryption repository to your local file system, you can use Git to clone the repository with git clone https://github.com/Doclic/NoEncryption, or by downloading the ZIP file for the main branch.

After cloning NoEncryption, you can build the plugin through Maven using the following commands:

Building All Modules in NoEncryption (Requires all versions of BuildTools above)
  1. Open the cloned NoEncryption folder in a terminal window.
  2. Run the following command to download the needed dependencies: (You should only need to run this once) mvn clean install
  3. After the above command completes, run the following command to build the JAR files: mvn clean package
  4. After the above command completes, a new target folder will be created.
  5. Inside the target folder will be multiple JAR files. The JAR file that should be used is NoEncryption-MODULE-VERSION.jar. Do not use JAR files starting/ending with original-, -remapped.jar, or -remapped-obf.jar.

How can I support NoEncryption?

We do not ask you for your money, or for your contributions as support. The kind of support that helps us is spreading the word of NoEncryption, and how it can prevent your servers from chat reports. Chat reports can be abused in favor of spammers and DDOSers who will raid a server with bots to spam-report a user's message. Before 1.19, chat messages were not monitored by Mojang/Microsoft, and were not reportable. After the 1.19 update, chat messages were being sent to Mojang/Microsoft servers for signatures. We believe this violates the privacy of a player, and so we are taking action against it. What we ask for is your help in spreading the word, and the plugin name out.

About

Removes signatures from Minecraft chat messages

Resources

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages