IRSee.r with ENCRYPTED Private Chat Rooms..oh ya.
[1/2] from: depotcity::telus::net at: 5-May-2001 4:07
IRSee now has FULLY ENCRYPTED private chat rooms. Even I can't read em!
To use...
1. Pick a room name, any name (please leave "General" unencrypted)
2. Enter a Handle/Name
3. Enter a string like "The geese fly east at noon", one that only you and your comrades
know.
4. Hit "Enter" and enjoy
Notes:
- Room names must be single word (no spaces)
- Leave encryption string blank if you don't wish the room to be encrypted.
- I'll be creating a bot to keep the site clean... files of any type other than .txt,
old unused rooms, as well as files over a certain kb, will be removed.
Updated IRSee.r is available at the LFReD Rebsite or here below.
Terry Brownell
REBOL [
Title: "LFReD IRSee"
Author: "Terry Brownell"
Email: [tbrownell--yahoo--com]
Date: 04-May-2001
File: %IRSee.r
History: [{
Ver 1.3 Added encryption capabilities
}]
]
irc-in: http://216.232.249.87/cgi-bin/irc-in.LFReD?roomirc-out: http://216.232.249.87/cgi-bin/irc-out.LFReD?
crypted: ftp://IRSee:[LFReD--216--232--249--87]/crypt-chat/
;------ Encryption ---------------
key-maker: func [str][checksum/secure str]
crypt: func [
"Encrypts or decrypts data and returns the result."
data [any-string!] "Data to encrypt or decrypt"
akey [binary!] "The encryption key"
/decrypt "Decrypt the data"
/binary "Produce binary decryption result."
/local port
][
port: open [
scheme: 'crypt
direction: pick [encrypt decrypt] not decrypt
key: akey
padding: true
]
insert port data
update port
data: copy port
close port
if not binary [data: to-string data]
]
;---------Main View ---------------
view center-face layout [
backdrop 103.134.170 effect [ grid 10x10 93.124.160 ]
across
at 0x0
h2 "LFReD.com IRSee" return
h4 "Chat Room" return room: field "General" 100 93.124.160 return
h4 "Name/Handle" return handle: field "Handle" 100 93.124.160 return
h4 "Encryption String" return key-string: field 100 93.124.160
button "Enter" 75x25 93.124.160 [the-room: rejoin [irc-in room/text] either empty? key-string/text
[the-room: rejoin [irc-in room/text]
forever [ m/text: copy read the-room show m wait 3]]
[the-key: key-maker key-string/text the-room: rejoin [crypted room/text ".txt"]
if error? try [read/binary the-room][write the-room crypt rejoin ["This is a previously
unused room." newline] the-key]
forever [m/text: crypt/decrypt read/binary the-room the-key show m wait 3]]
]
return
m: info 300x200 wrap
s4: slider 14x200 93.124.160 [scroll-para m s4] return
message: field 93.124.160 return
button 93.124.160 75x25 "Submit" #"^M" [either empty? key-string/text
[read rejoin [irc-out "said=" rejoin [handle/text ": " message/text]"&room=" room/text]message/text:
copy "" show message focus message]
[the-key: key-maker key-string/text the-room: rejoin [crypted room/text ".txt"]
the-whole: crypt/decrypt read/binary the-room the-key
coded1: rejoin [the-whole handle/text ": " message/text newline] coded: crypt coded1
the-key
write/binary the-room coded
message/text: copy "" show message focus message]
]
button "Quit" 75x25 93.124.160 [quit]
]
[2/2] from: holger:rebol at: 5-May-2001 6:13
On Sat, May 05, 2001 at 04:07:09AM -0700, Terry Brownell wrote:
> IRSee now has FULLY ENCRYPTED private chat rooms. Even I can't read em!
To ensure compatibility between users having the export and full version
of /Pro you should limit the encryption strength to what the export version
can support. Just add "strength: 'export" to the port spec.
--
Holger Kruse
[holger--rebol--com]