This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
hbomb79's profile picture

CCDrop - Advanced Directory And File Transfer

Started by hbomb79, 20 December 2014 - 06:57 AM
hbomb79 #1
Posted 20 December 2014 - 07:57 AM
Hey everyone, I present to you my new independent program (uses security suite APIs xD)

CCDrop is a very advanced way of copying file from computer to computer without the need of pastebin (After youve downloaded it)

Simply use this pastebin id:

pastebin get zxgX7grk CCDrop

to download the program, once downloaded run it, and it will download any extra files it needs, after that the onscreen dialogue will guide you through sending or receiving files.

UPDATE: Because I thought it would be more help to you and I to have the ability to transfer entire directories at a time, I added that feature, Now when sending simply enter a directory path and follow on screen instructions, Any directories in that one can also be transferred and so on. Overwrite protection still pops up if you are going to overwrite a current file.

UPDATE: Shell Args are now supported, simply use the following syntax:
CCDrop <Name Of File To Send>
or
CCDrop -w
to instantly start waiting

To update delete CCdrop and re download it with the paste-bin below, It uses the same ID, but there is no auto updater in CCDrop.

Features:
- Copy protection
- Fast and easy transfer
- Sexy UI (IMO)
- Client List shows all other PCs waiting for files, allows for very easy choice.
- Client confirmation
- Both sender and receiver provide up to date information on the transfer.
- Transfer directories, in directories in directories etc…
- Transfer files straight from the shell using shell arguments
- Start waiting for file without using the menu using shell arguments

Screen shots:

Spoiler












Warning
SpoilerThis program uses modem methods, they are broadcast to any computer listening on the correct channels, this is not hard to find and means any files broadcast could be stolen without knowing, I do not take any responsibility for confidential information or credentials that may be held within files or folders sent via CCDrop, Use of this program requires you agree to this policy.

TODO:

- Shell args.
- Allow transfer of entire directories.
Edited on 29 December 2014 - 06:11 AM
hbomb79 #2
Posted 20 December 2014 - 08:36 AM
FIX

Fixed copy protection

Redownload from pastebin to update, I haven't implemented an auto update like security suite


NEXT UPDATE

- Ability to transfer entire directories.
Edited on 20 December 2014 - 08:21 AM
ByteMe #3
Posted 20 December 2014 - 10:43 AM
Your UI's never fail to impress. Really pushing out these programs, :D/>
Edited on 20 December 2014 - 09:43 AM
hbomb79 #4
Posted 20 December 2014 - 07:16 PM
Thanks, I'm glad you like it!
AssossaGPB #5
Posted 23 December 2014 - 05:57 PM
This looks amazing, I'm probably gonna use this a ton.
hbomb79 #6
Posted 23 December 2014 - 08:16 PM
Thanks, that means a alot! When I get my computer back I will add support for multiple directories (If a dir is in a dir then you can send that too)
hbomb79 #7
Posted 25 December 2014 - 02:46 AM
Multi Directory Transfer Progress:

TODO:

- Calculate and list directories within each other
- Send messages with file names and content to client receiver
- Recognize and loop the downloader the specified amount

- Complete transfer messaging
- Bug test

Check main post for update details.
Edited on 25 December 2014 - 02:34 AM
HPWebcamAble #8
Posted 11 January 2015 - 04:39 AM
This program uses modem methods, they are broadcast to any computer listening on the correct channels, this is not hard to find and means any files broadcast could be stolen without knowing, I do not take any responsibility for confidential information or credentials that may be held within files or folders sent via CCDrop, Use of this program requires you agree to this policy.

How about encrypting the file before its sent?

There are several APIs on the CC forum
hbomb79 #9
Posted 17 January 2015 - 11:52 PM
Encrypting the files seemed to take too long, a password maybe, but when testing the transfer took several minutes when transferring my security suite over… If I find a way of shortening this time, it will be added.
hbomb79 #10
Posted 05 April 2015 - 12:24 PM
UPDATE: Fixed multiple directory transfer missing certain files if they were listed last or directly after a directory stored in the array.

