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.
 
 
 
 

502 lines
23 KiB

  1. <!doctype html>
  2. <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
  3. <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
  4. <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
  5. <!--[if gt IE 8]><!-->
  6. <html class="no-js">
  7. <!--<![endif]-->
  8. include "includes/head.html"
  9. <body>
  10. <script>
  11. var gaKey = "{{.GAKey}}";
  12. if (gaKey != "") {
  13. (function (i, s, o, g, r, a, m) {
  14. i['GoogleAnalyticsObject'] = r;
  15. i[r] = i[r] || function () {
  16. (i[r].q = i[r].q || []).push(arguments)
  17. }, i[r].l = 1 * new Date();
  18. a = s.createElement(o),
  19. m = s.getElementsByTagName(o)[0];
  20. a.async = 1;
  21. a.src = g;
  22. m.parentNode.insertBefore(a, m)
  23. })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
  24. ga('create', gaKey, 'transfer.sh');
  25. ga('send', 'pageview');
  26. }
  27. </script>
  28. include "includes/navigation.html"
  29. <section id="home">
  30. <div class="wrapper">
  31. <h2 class="page-title">
  32. Easy file sharing from the command line</h2>
  33. <div class="row animated fadeInDown">
  34. <div id="from-terminal" class="box col-md-8 col-md-offset-2 col-xs-12">
  35. <div class="terminal-top">
  36. </div>
  37. <div id="terminal" class="terminal">
  38. <code class="code-wrapper"><span class="code-title"># Upload using cURL</span>
  39. $ curl --upload-file ./hello.txt {{.WebAddress}}hello.txt {{.WebAddress}}66nb8/hello.txt
  40. <span class="code-title"># Using the shell function</span>
  41. $ transfer hello.txt
  42. ##################################################### 100.0% {{.WebAddress}}eibhM/hello.txt
  43. </code>
  44. </div>
  45. <div id="web">
  46. <code class="code-wrapper">
  47. <span class="code-title"># Upload from web</span>
  48. Drag your files here, or <a class="browse" href="#"> click to browse.</a>
  49. </code>
  50. <input type="file" multiple="multiple" style='display: none;' />
  51. <ul class='queue'>
  52. <li>
  53. </li>
  54. </ul>
  55. <div class='all-files'>
  56. <br>
  57. <div>
  58. <span class="code-title"># Download all your files</span>
  59. <br/>
  60. <br/>
  61. <a class="download-zip btn-cta" href="#">zip</a> <a class="download-tar btn-cta" href="#">tar.gz</a>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. <div>
  67. <a href="#features" class="btn-cta btn-home">learn more</i> </a>
  68. </div>
  69. </div>
  70. </section>
  71. <section id="features">
  72. <div class="wrapper container">
  73. <div class="row animated fadeInDown ">
  74. <div class="col-md-3 col-xs-6">
  75. <i class="icon-terminal"></i>
  76. <h3>Made for use with shell</h3>
  77. </div>
  78. <div class="col-md-3 col-xs-6">
  79. <i class="icon-link"></i>
  80. <h3>Share files with a URL</h3>
  81. </div>
  82. <div class="col-md-3 col-xs-6">
  83. <i class="icon-database"></i>
  84. <h3>Upload up to 500 MB</h3>
  85. </div>
  86. <div class="col-md-3 col-xs-6">
  87. <i class="icon-clock"></i>
  88. <h3>Files stored for 1 day</h3>
  89. </div>
  90. </div>
  91. <div class="row animated fadeInDown">
  92. <div class="col-md-offset-3 col-md-3 col-xs-6">
  93. <i class="icon-tag"></i>
  94. <h3>For free</h3>
  95. </div>
  96. <div class="col-md-3 col-xs-6">
  97. <i class="icon-lock"></i>
  98. <h3>Encrypt your files</h3>
  99. </div>
  100. <div class="col-md-3 col-xs-6">
  101. <i class="icon-lock"></i>
  102. <h3>Maximize amount of downloads</h3>
  103. </div>
  104. </div>
  105. </div>
  106. </section>
  107. <section id="share">
  108. <div class="wrapper">
  109. <h2 class="page-title">Preview your files in the browser!</h2>
  110. </div>
  111. </section>
  112. <section id="samples">
  113. <div class="wrapper">
  114. <h2 class="page-title">
  115. Sample use cases
  116. </h2>
  117. <div class="row">
  118. <div class="col-md-6 ">
  119. <h3>How to upload</h3>
  120. <div class="terminal-top">
  121. </div>
  122. <div class="terminal">
  123. <code class="code-wrapper"><span class="code-title"># Uploading is easy using curl</span>
  124. $ curl --upload-file ./hello.txt {{.WebAddress}}hello.txt
  125. {{.WebAddress}}66nb8/hello.txt
  126. $ curl -H "Max-Downloads: 1" -H "Max-Days: 5" --upload-file ./hello.txt {{.WebAddress}}hello.txt
  127. {{.WebAddress}}66nb8/hello.txt
  128. <span class="code-title"># Download the file</span>
  129. $ curl {{.WebAddress}}66nb8/hello.txt -o hello.txt
  130. </code>
  131. </div>
  132. </div>
  133. <div class="col-md-6 ">
  134. <h3>Add shell function to .bashrc or .zshrc</a></h3>
  135. <div class="terminal-top">
  136. </div>
  137. <div class="terminal">
  138. <code class="code-wrapper"><span class="code-title"># Add this to .bashrc or .zshrc or its equivalent</span>
  139. transfer(){ if [ $# -eq 0 ];then echo &quot;No arguments specified.\nUsage:\n transfer &lt;file|directory&gt;\n ... | transfer &lt;file_name&gt;&quot;&gt;&amp;2;return 1;fi;if tty -s;then file=&quot;$1&quot;;file_name=$(basename &quot;$file&quot;);if [ ! -e &quot;$file&quot; ];then echo &quot;$file: No such file or directory&quot;&gt;&amp;2;return 1;fi;if [ -d &quot;$file&quot; ];then file_name=&quot;$file_name.zip&quot; ,;(cd &quot;$file&quot;&amp;&amp;zip -r -q - .)|curl --progress-bar --upload-file &quot;-&quot; &quot;{{.WebAddress}}$file_name&quot;|tee /dev/null,;else cat &quot;$file&quot;|curl --progress-bar --upload-file &quot;-&quot; &quot;{{.WebAddress}}$file_name&quot;|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file &quot;-&quot; &quot;{{.WebAddress}}$file_name&quot;|tee /dev/null;fi;}
  140. <span class="code-title"># Now you can use transfer function</span>
  141. $ transfer hello.txt
  142. </code>
  143. </div>
  144. </div>
  145. </div>
  146. <a class="btn-cta" data-target="#coll" data-toggle="collapse">More examples</a>
  147. <div class="collapse " id="coll">
  148. <div class="row">
  149. <div class="col-md-6 ">
  150. <h3>Upload multiple files at once</h3>
  151. <div class="terminal-top">
  152. </div>
  153. <div class="terminal">
  154. <code class="code-wrapper">
  155. $ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt {{.WebAddress}}
  156. <span class="code-title"># Combining downloads as zip or tar archive</span>
  157. $ curl {{.WebAddress}}(15HKz/hello.txt,15HKz/hello.txt).tar.gz
  158. $ curl {{.WebAddress}}(15HKz/hello.txt,15HKz/hello.txt).zip
  159. </code>
  160. </div>
  161. </div>
  162. <div class="col-md-6 ">
  163. <h3>Encrypt your files with gpg before the transfer</h3>
  164. <div class="terminal-top">
  165. </div>
  166. <div class="terminal">
  167. <code class="code-wrapper"><span class="code-title"># Encrypt files with password using gpg</span>
  168. $ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt
  169. <span class="code-title"># Download and decrypt</span>
  170. $ curl {{.WebAddress}}1lDau/test.txt|gpg -o- > /tmp/hello.txt
  171. </code>
  172. </div>
  173. </div>
  174. </div>
  175. <div class="row">
  176. <div class="col-md-6">
  177. <h3>Scan for malware</h3>
  178. <div class="terminal-top">
  179. </div>
  180. <div class="terminal">
  181. <code class="code-wrapper"><span class="code-title"># Scan for malware or viruses using Clamav</span>
  182. $ wget http://www.eicar.org/download/eicar.com
  183. $ curl -X PUT --upload-file ./eicar.com {{.WebAddress}}eicar.com/scan
  184. <span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span>
  185. $ curl -X PUT --upload-file nhgbhhj {{.WebAddress}}test.txt/virustotal
  186. </code>
  187. </div>
  188. </div>
  189. <div class="col-md-6">
  190. <h3>Backup mysql database, encrypt and transfer</h3>
  191. <div class="terminal-top">
  192. </div>
  193. <div class="terminal">
  194. <code class="code-wrapper"><span class="code-title"># Backup, encrypt and transfer</span>
  195. $ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt</code>
  196. </div>
  197. </div>
  198. </div>
  199. <div class="row">
  200. <div class="col-md-6">
  201. <h3>Send email with transfer link (uses shell function)</h3>
  202. <div class="terminal-top">
  203. </div>
  204. <div class="terminal">
  205. <code class="code-wrapper"><span class="code-title"># Transfer and send email with link (uses shell function)</span>
  206. $ transfer /tmp/hello.txt | mail -s "Hello World" user@yourmaildomain.com
  207. </code>
  208. </div>
  209. </div>
  210. <div class="col-md-6">
  211. <h3>Using <a href="https://keybase.io/">Keybase.io</a></h3>
  212. <div class="terminal-top">
  213. </div>
  214. <div class="terminal">
  215. <code class="code-wrapper"><span class="code-title"># Import keys from keybase</span>
  216. $ keybase track [them]
  217. <span class="code-title"># Encrypt for recipient(s)</span>
  218. $ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' {{.WebAddress}}test.txt
  219. <span class="code-title"># Decrypt</span>
  220. $ curl {{.WebAddress}}sqUFi/test.md |keybase decrypt
  221. </code>
  222. </div>
  223. </div>
  224. </div>
  225. <div class="row">
  226. <div class="col-md-6">
  227. <h3>wget uploads also supported</h3>
  228. <div class="terminal-top">
  229. </div>
  230. <div class="terminal">
  231. <code class="code-wrapper"><span class="code-title"># wget</span>
  232. $ wget --method PUT --body-file=/tmp/file.tar {{.WebAddress}}file.tar -O - -nv
  233. </code>
  234. </div>
  235. </div>
  236. <div class="col-md-6">
  237. <h3>Transfer pound logs</h3>
  238. <div class="terminal-top">
  239. </div>
  240. <div class="terminal">
  241. <code class="code-wrapper"><span class="code-title"># grep syslog for pound and transfer</span>
  242. $ cat /var/log/syslog|grep pound|curl --upload-file - {{.WebAddress}}pound.log
  243. </code>
  244. </div>
  245. </div>
  246. </div>
  247. <div class="row">
  248. <div class="col-md-6">
  249. <h3>Upload a file using Powershell</h3>
  250. <div class="terminal-top">
  251. </div>
  252. <div class="terminal">
  253. <code class="code-wrapper"><span class="code-title"># Upload using Powershell</span>
  254. PS H:\&gt; invoke-webrequest -method put -infile .\file.txt {{.WebAddress}}file.txt
  255. </code>
  256. </div>
  257. </div>
  258. <div class="col-md-6">
  259. <h3>Upload a file using HTTPie</h3>
  260. <div class="terminal-top">
  261. </div>
  262. <div class="terminal">
  263. <code class="code-wrapper"><span class="code-title"># HTTPie</span>
  264. $ http {{.WebAddress}} -vv &lt; /tmp/test.log
  265. </code>
  266. </div>
  267. </div>
  268. </div>
  269. <div class="row">
  270. <div class="col-md-6">
  271. <h3>Upload a file using Unofficially client in Python</h3>
  272. <div class="terminal-top">
  273. </div>
  274. <div class="terminal">
  275. <code class="code-wrapper">
  276. <span class="code-title"># transfersh-cli (https://github.com/tanrax/transfersh-cli)</span>
  277. $ trasnfersh photos.zip
  278. <span class="code-title"># Uploading file</span>
  279. <span class="code-title"># Download from here: {{.WebAddress}}xxxxxx/photos.zip</span>
  280. <span class="code-title"># It has also been copied to the clipboard!</span>
  281. </code>
  282. </div>
  283. </div>
  284. <div class="col-md-6">
  285. <h3>Encrypt your files with openssl before the transfer</h3>
  286. <div class="terminal-top">
  287. </div>
  288. <div class="terminal">
  289. <code class="code-wrapper"><span class="code-title"># Encrypt files with password using openssl</span>
  290. $ cat /tmp/hello.txt|openssl aes-256-cbc -pbkdf2 -e|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt
  291. <span class="code-title"># Download and decrypt</span>
  292. $ curl {{.WebAddress}}1lDau/test.txt|openssl aes-256-cbc -pbkdf2 -d > /tmp/hello.txt
  293. </code>
  294. </div>
  295. </div>
  296. </div>
  297. <div class="row">
  298. <div class="col-md-6">
  299. <h3>Upload a file or directory in Windows</h3>
  300. <div class="terminal-top">
  301. </div>
  302. <div class="terminal">
  303. <code class="code-wrapper"><span class="code-title">#Save this as transfer.cmd in Windows 10 (which has curl.exe)</span>
  304. @echo off
  305. setlocal EnableDelayedExpansion EnableExtensions
  306. goto main
  307. :usage
  308. echo No arguments specified. &gt;&amp;2
  309. echo Usage: &gt;&amp;2
  310. echo transfer ^&lt;file^|directory^&gt; &gt;&amp;2
  311. echo ... ^| transfer ^&lt;file_name^&gt; &gt;&amp;2
  312. exit /b 1
  313. :main
  314. if "%~1" == "" goto usage
  315. timeout.exe /t 0 &gt;nul 2&gt;nul || goto not_tty
  316. set "file=%~1"
  317. for %%A in ("%file%") do set "file_name=%%~nxA"
  318. if exist "%file_name%" goto file_exists
  319. echo %file%: No such file or directory &gt;&amp;2
  320. exit /b 1
  321. :file_exists
  322. if not exist "%file%\" goto not_a_directory
  323. set "file_name=%file_name%.zip"
  324. pushd "%file%" || exit /b 1
  325. set "full_name=%temp%\%file_name%"
  326. powershell.exe -Command "Get-ChildItem -Path . -Recurse | Compress-Archive -DestinationPath ""%full_name%"""
  327. curl.exe --progress-bar --upload-file "%full_name%" "{{.WebAddress}}%file_name%"
  328. popd
  329. goto :eof
  330. :not_a_directory
  331. curl.exe --progress-bar --upload-file "%file%" "{{.WebAddress}}%file_name%"
  332. goto :eof
  333. :not_tty
  334. set "file_name=%~1"
  335. curl.exe --progress-bar --upload-file - "{{.WebAddress}}%file_name%"
  336. goto :eof
  337. </code>
  338. </div>
  339. </div>
  340. <div class="col-md-6">
  341. <h3>Send us your awesome example</h3>
  342. <div class="terminal-top">
  343. </div>
  344. <div class="terminal">
  345. <code class="code-wrapper"><span class="code-title"># Your awesome sample will be put here</span>
  346. </code>
  347. </div>
  348. </div>
  349. </div>
  350. </div>
  351. </div>
  352. </section>
  353. <section id="share">
  354. <div class="wrapper">
  355. <h2 class="page-title">Follow on GitHub</h2>
  356. <br>
  357. <br>
  358. <iframe src="https://ghbtns.com/github-btn.html?user=dutchcoders&repo=transfer.sh&type=follow&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="250" height="50"></iframe>
  359. <iframe src="https://ghbtns.com/github-btn.html?user=dutchcoders&repo=transfer.sh&type=watch&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="200" height="50"></iframe>
  360. </div>
  361. </section>
  362. <section id="reviews">
  363. <div class="wrapper">
  364. <div class="row">
  365. <div class="col-md-8 col-md-offset-2 col-xs-12">
  366. <blockquote class="twitter-tweet tweet-xl" lang="en">
  367. <a href="https://twitter.com/FloifyDave/status/517383101425516544">
  368. <img class="twitter-profile" src="images/reviews/dave.jpg" alt="">
  369. </a>
  370. <p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> Thanks for transfer.sh. Just used it for a production purpose for a customer. So great, so easy, so https. :)</p>
  371. <a href="https://twitter.com/FloifyDave/status/517383101425516544">
  372. &mdash; Dave Sims (@FloifyDave)</a>
  373. </blockquote>
  374. </div>
  375. </div>
  376. <div class="row">
  377. <div class="col-md-6 col-xs-12">
  378. <blockquote class="twitter-tweet" lang="en">
  379. <a href="https://twitter.com/kareemk/status/517029789191118849">
  380. <img class="twitter-profile" src="images/reviews/kareem.jpg" alt="">
  381. </a>
  382. <p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> love transfer.sh! any change we can *pay* for a self-hosted version?</p><a href="https://twitter.com/kareemk/status/517029789191118849">&mdash; Kareem Kouddous (@kareemk) </a>
  383. </blockquote>
  384. </div>
  385. <div class="col-md-6 col-xs-12">
  386. <blockquote class="twitter-tweet" lang="en">
  387. <a href="https://twitter.com/drakpz/status/517008058841829376">
  388. <img class="twitter-profile" src="images/reviews/pg.jpeg" alt="">
  389. </a>
  390. <p><a href="http://t.co/JomAmqWYEB">http://t.co/JomAmqWYEB</a> by <a href="https://twitter.com/dutchcoders">@dutchcoders</a> is pure awesomeness! any chance of source on github? :-)</p><a href="https://twitter.com/drakpz/status/517008058841829376">&mdash; PJ Spagnolatti (@drakpz)</a>
  391. </blockquote>
  392. </div>
  393. </div>
  394. <div class="row">
  395. <div class="col-md-6 col-xs-12">
  396. <blockquote class="twitter-tweet" lang="en">
  397. <a href="https://twitter.com/jacoblindgren11/status/516975006501203968">
  398. <img class="twitter-profile" src="images/reviews/jacob.jpg" alt="">
  399. </a>
  400. <p>Love transfer.sh! Will be using it from now on! Thanks for the amazing service we can use from the CLI <a href="https://twitter.com/dutchcoders">@dutchcoders</a>
  401. </p><a href="https://twitter.com/jacoblindgren11/status/516975006501203968">&mdash; Jacob Lindgren (@jacoblindgren11) </a>
  402. </blockquote>
  403. </div>
  404. <div class="col-md-6 col-xs-12">
  405. <blockquote class="twitter-tweet" lang="en">
  406. <a href="https://twitter.com/arvestad/status/519507976491499521">
  407. <img class="twitter-profile" src="images/reviews/lars.jpg" alt="">
  408. </a>
  409. <p>transfer.sh is my latest fav service! Try simple command-line and web file sharing! <a href="https://t.co/FSrsb1JKJd">https://t.co/FSrsb1JKJd</a>&#10;Thanks <a href="https://twitter.com/dutchcoders">@dutchcoders</a> !</p> <a href="https://twitter.com/arvestad/status/519507976491499521">&mdash; Lars Arvestad (@arvestad)</a>
  410. </blockquote>
  411. </div>
  412. </div>
  413. </div>
  414. </section>
  415. <section id="share">
  416. <div class="wrapper">
  417. <h2 class="page-title">Share the love</h2>
  418. <ul class="share-buttons">
  419. <li>
  420. <a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false;"> <i class="icon-facebook"></i>
  421. </a>
  422. </li>
  423. <li>
  424. <a href="https://twitter.com/intent/tweet?source=http%3A%2F%2Ftransfer.sh&text=:%20http%3A%2F%2Ftransfer.sh" target="_blank" title="Tweet" onclick="window.open('https://twitter.com/intent/tweet?text=' + encodeURIComponent(document.title) + ':%20' + encodeURIComponent(document.URL)); return false;"> <i class="icon-twitter"></i>
  425. </li>
  426. <li>
  427. <a href="https://plus.google.com/share?url=http%3A%2F%2Ftransfer.sh" target="_blank" title="Share on Google+" onclick="window.open('https://plus.google.com/share?url=' + encodeURIComponent(document.URL)); return false;"> <i class="icon-gplus"></i>
  428. </a>
  429. </li>
  430. <li>
  431. <a href="http://www.linkedin.com/shareArticle?mini=true&url=http%3A%2F%2Ftransfer.sh&title=&summary=&source=http%3A%2F%2Ftransfer.sh" target="_blank" title="Share on LinkedIn" onclick="window.open('http://www.linkedin.com/shareArticle?mini=true&url=' + encodeURIComponent(document.URL) + '&title=' + encodeURIComponent(document.title)); return false;"> <i class="icon-linkedin"></i>
  432. </a>
  433. </li>
  434. </ul>
  435. </div>
  436. </section>
  437. <section id="contact">
  438. <div class="wrapper">
  439. <i class="icon-mail"></i>
  440. <h2 class="page-title">
  441. Any questions?
  442. </h2>
  443. <a href="#" data-uv-trigger class="btn-cta">contact us</a>
  444. </div>
  445. </section>
  446. <section id="tor">
  447. <div class="wrapper">
  448. <a href="https://www.torproject.org"><img src="images/tor.svg" alt="">
  449. </a>
  450. <br/>
  451. <a href="http://jxm5d6emw5rknovg.onion/">http://jxm5d6emw5rknovg.onion/</a>
  452. </div>
  453. </section>
  454. include "includes/footer.html"
  455. include "includes/js.html"
  456. </body>
  457. </html>