9 ms·
Curl.io – Share files from your terminal or ssh
- chopete 12y agoJust awesome. I tried custom shell scripts to upload to dropbox and other cloud storages but it never felt right. The other magic is, on Mac you can see the upload status in the browser window if you keep curl.io open.
- deleted 12y ago[deleted]
- beeskneecaps 12y agoAgreed. The web UI reacted almost instantly when I hit enter in the terminal. I'd want an interface to destroy the file immediately then fallback to the 4 hour auto-delete. Also some serious details about the author and security before I'd actually consider sending anything mission critical.
- rikacomet 12y agoCertainly, there is no need to put <span> tags inside <div> tags, that is invalid HTML5 or at least according to W3C validator.No offense meant to the author. Peace!
- Buge 12y agoI don't think there is anything wrong with span inside div. The other way is a problem though. But http://validator.w3.org http://validator.w3.org doesn't give me errors about spans or divs. It just gives errors with attributes.
- dizda 12y agoThanks for your feedbacks! In fact, I developed this tool just to get some help in my everyday work, because I'm used to connect to several SSH at the same time of my customers (My Terminal => Bridge SSH => Target SSH), and it can become a little bit confused with SCP command..! This kind of tool helped me a lot, and I choose to share it with other DevOps/SysAdmin. @beeskneecaps: I never thought about the link to destroy immediately the file, I'll put it tomorrow, thanks :) I'm the author, @dizzda on twitter, you'll get additional informations about me. About the security, i'll be honest, it was just to see if the concept can be interesting for other people, the only security (yet) is that the file will be auto-deleted in 4 hours. Files are hosted on a private dedicated server. So yeah, you can always take care to encrypt yourself your file before send it there. If many people are interested to use this tool in a more professionnal-way, I can take some time to think about it... Anyway, it's just a real pleasure to hear your feedbacks guys! Please do not hesitate! Cheers, dizda.
- vdm 12y agoSome terminal emulators support in-band file transfers using zmodem. SecureCRT does this. iTerm: http://grack.com/blog/2011/10/26/automatic-file-transfer-in-iterm2-via-zmodem/ http://grack.com/blog/2011/10/26/automatic-file-transfer-in-...
- heroprotagonist 12y agoWhat were your difficulties with other storage? S3 is as easy as: s3cmd put FILE [FILE...] s3://BUCKET[/PREFIX] Dropbox is automatic, just move a file to a local directory. They have CLI tools, though. If you want the public url, it's just: $ ~/bin/dropbox.py puburl ~/Dropbox/Public/file.zip If you don't want dropbox running all of the time, just use the 'start' and 'stop' arguments to dropbox.py. References: http://s3tools.org/usage http://s3tools.org/usage http://www.dropboxwiki.com/tips-and-tricks/using-the-official-dropbox-command-line-interface-cli#Usage-3 http://www.dropboxwiki.com/tips-and-tricks/using-the-officia...
- chopete 12y agoThere were 2 issues, one copying the script onto every machine and the second one related to login credentials. Some scripts needed an authentication file and others need it on prompt. Unfortunately keys(both S3 and dropbox) are not handy all the times.
- kordless 12y agoI was trying to do something like this to make it a bit easier to use: #!/bin/bash X=$(cd $(dirname "$1") && pwd -P)/$(basename "$1") curl -F "file=$X" http://curl.io/$2 http://curl.io/$2
- filipedeschamps 12y agoThis looks great! You should also provide a copy to clipboard button.
- dizda 12y agoThis is considered :)
- deleted 12y ago[deleted]
- baconhigh 12y agowhaaat. does anyone else think this is slightly suspect and/or bogus?
- agildehaus 12y agoHow would it be? It's just using cURL to send a file to a URL.
- drcode 12y agoOF COURSE you should assume the owner of the website can read any file you send, but besides that it seems like it's fine.
- baconhigh 12y agoI like how this was downvoted to hell.
- abemassry 12y agoFor something similar check out: https://wsend.net https://wsend.net
- jbnicolai 12y agoCouldn't find any feedback form on the site, so I guess I'll post it here. Seems there's a small bug in the way the time, dispayed in the console, is calculated. FilerCtrl uses: var c = new Date; a.date = c.toDateString() + " " + ("0" + c.getUTCHours()).slice(-2) + ":" + ("0" + c.getUTCMinutes()).slice(-2) + ":" + ("0" + c.getUTCSeconds()).slice(-2); Which does not respect the current timezone. I suppose it could be fixed by replacing c.getUTCHours()).slice(-2) with (c.getUTCHours()).slice(-2) + (c.getTimezoneOffset() / 60)) Although you'd probably be better of using a library like http://momentjs.com/ http://momentjs.com/.
- dizda 12y agoThanks for the feedback, indeed I didn't want to use momentjs to overload the speed of the site, but I didn't notice for that mistake, thanks I appreciate :-)
- harigov 12y agoTyping in file name within a page just to generate URL seems clunky to me. I believe, you can provide URL generation from a REST API that can be called from command line.
- themoonbus 12y agoUsing curl!
- darkotic 12y agoWithout knowing the hash, it might be nice to just: curl -F "@file=/path/myfile.tgz" http://curl.io/send and get the hash returned with a url.
- CyberShadow 12y agoYikes, this should really be accessible only via HTTPS. Copying commands from untrusted websites (or insecure connections) and pasting them into your terminal is not a good idea: http://thejh.net/misc/website-terminal-copy-paste http://thejh.net/misc/website-terminal-copy-paste
- nettdata 12y agoDon't know about you, but an SSL certificate does nothing to increase my level of trust of a website.
- edvinbesic 12y agoyou're right but it should increase the level of trust along the way, no? or do I not undestand SSL correctly?
- freakonom 12y agoWithout TLS, absolutely anyone along the link (not just curl.io) can inject some BS into your command line if you choose to copy-paste. If you don't trust curl.io, fine. But without TLS the list of people you need to trust is not only curl.io, but everyone else in the tubes too.
- philtar 12y agoOr just yourself. As it really should be.
- dizda 12y agoHey, I'm not sure that the SSL certificate will change something in the trust of the website, because the file will be hold by the website anyway. So according to me, I think you have to encrypt your file before sending it to the server, that you'll be sure to be the only one who can read your file (and other people who you give your passphrase). I've updated the website with gpg encryption w/ passphrase FYI.
- hobarrera 12y ago
- wanquribao 12y agoAwesome! Seems many new ideas around file sharing recently. To name a few: - https://popbox.io https://popbox.io - https://nfil.es https://nfil.es - https://wsend.net https://wsend.net
- lttlrck 12y agoI far prefer this, it uses filepicker as it's backend. https://github.com/uams/geturl https://github.com/uams/geturl
- spartas 12y agoI wonder what their file storage limits are. Can I send them /dev/random ?
- api 12y agoEverything has to be 100% relayed via a central server. Sigh. Not your fault of course. We've all lost kittens to NAT.
- hobarrera 12y agoIPv6 will get rid of that nasty NAT, fortunately, and we can go back to true p2p transfers.
- mivok 12y agoMake it support PUT instead of POST with a file form field and the command becomes simplified to: curl -T filename http://curl.io/send/abc123
- therealmarv 12y agoSo this shows them my file path? Browsers normally do not submit file paths when uploading! Privacy fail IMHO.
- igetspam 12y agoGreat idea but where I'd find value in something like this is for securely transferring files to people who, presumably, are somewhat clued. If I needed to do that, doing it without SSL seems counter productive (as has been pointed out). Additionally, while the four hour deletion is nifty, were I building this (could be a fun toy to hack together), I'd like a settable timer or download count. The comment about auto generating to URI path is spot on too. Sure, it would be nice to be able to choose but in many cases, a randomized path is ideal. Again, cool toy and a fun idea but... Too bad the code isn't available so I could hack it up a bit. I've saved this, in case bored and want to give it a try on my own some time.
- abemassry 12y agoYou might be interested in this project I worked on https://github.com/abemassry/wsend-gpg https://github.com/abemassry/wsend-gpg it's end to end encryption, there's no settable timeout but there is a delete command so something like what you're saying might be possible. I've already posted below but wanted to share this with you incase you're interested.
- dizda 12y agoHey, thanks for your feedback. A gpg encryption help has been added, you can check this out.
- ajgrover 12y agoI use cloudapp for sharing files and they have a convenient ruby gem for command line use: https://github.com/cloudapp/cloudapp.rb https://github.com/cloudapp/cloudapp.rb
- booruguru 12y agoWhat exactly is the point of this? I'm seriously asking. What's a scenario in which Curl.io would be useful?
- dizda 12y agoIn my case, I going through several SSH (My Terminal => Bridge SSH => Target SSH) to get for example a backup. It's just easier for me to get the file back with curl.io instead of using something like SCP in this kind of situation.
- nl5874 12y agoI'm always using transfer.sh. It will return a filename that can be shared. For example "curl --upload-file /tmp/test.txt http://transfer.sh/hello.txt" http://transfer.sh/hello.txt" will return http://transfer.sh/6t9me/hello.txt http://transfer.sh/6t9me/hello.txt.
- nl5874 12y agoOh, and dropping files on the page will just change it into a download link.
- yuvadam 12y agoWhile I'm doing command line file sharing, why not just directly transfer a file to my peer with netcat? Server: $ cat hugefile.ext | nc -l -p 9999 Client: $ nc server.ip 9999 > hugefile.ext We tend to forget how the network is built, and how easy it is to use it with the right tools.
- klapinat0r 12y agoWhile I do agree with you, I think a common "gotcha" is in dealing with port forwards and firewalls.
- xorcist 12y agoAh, a candidate for the useless use of cat award. The first command can be given more easily as: nc -l -p 9999 < hugefile.ext (which also mirrors the logic of the second, modulo nc's idiosyncratic argument syntax)
- unfamiliar 12y agoThe cat version much more clearly represents the flow of data. We read left to right, it makes no sense to me to have data flow written right to left (and only for input files, while output files read left to right). When building commands up from basics, it makes much more sense to start with cat. I will typically cat the file to see it's contents, then modify the command with a pipe to another program, and make keep adding processing steps to the end of the pipeline. Your < inputfile.txt notation completely breaks this model. Just because you read something on a webpage that one time doesn't mean it is the one true way.
- klapinat0r 12y agoApart from parsing a HTML page (e.g. curl http://curl.io/ http://curl.io/), how exactly are you suppose to get a key (from terminal/ssh)?
- hobarrera 12y agoLooks like you can re-use the keys.
- kalleboo 12y agoHey everyone, don't forget that copying commands from web sites and pasting them into a terminal window can be very dangerous http://thejh.net/misc/website-terminal-copy-paste http://thejh.net/misc/website-terminal-copy-paste
- giancarlostoro 12y agoSo paste into a text editor first is what you're saying?
- kalleboo 12y agoThat works. Or use a clipboard viewer (on OS X you can view the clipboard in the Finder)
- dizda 12y agoHello everyone, Thanks for all these feedbacks! I have considered most of them. Well, as I can see the most of you are worried about the security, that I understand. So I've just added little help with a GPG encryption right from your terminal before sending the file. I think this is the most important things I can make right now, while I do not plan to install SSL certificate given that I don't make money with this site, and the server cost is enough. But if some of you, guys, are interested in more professional features, let me know, we can discuss about it. Cheers! dizda
- pendexgabo 12y agowhy not startssl? you will get the SSL certificate for free