This will allow you to transfer the contents of a folder, including its contents, whether they be more directories or just files!
hbomb79 #11
Posted 06 April 2015 - 03:21 AM
Update To Come:

Known bugs:
  • If a directory is empty, the computer will hang and the waiting computer will never stop waiting until reboot/shutdown.
  • Directory selection is limited by alphanumerics.
  • element API is incorrectly configured.
  • frame buffer causes flickering while transfering files on some machines.
These bugs will be fixed soon! Along with the Security Suite update.
Edited on 06 April 2015 - 01:21 AM
davidgumazon #12
Posted 20 July 2015 - 12:52 PM
Update To Come:

Known bugs:
  • If a directory is empty, the computer will hang and the waiting computer will never stop waiting until reboot/shutdown.
  • Directory selection is limited by alphanumerics.
  • element API is incorrectly configured.
  • frame buffer causes flickering while transfering files on some machines.
These bugs will be fixed soon! Along with the Security Suite update.
Looks like the bugs may hard to fix cuz ur performing good code
LDDestroier #13
Posted 21 July 2015 - 03:42 PM
Could you get CCDrop to work on normal computers? Or, if it detects that it can, normal computers with gray?
I got some example code for figuring out what palate of colors you can use:

if term.isColor() then
	colorAllowed = true --You can do color
	grayAllowed = true --That includes grayscale
else
	colorAllowed = false
	if _VERSION then --_VERSION is a environment variable introduced in the latest beta of CC, which also happens to have grayscale for normal computers. If _VERSION exists, then you can bet that normal computers can handle gray.
		grayAllowed = true
	else
		grayAllowed = false
	end
end
--Done finding out what colors can be used.
--Example implementation:
if colorAllowed then
	term.setTextColor(colors.red)
else
	if grayAllowed then --If using the latest beta version of CC
		term.setTextColor(colors.lightGray)
	else --If using 1.64 or 1.73 or whatever
		term.setTextColor(colors.white)
	end
end
--Done with example implementation

It's what I use in my Map program, which would really do with more replies…grrr…

As for mouse implementation, you could have a graphical cursor (not a mouse pointer) that leaps to the closest button in the direction of the arrow key you pressed, like how you select icons in a file explorer or the Windows desktop with the arrow keys.
Edited on 21 July 2015 - 01:45 PM
hbomb79 #14
Posted 22 July 2015 - 01:43 AM
Not really, the colours are hard coded on purpose. Essentially, if you want the ability to transfer files using this program you need an advanced computer.

If I get enough requests to do so, then I will port the colours to a table that is swapped depending on the computer type.

I am currently remaking my security suite under a different name, keep an eye out for it.
DannySMc #15
Posted 26 July 2015 - 10:08 PM
Looks really nice,

Well done!!!! :D/>
hbomb79 #16
Posted 27 July 2015 - 12:36 AM
Looks really nice,

Well done!!!! :D/>

Thanks a lot. I am glad you like it.

Let me know how you find it if you have used it.

If you have any suggestions for features, feel free to let me know!
DannySMc #17
Posted 27 July 2015 - 10:17 PM
Looks really nice,

Well done!!!! :D/>

Thanks a lot. I am glad you like it.

Let me know how you find it if you have used it.

If you have any suggestions for features, feel free to let me know!

You're welcome, if you want give me a message on here, I have a few things you could add :D/>
hbomb79 #18
Posted 15 September 2015 - 09:13 PM
Fixed shell arg bug, re-download from pastebin if you are experiencing issues.

CC-Drop is currently not being focused on (and hasn't been for a while), once DynaCode is ready to go the program will likely be rewritten as a HexCode program… Look forward to that I guess :D/>
Waitdev_ #19
Posted 18 September 2015 - 11:36 PM
i was gonna make something like this (yet i didn't) and it would have a server that would hold files and a mini table of who to send the files to. it would keep trying to connect to the receiving computers until they were on. the senders would connect to the server if its on and hold the files there. just an idea for something i never finished :P/>