Jump to content




Enchat v2.3 - Encrypted, decentralized, color-formatted chat


37 replies to this topic

#21 HPWebcamAble

  • Members
  • 933 posts
  • LocationWeb Development

Posted 31 December 2015 - 04:38 AM

View PostLDDestroier, on 31 December 2015 - 01:15 AM, said:

What API do you suggest?

I would suggest Squid Dev's AES API: http://www.computerc...aes-encryption/

I've never had any speed issues with it (despite what I've heard), and since you are only encrypting small sentences at a time I'm sure it'll be fine.

#22 Anavrins

  • Members
  • 775 posts

Posted 31 December 2015 - 07:45 AM

View PostLDDestroier, on 31 December 2015 - 01:15 AM, said:

What API do you suggest?
I'm gonna go ahead and shamelessly plug my new chacha20 api http://www.computerc...-computercraft/
Simply another option which is more lightweight and slightly faster than AES, for the same amount of security, if not more.

Edited by Anavrins, 31 December 2015 - 08:33 AM.


#23 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 01 January 2016 - 04:36 AM

I tried to use the AES api, and...it doesn't receive messages anymore. I'm sick of looking through it, can someone else look it over?

Why didn't I just go to ask-a-pro to begin with? Mannnn.

Edited by LDDestroier, 17 June 2018 - 06:36 AM.


#24 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 04 January 2016 - 02:02 AM

Bump. I am seriously confused with this. Everything seems to be coded correctly, and the receiving clients should be receiving messages, but they don't. Would it have to do with using unicode characters?

#25 HPWebcamAble

  • Members
  • 933 posts
  • LocationWeb Development

Posted 04 January 2016 - 03:35 AM

View PostLDDestroier, on 04 January 2016 - 02:02 AM, said:

Bump. I am seriously confused with this. Everything seems to be coded correctly, and the receiving clients should be receiving messages, but they don't. Would it have to do with using unicode characters?

Wanna post your code in Ask a Pro?

It'll get more attention there
Also, I don't know about anyone else but I'm not implementing the API in your existing code. Wayyy to lazy for that. I will look at what you have though.

#26 Anavrins

  • Members
  • 775 posts

Posted 04 January 2016 - 09:23 PM

View PostLDDestroier, on 04 January 2016 - 02:02 AM, said:

Bump. I am seriously confused with this. Everything seems to be coded correctly, and the receiving clients should be receiving messages, but they don't. Would it have to do with using unicode characters?
Might be, it will likely not work if you're not using CC 1.76.
If you are using a version lower than that, try encoding the message into a table format.
Try with these modifications https://www.diffnow.com/?report=qe8gz

Edited by Anavrins, 04 January 2016 - 09:37 PM.


#27 Lego Stax

  • Members
  • 136 posts
  • LocationThe dark depths of the web

Posted 20 January 2016 - 01:22 AM

I'd help you out if you still need it.

#28 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 20 January 2016 - 11:20 AM

View PostLego Stax, on 20 January 2016 - 01:22 AM, said:

I'd help you out if you still need it.

I'd say this program is done for now.

#29 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 29 March 2016 - 01:35 PM

New update!

I added some much needed features, such as some actual scrolling, and a buffer to store previous messages. Also a /clear command,

#30 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 04 April 2016 - 08:01 PM

New update 2.0!
+Switched from valithor's encryption API to AES! Finally! I didn't notice a speed difference either way, so even better.
+Added chatlog scrolling
+Added more commands (/me, /cry, /heil can have an argument)

Because of the switched protocols, it won't work with the previous version of enchat. But, because checksums are added to the message, it won't interfere.

#31 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 27 May 2016 - 02:15 AM

I finally added the option to change the encryption key mid-session. And I added the /ping command! Yay!!!

#32 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 20 March 2017 - 01:31 PM

A cool, radical, fantastical update!

COLOR CODES! Now you can format messages and names with & for text, and ~ for background colors!

Full change log:
+Added color code formatting
+Added /nick command - change your name mid-session
+Added /colors command - show all colors and their respective alphanumeric code
+Added small indicator to show whether or not chat will scroll as new messages are received
*Radically optimized the scrolling
*Localized all the functions and variables properly
If you are using a normal computer and receive a colored message, it will default to white unless it is a shade of gray.

It even wraps properly! It took me an entire day to get a good set of functions to properly wrap color-coded text.

Thanks to Incinerate for debugging that one crash that I couldn't for the life of me figure out the cause of.

Edited by EldidiStroyrr, 30 March 2017 - 06:33 PM.


#33 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 31 March 2017 - 12:28 PM

