You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

310 lines
16 KiB

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Command-line and web file sharing - transfer.sh</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta name="keywords" content="large files, share, quick, email, attachment, temporarily, now, curl, upload, download, command-line, file, secure, encrypted, gpg, fast.">
  8. <meta name="description" content="Command-line and web file sharing.">
  9. <meta name="author" content="DutchCoders">
  10. <link href="css/bootstrap.css" media="all" rel="stylesheet" type="text/css" />
  11. <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" media="all" rel="stylesheet" type="text/css" />
  12. <link href="css/style.css" rel="stylesheet">
  13. </head>
  14. <body>
  15. <script>
  16. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  17. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  18. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  19. })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  20. ga('create', 'UA-40833733-1', 'transfer.sh');
  21. ga('send', 'pageview');
  22. </script>
  23. <div id="fb-root"></div>
  24. <script>(function(d, s, id) {
  25. var js, fjs = d.getElementsByTagName(s)[0];
  26. if (d.getElementById(id)) return;
  27. js = d.createElement(s); js.id = id;
  28. js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=458220604296578&version=v2.0";
  29. fjs.parentNode.insertBefore(js, fjs);
  30. }(document, 'script', 'facebook-jssdk'));</script>
  31. <div class="navbar-wrapper" >
  32. <div class="navbar navbar-fixed-top" id="navigation">
  33. <div class="navbar-inner">
  34. <div class="container">
  35. <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
  36. <span class="icon-bar"></span>
  37. <span class="icon-bar"></span>
  38. <span class="icon-bar"></span>
  39. </button>
  40. <a class="brand" href="/"><h2>transfer.sh</h2> </a>
  41. <div class="nav-collapse collapse">
  42. <ul class="nav pull-right">
  43. <li class="active">
  44. <a href="#top">Home</a>
  45. </li>
  46. <li class="">
  47. <a href="#features">Features</a>
  48. </li>
  49. <li class="">
  50. <a href="#support">Use cases</a>
  51. </li>
  52. <li class="">
  53. <a href="#testimonials">Samples</a>
  54. </li>
  55. </ul>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <div id="wrap">
  62. <header id="top">
  63. <div class="container ">
  64. <div class="row home">
  65. <div class="span6">
  66. <h1>Share your files</h1>
  67. <p>Files dropped to this page will be uploaded to our storage and you will get a link, which you can share.</p>
  68. <p>Each file can be downloaded individually, but you will also retrieve a url for downloading a zip or tar file with all files.
  69. </p>
  70. </div>
  71. <div class="span5" id="main-media">
  72. <div class='span5 well' style='color: #000;'>
  73. <div class='span4' ><h2>Quick Upload</h2>
  74. <p>Drag your files to the page to share them, you'll get a link in return. Or click <a class="browse" href="#">here</a> to browse for files.</p>
  75. <input type="file" multiple="multiple" style='display: none;' />
  76. <ul class='queue' style='color: black; list-style-type: none; margin: 0;'>
  77. <li>
  78. </li>
  79. </ul>
  80. <div class='span8 all-files' style='margin: 0; opacity: 0;'>
  81. download all files link <a class="download-zip" href="#">zip</a> <a class="download-tar" href="#">tar.gz</a>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </header>
  88. <hr class="line">
  89. <div class="container">
  90. <section id="features">
  91. <div class="row">
  92. <div class="span6">
  93. <h1>Command-line file sharing</h1>
  94. <p>Now you can just upload and download files without complexity from your shell or browser. Just upload the file using by dropping it to this page, curl or any other command using PUT or POST to our server. We'll return a shareable url, which will expire within 2 weeks.</p>
  95. </div>
  96. <div class="span6">
  97. <img style='float:right;' src="/img/demo.gif">
  98. </div>
  99. </div>
  100. <div class="row margintop20">
  101. <div class="span4">
  102. <h2><i class="icon-briefcase"></i> Shell upload</h2>
  103. <p>Upload files or pipe data from the shell. Every application that uses HTTP PUT or POST can be used to upload files.</p>
  104. </div><!-- /span4 -->
  105. <div class="span4">
  106. <h2><i class="icon-bar-chart"></i> Share</h2>
  107. <p>Files can be shared by just sharing the url.</p>
  108. </div><!-- /span4 -->
  109. <div class="span4">
  110. <h2><i class="icon-bullhorn"></i> Why?</h2>
  111. <ul>
  112. <li>you can upload large files (max 5gb)</li>
  113. <li>it is completely free</li>
  114. <li>uploading and download is fast</li>
  115. <li>easy to do</li>
  116. </ul>
  117. </div><!-- /span4 -->
  118. </div>
  119. </section>
  120. <hr class="line">
  121. <section id="support">
  122. <div class="row">
  123. <div class="offset3 span6">
  124. <h2>Use cases</h2>
  125. <ul >
  126. <li>Upload backup files, automated, and share them with your customer.</li>
  127. <li>Drop your large email attachments to this page and replace them with the links.</li>
  128. <li>Upload that zip file from your shell to transfer.sh and share the link.</li>
  129. <li>Temporary location to upload files and download elsewhere.</li>
  130. </ul>
  131. </div>
  132. </div>
  133. </section>
  134. <hr class="line">
  135. <section id="testimonials">
  136. <div class="row center">
  137. <h2> Samples </h2>
  138. <div class="row margintop20">
  139. <div class='span4' style='text-align: left;'>
  140. <h3>Upload</h3>
  141. <p>Uploading is easy using curl.</p>
  142. <pre>
  143. curl --upload-file ./hello.txt https://transfer.sh/hello.txt
  144. </pre>
  145. <p>Download the file</p>
  146. <pre>curl https://transfer.sh/66nb8/hello.txt</pre>
  147. <p>Create a share alias (add it to .bashrc or .zshrc):</p>
  148. <pre>
  149. transfer() {
  150. # write to output to tmpfile because of progress bar
  151. tmpfile=$( mktemp -t transfer )
  152. curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile;
  153. cat $tmpfile;
  154. rm -f $tmpfile;
  155. }
  156. alias transfer=transfer
  157. </pre>
  158. <p>Now you can just use <b>transfer hello.txt</b> to upload the file!</p>
  159. </div>
  160. <div class='span4' style='text-align: left;'>
  161. <h3>Upload multiple files at once</h3>
  162. <pre>curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/</pre>
  163. <h3>Combining downloads as zip or tar archive</h3>
  164. <pre>curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz</pre>
  165. <pre>curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar</pre>
  166. <pre>curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip</pre>
  167. <h3>Scan for malware or viruses using Clamav</h3>
  168. <pre>
  169. wget http://www.eicar.org/download/eicar.com
  170. curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan
  171. </pre>
  172. <h3>Upload malware to VirusTotal, get a permalink in return</h3>
  173. <pre>
  174. curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal
  175. </pre>
  176. <h3>Database backup</h3>
  177. <pre>
  178. mysqldump --all-databases | gzip | curl --upload-file - ttps://transfer.sh/dmp.sql.gz
  179. </pre>
  180. </div>
  181. <div class='span4' style='text-align: left;'>
  182. <h3>Secure transfer</h3>
  183. <p>You can encrypt files using gpg. The following command will encrypt the data before it leaves your server using the password you enter and upload it to transfer.sh. </p>
  184. <p><b>Encrypt & upload</b></p>
  185. <pre>cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</pre>
  186. <p><b>Decrypt & download</b></p>
  187. <pre>curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt</pre>
  188. </div>
  189. </div>
  190. </div>
  191. </section>
  192. <hr class="line">
  193. <section id="news">
  194. <div class="row center">
  195. <div class="span12">
  196. <h2>Updates</h2>
  197. <div class="row margintop40">
  198. <div class="span12">
  199. <span style='font-weight: bold;'>2014-09-23: </span> Added support for gzip, added scan &amp; virustotal functionality
  200. </div>
  201. <div class="span12">
  202. <span style='font-weight: bold;'>2014-09-12: </span> Added Content-Disposition: Attachment header
  203. </div>
  204. <div class="span12">
  205. <span style='font-weight: bold;'>2014-09-10: </span> Added support to download multiple files
  206. </div>
  207. <div class="span12">
  208. <span style='font-weight: bold;'>2014-09-10: </span> SSL support added
  209. </div>
  210. <div class="span12">
  211. <span style='font-weight: bold;'>2014-09-06: </span> Improved upload speed, support for uploads without content length (eg. piped data)
  212. </div>
  213. <div class="span12">
  214. <span style='font-weight: bold;'>2014-09-06: </span> Support for uploading files using POST.
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. </section>
  220. <hr class="line">
  221. </div>
  222. <div id="push"></div>
  223. </div>
  224. <footer id="footer" class="margintop20">
  225. <div class="container">
  226. <div class="row">
  227. <div class="span4">
  228. <h2>about us...</h2>
  229. <p>This service has been developed because of our own need. We're just glad if we can help you with the service also. Please let us know if you've got any suggestions or comments using the Feedback &amp; Support tab.</p>
  230. <p class="copyright">
  231. <a style='margin-top: 4px;' class="twitter-follow-button"
  232. href="https://twitter.com/dutchcoders"
  233. data-show-count="false"
  234. data-lang="en">
  235. Follow @dutchcoders
  236. </a>
  237. </p>
  238. </div>
  239. <div class="span3">
  240. <h2>social</h2>
  241. <a href="https://twitter.com/share?counturl=https://transfer.sh/&related=dutchcoders" class="twitter-share-button">Tweet</a>
  242. <br/>
  243. <script src="//platform.linkedin.com/in.js" type="text/javascript">
  244. lang: en_US
  245. </script>
  246. <script type="IN/Share" data-counter="right"></script>
  247. <g:plus action="share" ...></g:plus>
  248. <div class="fb-like" data-href="http://transfer.sh/" data-layout="standard" data-action="recommend" data-show-faces="true" data-share="true" data-colorscheme="dark"></div>
  249. </div>
  250. </div>
  251. </div>
  252. <div class="pull-right" style='margin-right: 40px;'>
  253. <p>Made with ❤ by <a href="http://dutchcoders.io/">DutchCoders</a>.
  254. </p>
  255. </div>
  256. <script type="text/javascript">
  257. window.twttr = (function (d, s, id) {
  258. var t, js, fjs = d.getElementsByTagName(s)[0];
  259. if (d.getElementById(id)) return;
  260. js = d.createElement(s); js.id = id;
  261. js.src= "https://platform.twitter.com/widgets.js";
  262. fjs.parentNode.insertBefore(js, fjs);
  263. return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
  264. }(document, "script", "twitter-wjs"));
  265. </script>
  266. </footer>
  267. <div style='padding: 4px;'>
  268. <span style='font-size: 0.8em;'>Powered by <a href="http://golang.org/">Go</a><img style="height: 24px;" src="/img/golang-mascot.png"/>
  269. </div>
  270. <script src="js/jquery.js"></script>
  271. <script src="js/jquery.fitvids.js"></script>
  272. <script src="js/jquery.easing.1.3.js"></script>
  273. <script src="js/custom.js"></script>
  274. <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
  275. <script type="text/javascript">
  276. (function() {
  277. var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  278. po.src = 'https://apis.google.com/js/plusone.js';
  279. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  280. })();
  281. </script>
  282. <!-- UserVoice JavaScript SDK (only needed once on a page) -->
  283. <script>(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})()</script>
  284. <!-- A tab to launch the Classic Widget -->
  285. <script>
  286. UserVoice = window.UserVoice || [];
  287. UserVoice.push(['showTab', 'classic_widget', {
  288. mode: 'full',
  289. primary_color: '#cc6d00',
  290. link_color: '#007dbf',
  291. default_mode: 'support',
  292. forum_id: 264773,
  293. tab_label: 'Feedback & Support',
  294. tab_color: '#cc6d00',
  295. tab_position: 'middle-right',
  296. tab_inverted: false
  297. }]);
  298. </script>
  299. </body>
  300. </html>