Apparently, updating enchat made it crash if you received new messages, but now it doesn't. I added some new things to the above changelog yesterday, but now would be a good time to go over the recent changes in a new post.
EDIT: I added more thingies since then. Many new, good things!
+Added new command -- '/palate'! Change the color palate to Enchat!
 Syntax: "/palate bg/txt/chatbg/chattxt <colorcode>" or "/palate reset"
+Added small "." indicator at bottom-right corner of screen to determine if the screen will scroll if new messages are received
+Added new color codes! "&{" will disable all text/background formatting until you type in "&}".
*Fixed the slow-as-balls scrolling
	(The slow scrolling was due to some boneheaded decision I made to encrypt the internal log table, then decrypt it upon redrawing the
	screen. What an idiot I was! I fixed that right up.)
*Fixed /update command
	(When you updated before, it would rerun the program from inside a function currently being ran under parallel.waitForAny(), along with
	some other functions for input and receiving messages. Rerunning the program at that point would also rerun extra instances of those other
	functions, and that is...NO GOOD.)
*Fixed ~r or &r both resetting BOTH text and background
*Removed 'no space' limit of /nick, and replaced with 20 character limit (excludes formatting codes)
*Added argument to /update to update to beta. "/update beta"
*When rerunning after update, if your name has a space, it will no longer use the first word only.
*Changed /key output. Now, the key has quotes around it, and it doesn't colorize. (shows all formatting codes)

I dunno about you, but I'm happy with myself. Even if I'm only updating Enchat with these cool new features for two reasons, one being to appease myself, and one to bump the topic in hope of a glowing review to boost my egg-shaped ego.

Edited by EldidiStroyrr, 31 March 2017 - 05:25 PM.


#34 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 06 April 2017 - 09:52 PM

okey good update yay
+Replicated functions added in CC 1.7 to allow compatibilty with ComputerCraft 1.6!
+Added new formatting code: "&k" and "~k"!!
Do "&k" to enable text obfuscation (krazy font), and "~k" to disable it.

Font Obfuscation requires redrawing the screen ten times a second (approx), so just be wary. However, it only redraws the screen if there is obfuscated text ON THE SCREEN, so okay.
If you obfuscate a narrow character (say, "l") then it will be krAAAAzy with l and 1 and | and whatnot. Same with "W" or "M" or other wide characters.
Otherwise, it takes a random character from 1 to 255. If your computer cannot handle rendering special characters, it will filter those out.

#35 augiteSoul

  • Members
  • 31 posts
  • LocationSomewhere in France

Posted 17 April 2017 - 09:00 AM

When I try to use it in the latest 1.7.10 version of CC:
enchat:1122: attempt to index ? (a nil value)

#36 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 17 April 2017 - 09:23 PM

It should be fixed. Redownload and try again. I forgot that the internal settings table was called enchatSettings, not 'enchat'.

#37 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 27 April 2017 - 04:45 AM

New version update 2.2!

With this new version, I'm mostly incrementing the version number up by 0.1 as I have accreted more and more features and fixes into Enchat.
To be brief, here's all the wonderful things I've done that I can remember:

I added a new command -- '/set': This command is used to change some config options stored in the table 'enchatSettings'. Just do '/set' to get the full list.
I fixed up doColorize = false: Apparently, having enchatSettings.doColorize = false made the screen freak out, so now that's all taken care of.
I added obfuscated text: In minecraft chat, you can use &k to obfuscate your text and make it all wacky. In enchat, you can do that too! I had to optimize the renderer a lot, though. I've mentioned this before.
I combined all event-grabbing functions: I should've done that long ago. Having three functions that run in parallel and just grab events is messy.
I allowed pageUP and pageDOWN to be used for scrolling so that normal computers can better use Enchat. I could've sworn I'd added that before, oh well
I localized all drawing function so that rendering goes a lot smoother. I also use term.current().setVisible, but I've been doing that for a while now.

These changes might be trivial, but they do take a bit of work and a lot of testing to work well.

Let me know if there are any issues or flaws that you encounter through a comment or PM!

Edited by EldidiStroyrr, 27 April 2017 - 11:42 AM.


#38 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 17 June 2018 - 06:22 AM

Since I laid eyes upon ore3d, I've come to the shocking conclusion that overlay glasses are rad. So I've added an update for Enchat 2.3 that shows notifications in the topleft corner of the screen if you install it onto a Neural Connector with a wireless modem and set of overlay glasses installed! Colored text and background colors work as they do onscreen, and the text is even kerned properly, man.

Here's the new screenshot that demonstrates it:
Spoiler

EDIT: Proper text wrapping has been added.

Edited by LDDestroier, 17 June 2018 - 09:56 PM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users