@@ -133,24 +133,49 @@ module.exports = function (grunt) { | |||
server: { | |||
cwd: '<%= yeoman.app %>', | |||
src: ['*.html', 'includes/*.html'], | |||
dest: '.tmp/', | |||
dest: '.tmp', | |||
options: { | |||
flatten: true, | |||
banner: '' | |||
} | |||
} | |||
}, | |||
// not used since Uglify task does concat, | |||
// but still available if needed | |||
/*concat: { | |||
dist: {} | |||
},*/ | |||
// not enabled since usemin task does concat and uglify | |||
// check index.html to edit your build targets | |||
// enable this task if you prefer defining your build targets here | |||
/*uglify: { | |||
dist: {} | |||
},*/ | |||
concat: { | |||
generated: { | |||
files: [ | |||
{ | |||
dest: '.tmp/scripts/main.js', | |||
src: ['<%= yeoman.app %>/scripts/main.js'] | |||
}, | |||
{ | |||
dest: '.tmp/scripts/vendor/modernizr.js', | |||
src: ['<%= yeoman.app %>/scripts/vendor/modernizr.js'] | |||
}, | |||
{ | |||
dest: '.tmp/scripts/vendor/video.js', | |||
src: ['<%= yeoman.app %>/scripts/vendor/video.js'] | |||
} | |||
] | |||
} | |||
}, | |||
uglify: { | |||
generated: { | |||
files: [ | |||
{ | |||
dest: '<%= yeoman.dist %>/scripts/main.js', | |||
src: ['.tmp/scripts/main.js'] | |||
}, | |||
{ | |||
dest: '<%= yeoman.dist %>/scripts/vendor/modernizr.js', | |||
src: ['.tmp/scripts/vendor/modernizr.js'] | |||
}, | |||
{ | |||
dest: '<%= yeoman.dist %>/scripts/vendor/video.js', | |||
src: ['.tmp/scripts/vendor/video.js'] | |||
} | |||
] | |||
} | |||
}, | |||
rev: { | |||
dist: { | |||
files: { | |||
@@ -232,7 +257,8 @@ module.exports = function (grunt) { | |||
} | |||
} | |||
} | |||
,copy: { | |||
, | |||
copy: { | |||
dist: { | |||
files: [{ | |||
expand: true, | |||
@@ -300,7 +326,7 @@ module.exports = function (grunt) { | |||
'clean:server', | |||
'less', | |||
'copy:server', | |||
'connect:test', | |||
'connect:test' | |||
]); | |||
grunt.registerTask('build', [ | |||
@@ -314,8 +340,7 @@ module.exports = function (grunt) { | |||
'includes:build', | |||
'uglify', | |||
'copy', | |||
'usemin', | |||
'usemin' | |||
]); | |||
grunt.registerTask('default', [ | |||
@@ -5,7 +5,7 @@ This repository contains the web frontend for [transfer.sh](https://github.com/d | |||
## How to use it | |||
You must specify `web-path`directory, pointing to `dist` generated folder (Grunt & bindata) | |||
You must specify `web-path` directory, pointing to `dist` generated folder (Grunt & bindata) | |||
Sample : | |||
``` | |||
@@ -2,31 +2,31 @@ | |||
"name": "transfer.sh", | |||
"version": "0.0.0", | |||
"dependencies": { | |||
"wiredep": "^1.8.6" | |||
"wiredep": "^4.0.0" | |||
}, | |||
"devDependencies": { | |||
"grunt": "~0.4.5", | |||
"grunt": "^1.0.4", | |||
"grunt-concurrent": "~1.0.0", | |||
"grunt-contrib-clean": "~0.6.0", | |||
"grunt-contrib-concat": "~0.5.0", | |||
"grunt-contrib-connect": "~0.8.0", | |||
"grunt-contrib-connect": "^2.0.0", | |||
"grunt-contrib-copy": "~0.6.0", | |||
"grunt-contrib-cssmin": "~0.10.0", | |||
"grunt-contrib-htmlmin": "~0.3.0", | |||
"grunt-contrib-imagemin": "0.8.1", | |||
"grunt-contrib-jshint": "~0.10.0", | |||
"grunt-contrib-less": "~0.11.4", | |||
"grunt-contrib-uglify": "~0.6.0", | |||
"grunt-contrib-watch": "~0.6.1", | |||
"grunt-contrib-cssmin": "^3.0.0", | |||
"grunt-contrib-htmlmin": "^3.0.0", | |||
"grunt-contrib-imagemin": "^3.1.0", | |||
"grunt-contrib-jshint": "^2.1.0", | |||
"grunt-contrib-less": "^2.0.0", | |||
"grunt-contrib-uglify": "^4.0.1", | |||
"grunt-contrib-watch": "^1.1.0", | |||
"grunt-include-replace": "^2.0.0", | |||
"grunt-includes": "^0.4.5", | |||
"grunt-npm-command": "^0.1.2", | |||
"grunt-rev": "~0.1.0", | |||
"grunt-svgmin": "1.0.0", | |||
"grunt-usemin": "~2.4.0", | |||
"grunt-svgmin": "^6.0.0", | |||
"grunt-usemin": "^3.1.1", | |||
"jshint-stylish": "~1.0.0", | |||
"load-grunt-tasks": "~0.6.0", | |||
"matchdep": "~0.3.0", | |||
"load-grunt-tasks": "^4.0.0", | |||
"matchdep": "^2.0.0", | |||
"time-grunt": "~1.0.0" | |||
}, | |||
"engines": { | |||
@@ -1,157 +1,157 @@ | |||
<!DOCTYPE html> | |||
<html lang="en"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<title>Page Not Found :(</title> | |||
<style> | |||
::-moz-selection { | |||
background: #b3d4fc; | |||
text-shadow: none; | |||
} | |||
::selection { | |||
background: #b3d4fc; | |||
text-shadow: none; | |||
} | |||
html { | |||
padding: 30px 10px; | |||
font-size: 20px; | |||
line-height: 1.4; | |||
color: #737373; | |||
background: #f0f0f0; | |||
-webkit-text-size-adjust: 100%; | |||
-ms-text-size-adjust: 100%; | |||
} | |||
html, | |||
input { | |||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |||
} | |||
body { | |||
max-width: 500px; | |||
_width: 500px; | |||
padding: 30px 20px 50px; | |||
border: 1px solid #b3b3b3; | |||
border-radius: 4px; | |||
margin: 0 auto; | |||
box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; | |||
background: #fcfcfc; | |||
} | |||
h1 { | |||
margin: 0 10px; | |||
font-size: 50px; | |||
text-align: center; | |||
} | |||
h1 span { | |||
color: #bbb; | |||
} | |||
h3 { | |||
margin: 1.5em 0 0.5em; | |||
} | |||
p { | |||
margin: 1em 0; | |||
} | |||
ul { | |||
padding: 0 0 0 40px; | |||
margin: 1em 0; | |||
} | |||
.container { | |||
max-width: 380px; | |||
_width: 380px; | |||
margin: 0 auto; | |||
} | |||
/* google search */ | |||
#goog-fixurl ul { | |||
list-style: none; | |||
padding: 0; | |||
margin: 0; | |||
} | |||
#goog-fixurl form { | |||
margin: 0; | |||
} | |||
#goog-wm-qt, | |||
#goog-wm-sb { | |||
border: 1px solid #bbb; | |||
font-size: 16px; | |||
line-height: normal; | |||
vertical-align: top; | |||
color: #444; | |||
border-radius: 2px; | |||
} | |||
#goog-wm-qt { | |||
width: 220px; | |||
height: 20px; | |||
padding: 5px; | |||
margin: 5px 10px 0 0; | |||
box-shadow: inset 0 1px 1px #ccc; | |||
} | |||
#goog-wm-sb { | |||
display: inline-block; | |||
height: 32px; | |||
padding: 0 10px; | |||
margin: 5px 0 0; | |||
white-space: nowrap; | |||
cursor: pointer; | |||
background-color: #f5f5f5; | |||
background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
-webkit-appearance: none; | |||
-moz-appearance: none; | |||
appearance: none; | |||
*overflow: visible; | |||
*display: inline; | |||
*zoom: 1; | |||
} | |||
#goog-wm-sb:hover, | |||
#goog-wm-sb:focus { | |||
border-color: #aaa; | |||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); | |||
background-color: #f8f8f8; | |||
} | |||
#goog-wm-qt:hover, | |||
#goog-wm-qt:focus { | |||
border-color: #105cb6; | |||
outline: 0; | |||
color: #222; | |||
} | |||
input::-moz-focus-inner { | |||
padding: 0; | |||
border: 0; | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="container"> | |||
<h1>Not found <span>:(</span></h1> | |||
<p>Sorry, but the page you were trying to view does not exist.</p> | |||
<p>It looks like this was the result of either:</p> | |||
<ul> | |||
<li>a mistyped address</li> | |||
<li>an out-of-date link</li> | |||
</ul> | |||
<script> | |||
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host; | |||
</script> | |||
<script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script> | |||
</div> | |||
</body> | |||
<head> | |||
<meta charset="utf-8"> | |||
<title>Page Not Found :(</title> | |||
<style> | |||
::-moz-selection { | |||
background: #b3d4fc; | |||
text-shadow: none; | |||
} | |||
::selection { | |||
background: #b3d4fc; | |||
text-shadow: none; | |||
} | |||
html { | |||
padding: 30px 10px; | |||
font-size: 20px; | |||
line-height: 1.4; | |||
color: #737373; | |||
background: #f0f0f0; | |||
-webkit-text-size-adjust: 100%; | |||
-ms-text-size-adjust: 100%; | |||
} | |||
html, | |||
input { | |||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |||
} | |||
body { | |||
max-width: 500px; | |||
_width: 500px; | |||
padding: 30px 20px 50px; | |||
border: 1px solid #b3b3b3; | |||
border-radius: 4px; | |||
margin: 0 auto; | |||
box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; | |||
background: #fcfcfc; | |||
} | |||
h1 { | |||
margin: 0 10px; | |||
font-size: 50px; | |||
text-align: center; | |||
} | |||
h1 span { | |||
color: #bbb; | |||
} | |||
h3 { | |||
margin: 1.5em 0 0.5em; | |||
} | |||
p { | |||
margin: 1em 0; | |||
} | |||
ul { | |||
padding: 0 0 0 40px; | |||
margin: 1em 0; | |||
} | |||
.container { | |||
max-width: 380px; | |||
_width: 380px; | |||
margin: 0 auto; | |||
} | |||
/* google search */ | |||
#goog-fixurl ul { | |||
list-style: none; | |||
padding: 0; | |||
margin: 0; | |||
} | |||
#goog-fixurl form { | |||
margin: 0; | |||
} | |||
#goog-wm-qt, | |||
#goog-wm-sb { | |||
border: 1px solid #bbb; | |||
font-size: 16px; | |||
line-height: normal; | |||
vertical-align: top; | |||
color: #444; | |||
border-radius: 2px; | |||
} | |||
#goog-wm-qt { | |||
width: 220px; | |||
height: 20px; | |||
padding: 5px; | |||
margin: 5px 10px 0 0; | |||
box-shadow: inset 0 1px 1px #ccc; | |||
} | |||
#goog-wm-sb { | |||
display: inline-block; | |||
height: 32px; | |||
padding: 0 10px; | |||
margin: 5px 0 0; | |||
white-space: nowrap; | |||
cursor: pointer; | |||
background-color: #f5f5f5; | |||
background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1); | |||
-webkit-appearance: none; | |||
-moz-appearance: none; | |||
appearance: none; | |||
*overflow: visible; | |||
*display: inline; | |||
*zoom: 1; | |||
} | |||
#goog-wm-sb:hover, | |||
#goog-wm-sb:focus { | |||
border-color: #aaa; | |||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); | |||
background-color: #f8f8f8; | |||
} | |||
#goog-wm-qt:hover, | |||
#goog-wm-qt:focus { | |||
border-color: #105cb6; | |||
outline: 0; | |||
color: #222; | |||
} | |||
input::-moz-focus-inner { | |||
padding: 0; | |||
border: 0; | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="container"> | |||
<h1>Not found <span>:(</span></h1> | |||
<p>Sorry, but the page you were trying to view does not exist.</p> | |||
<p>It looks like this was the result of either:</p> | |||
<ul> | |||
<li>a mistyped address</li> | |||
<li>an out-of-date link</li> | |||
</ul> | |||
<script> | |||
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host; | |||
</script> | |||
<script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script> | |||
</div> | |||
</body> | |||
</html> |
@@ -6,46 +6,46 @@ | |||
<html class="no-js"> | |||
<!--<![endif]--> | |||
include "includes/head.html" | |||
include "includes/download-head.html" | |||
<body id="download"> | |||
<!-- build:js /scripts/vendor/video.js --> | |||
<script src="bower_components/videojs/dist/video.min.js"></script> | |||
<!-- endbuild --> | |||
include "includes/ga.html" | |||
include "includes/navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
include "includes/download-top.html" | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class=" box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
</div> | |||
<div id="terminal" class="terminal preview-image"> | |||
<audio id="audio-player" | |||
class="video-js vjs-default-skin" | |||
controls | |||
preload="auto" | |||
data-setup='{}'> | |||
<source src="{{.Url}}" type="{{.ContentType}}"></source> | |||
</audio> | |||
</div> | |||
<!-- build:js../scripts/vendor/video.js --> | |||
<script src="bower_components/videojs/dist/video.min.js"></script> | |||
<!-- endbuild --> | |||
include "includes/ga.html" | |||
include "includes/download-navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
include "includes/download-top.html" | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class=" box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
</div> | |||
<div id="terminal" class="terminal preview-image"> | |||
<audio id="audio-player" | |||
class="video-js vjs-default-skin" | |||
controls | |||
preload="auto" | |||
data-setup='{}'> | |||
<source src="{{.Url}}" type="{{.ContentType}}"></source> | |||
</audio> | |||
</div> | |||
</div> | |||
<br/> | |||
</div> | |||
</div> | |||
<br/> | |||
</div> | |||
</section> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
include "includes/download-footer.html" | |||
include "includes/download-js.html" | |||
</body> | |||
@@ -13,52 +13,52 @@ | |||
<meta name="description" content="Easy and fast file sharing from the command-line."> | |||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||
<!-- Place favicon.ico and apple-touch-icon.png in the root directory --> | |||
<link rel="stylesheet" href="styles/main.css"> | |||
<link rel="stylesheet" href="../styles/main.css"> | |||
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'> | |||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400' rel='stylesheet' type='text/css'> | |||
<link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'> | |||
<!-- build:js scripts/vendor/modernizr.js --> | |||
<!-- build:js ../scripts/vendor/modernizr.js --> | |||
<script src="bower_components/modernizr/modernizr.js"></script> | |||
<!-- endbuild --> | |||
</head> | |||
<body id="download"> | |||
<script> | |||
var gaKey = "{{.GAKey}}"; | |||
if (gaKey != "") { | |||
<script> | |||
var gaKey = "{{.GAKey}}"; | |||
if (gaKey != "") { | |||
(function (i, s, o, g, r, a, m) { | |||
i['GoogleAnalyticsObject'] = r; | |||
i[r] = i[r] || function () { | |||
(i[r].q = i[r].q || []).push(arguments) | |||
}, i[r].l = 1 * new Date(); | |||
a = s.createElement(o), | |||
m = s.getElementsByTagName(o)[0]; | |||
a.async = 1; | |||
a.src = g; | |||
m.parentNode.insertBefore(a, m) | |||
i['GoogleAnalyticsObject'] = r; | |||
i[r] = i[r] || function () { | |||
(i[r].q = i[r].q || []).push(arguments) | |||
}, i[r].l = 1 * new Date(); | |||
a = s.createElement(o), | |||
m = s.getElementsByTagName(o)[0]; | |||
a.async = 1; | |||
a.src = g; | |||
m.parentNode.insertBefore(a, m) | |||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); | |||
ga('create', gaKey, 'transfer.sh'); | |||
ga('send', 'pageview'); | |||
} | |||
</script> | |||
<div id="navigation"> | |||
<div class="wrapper"> | |||
<h1>{{.Hostname}}</h1> | |||
<ul class="hidden-xs"> | |||
<li><a href="#samples">sample use cases</a> | |||
</li> | |||
<li><a href="#contact">contact us</a> | |||
</li> | |||
</ul> | |||
</div> | |||
} | |||
</script> | |||
<div id="navigation"> | |||
<div class="wrapper"> | |||
<h1>{{.Hostname}}</h1> | |||
<ul class="hidden-xs"> | |||
<li><a href="#samples">sample use cases</a> | |||
</li> | |||
<li><a href="#contact">contact us</a> | |||
</li> | |||
</ul> | |||
</div> | |||
</div> | |||
<section id="home"> | |||
<div class="wrapper"> | |||
<h2> | |||
{{.Filename}}</h2> | |||
{{.Filename}}</h2> | |||
<a href="{{.Url}}"></a> | |||
<div class="qrcode"> | |||
<img scr="data:image/png;base64,{{.QRCode}}"/> | |||
@@ -78,68 +78,68 @@ | |||
</div> | |||
<div> | |||
<a href="#" id="copy-link-btn" class="btn-cta btn">copy link</a> | |||
<a href="{{.Url}}" class="btn-cta btn"> download</i> </a> | |||
<div id="copy-link-wrapper" class="copy-link-wrapper"> | |||
<p>Press Ctrl / CMD + C to copy link to your clipboard.</p> | |||
<input readonly="readonly" type="text" value="{{.Url}}" /> | |||
<div> | |||
<a href="#" id="copy-link-btn" class="btn-cta btn">copy link</a> | |||
<a href="{{.Url}}" class="btn-cta btn"> download</i> </a> | |||
<div id="copy-link-wrapper" class="copy-link-wrapper"> | |||
<p>Press Ctrl / CMD + C to copy link to your clipboard.</p> | |||
<input readonly="readonly" type="text" value="{{.Url}}" /> | |||
</div> | |||
<div id="overlay" class="overlay"></div> | |||
</div> | |||
<div id="overlay" class="overlay"></div> | |||
</div> | |||
<script src="scripts/clipboard.js"></script> | |||
<script src="../scripts/clipboard.js"></script> | |||
</section> | |||
<script> | |||
<script> | |||
(function() { | |||
var userVoiceKey = "{{.UserVoiceKey}}"; | |||
if (userVoiceKey != "") { | |||
var uv = document.createElement('script'); | |||
uv.type = 'text/javascript'; | |||
uv.async = true; | |||
uv.src = '//widget.uservoice.com/{{.UserVoiceKey}}.js'; | |||
var s = document.getElementsByTagName('script')[0]; | |||
s.parentNode.insertBefore(uv, s); | |||
} | |||
var userVoiceKey = "{{.UserVoiceKey}}"; | |||
if (userVoiceKey != "") { | |||
var uv = document.createElement('script'); | |||
uv.type = 'text/javascript'; | |||
uv.async = true; | |||
uv.src = '//widget.uservoice.com/{{.UserVoiceKey}}.js'; | |||
var s = document.getElementsByTagName('script')[0]; | |||
s.parentNode.insertBefore(uv, s); | |||
} | |||
})() | |||
</script> | |||
</script> | |||
<!--[if lt IE 7]> | |||
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> | |||
<![endif]--> | |||
<!--[if lt IE 7]> | |||
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> | |||
<![endif]--> | |||
<script> | |||
var gaKey = "{{.GAKey}}"; | |||
if (gaKey != "") { | |||
<script> | |||
var gaKey = "{{.GAKey}}"; | |||
if (gaKey != "") { | |||
(function(b, o, i, l, e, r) { | |||
b.GoogleAnalyticsObject = l; | |||
b[l] || (b[l] = | |||
function() { | |||
(b[l].q = b[l].q || []).push(arguments) | |||
}); | |||
b[l].l = +new Date; | |||
e = o.createElement(i); | |||
r = o.getElementsByTagName(i)[0]; | |||
e.src = '//www.google-analytics.com/analytics.js'; | |||
r.parentNode.insertBefore(e, r) | |||
b.GoogleAnalyticsObject = l; | |||
b[l] || (b[l] = | |||
function() { | |||
(b[l].q = b[l].q || []).push(arguments) | |||
}); | |||
b[l].l = +new Date; | |||
e = o.createElement(i); | |||
r = o.getElementsByTagName(i)[0]; | |||
e.src = '//www.google-analytics.com/analytics.js'; | |||
r.parentNode.insertBefore(e, r) | |||
}(window, document, 'script', 'ga')); | |||
ga('create', gaKey, 'transfer.sh'); | |||
ga('send', 'pageview'); | |||
} | |||
</script> | |||
<!-- build:js scripts/main.js --> | |||
<script src="bower_components/jquery/dist/jquery.js"></script> | |||
<script src="bower_components/uri.js/src/URI.min.js"></script> | |||
<script src="bower_components/bootstrap/js/transition.js"></script> | |||
<script src="bower_components/bootstrap/js/collapse.js"></script> | |||
<script src="/scripts/showdown.js"></script> | |||
<script src="/scripts/main.js"></script> | |||
<!-- endbuild --> | |||
<script> | |||
} | |||
</script> | |||
<!-- build:js ../scripts/main.js --> | |||
<script src="bower_components/jquery/dist/jquery.js"></script> | |||
<script src="bower_components/uri.js/src/URI.min.js"></script> | |||
<script src="bower_components/bootstrap/js/transition.js"></script> | |||
<script src="bower_components/bootstrap/js/collapse.js"></script> | |||
<script src="scripts/showdown.js"></script> | |||
<script src="scripts/main.js"></script> | |||
<!-- endbuild --> | |||
<script> | |||
var text = "# Markdown *works*."; | |||
@@ -147,7 +147,7 @@ | |||
var html = converter.makeHtml(text); | |||
$('#md-preview').append(html); | |||
</script> | |||
</script> | |||
</body> | |||
@@ -6,24 +6,24 @@ | |||
<html class="no-js"> | |||
<!--<![endif]--> | |||
include "includes/head.html" | |||
include "includes/download-head.html" | |||
<body id="download"> | |||
include "includes/ga.html" | |||
include "includes/navigation.html" | |||
include "includes/ga.html" | |||
include "includes/download-navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
include "includes/download-top.html" | |||
include "includes/download-top.html" | |||
</div> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
include "includes/download-footer.html" | |||
include "includes/download-js.html" | |||
</body> | |||
@@ -6,35 +6,35 @@ | |||
<html class="no-js"> | |||
<!--<![endif]--> | |||
include "includes/head.html" | |||
include "includes/download-head.html" | |||
<body id="download"> | |||
include "includes/ga.html" | |||
include "includes/navigation.html" | |||
include "includes/ga.html" | |||
include "includes/download-navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
<section id="home"> | |||
<div class="wrapper"> | |||
include "includes/download-top.html" | |||
include "includes/download-top.html" | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class=" box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class=" box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
</div> | |||
<div id="terminal" class="terminal preview-image"> | |||
<img src="{{.Url}}" alt=""> | |||
</div> | |||
</div> | |||
<div id="terminal" class="terminal preview-image"> | |||
<img src="{{.Url}}" alt=""> | |||
</div> | |||
</div> | |||
<br/> | |||
</div> | |||
<br/> | |||
<div> | |||
<div> | |||
<div> | |||
</section> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
include "includes/download-footer.html" | |||
include "includes/download-js.html" | |||
</body> | |||
@@ -6,12 +6,12 @@ | |||
<html class="no-js"> | |||
<!--<![endif]--> | |||
include "includes/head.html" | |||
include "includes/download-head.html" | |||
<body id="download"> | |||
include "includes/ga.html" | |||
include "includes/navigation.html" | |||
include "includes/ga.html" | |||
include "includes/download-navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
@@ -27,13 +27,13 @@ include "includes/head.html" | |||
</div> | |||
</div> | |||
</div> | |||
<br/> | |||
<br/> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
include "includes/download-footer.html" | |||
include "includes/download-js.html" | |||
</body> | |||
</html> |
@@ -6,25 +6,25 @@ | |||
<html class="no-js"> | |||
<!--<![endif]--> | |||
include "includes/head.html" | |||
include "includes/download-head.html" | |||
<body id="download"> | |||
include "includes/ga.html" | |||
include "includes/navigation.html" | |||
include "includes/ga.html" | |||
include "includes/download-navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
include "includes/download-top.html" | |||
<br/> | |||
<br/> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
include "includes/download-footer.html" | |||
include "includes/download-js.html" | |||
</body> | |||
</html> |
@@ -6,44 +6,44 @@ | |||
<html class="no-js"> | |||
<!--<![endif]--> | |||
include "includes/head.html" | |||
include "includes/download-head.html" | |||
<body id="download"> | |||
<!-- build:js /scripts/vendor/video.js --> | |||
<script src="bower_components/videojs/dist/video.min.js"></script> | |||
<!-- endbuild --> | |||
include "includes/ga.html" | |||
include "includes/navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
include "includes/download-top.html" | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class=" box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
</div> | |||
<div id="terminal" class="terminal preview-image"> | |||
<video id="video-player" | |||
class="video-js vjs-default-skin" | |||
controls | |||
preload="auto" | |||
data-setup='{}'> | |||
<source src="{{.Url}}" type="{{.ContentType}}"></source> | |||
</video> | |||
</div> | |||
<!-- build:js ../scripts/vendor/video.js --> | |||
<script src="bower_components/videojs/dist/video.min.js"></script> | |||
<!-- endbuild --> | |||
include "includes/ga.html" | |||
include "includes/download-navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
include "includes/download-top.html" | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class=" box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
</div> | |||
<div id="terminal" class="terminal preview-image"> | |||
<video id="video-player" | |||
class="video-js vjs-default-skin" | |||
controls | |||
preload="auto" | |||
data-setup='{}'> | |||
<source src="{{.Url}}" type="{{.ContentType}}"></source> | |||
</video> | |||
</div> | |||
</div> | |||
<br/> | |||
</div> | |||
</div> | |||
<br/> | |||
</div> | |||
</section> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
include "includes/download-footer.html" | |||
include "includes/download-js.html" | |||
</body> | |||
@@ -7,4 +7,4 @@ | |||
</div> | |||
<div id="overlay" class="overlay"></div> | |||
</div> | |||
<script src="scripts/clipboard.js"></script> | |||
<script src="../scripts/clipboard.js"></script> |
@@ -0,0 +1,40 @@ | |||
<footer> | |||
<div class="wrapper"> | |||
<div style=""> | |||
<a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;"> | |||
<img border="0" src="../images/bitcoin.png" style="margin: 0 auto;;"> | |||
</a> | |||
</div> | |||
<br/> | |||
<br/> | |||
<img src="../images/Logo-orange.png" alt="Founded in Holland"> | |||
<p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a> | |||
</p> | |||
</div> | |||
</footer> | |||
<a href="https://github.com/dutchcoders/transfer.sh/"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a> | |||
<script> | |||
(function() { | |||
var userVoiceKey = "{{.UserVoiceKey}}"; | |||
if (userVoiceKey != "") { | |||
var uv = document.createElement('script'); | |||
uv.type = 'text/javascript'; | |||
uv.async = true; | |||
uv.src = '//widget.uservoice.com/{{.UserVoiceKey}}.js'; | |||
var s = document.getElementsByTagName('script')[0]; | |||
s.parentNode.insertBefore(uv, s) | |||
} | |||
})() | |||
</script> | |||
<!--[if lt IE 7]> | |||
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> | |||
<![endif]--> | |||
@@ -0,0 +1,14 @@ | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<title>{{.Hostname}} - Easy and fast file sharing from the command-line.</title> | |||
<meta name="description" content="Easy and fast file sharing from the command-line."> | |||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||
<!-- Place favicon.ico and apple-touch-icon.png in the root directory --> | |||
<link rel="stylesheet" href="../styles/main.css"> | |||
<link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'> | |||
<link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'> | |||
<!-- build:js ../scripts/vendor/modernizr.js --> | |||
<script src="bower_components/modernizr/modernizr.js"></script> | |||
<!-- endbuild --> | |||
</head> |
@@ -0,0 +1,9 @@ | |||
<!-- build:js ../scripts/main.js --> | |||
<script src="bower_components/jquery/dist/jquery.js"></script> | |||
<script src="bower_components/uri.js/src/URI.min.js"></script> | |||
<script src="bower_components/bootstrap/js/transition.js"></script> | |||
<script src="bower_components/bootstrap/js/collapse.js"></script> | |||
<script src="scripts/showdown.js"></script> | |||
<script src="scripts/main.js"></script> | |||
<!-- endbuild --> | |||
@@ -0,0 +1,15 @@ | |||
<div id="navigation"> | |||
<div class="wrapper"> | |||
<a href="/"> | |||
<h1>{{.Hostname}}</h1> | |||
</a> | |||
<ul class="hidden-xs"> | |||
<li><a href="../">home</a> | |||
</li> | |||
<li><a href="../#samples">sample use cases</a> | |||
</li> | |||
<li><a href="#contact">contact us</a> | |||
</li> | |||
</ul> | |||
</div> | |||
</div> |
@@ -2,13 +2,13 @@ | |||
<div class="wrapper"> | |||
<div style=""> | |||
<a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;"> | |||
<img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;"> | |||
<img border="0" src="images/bitcoin.png" style="margin: 0 auto;;"> | |||
</a> | |||
</div> | |||
<br/> | |||
<br/> | |||
<img src="/images/Logo-orange.png" alt="Founded in Holland"> | |||
<img src="images/Logo-orange.png" alt="Founded in Holland"> | |||
<p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a> | |||
</p> | |||
</div> | |||
@@ -5,10 +5,10 @@ | |||
<meta name="description" content="Easy and fast file sharing from the command-line."> | |||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||
<!-- Place favicon.ico and apple-touch-icon.png in the root directory --> | |||
<link rel="stylesheet" href="/styles/main.css"> | |||
<link rel="stylesheet" href="styles/main.css"> | |||
<link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'> | |||
<link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'> | |||
<!-- build:js /scripts/vendor/modernizr.js --> | |||
<!-- build:js scripts/vendor/modernizr.js --> | |||
<script src="bower_components/modernizr/modernizr.js"></script> | |||
<!-- endbuild --> | |||
</head> |
@@ -1,9 +1,9 @@ | |||
<!-- build:js /scripts/main.js --> | |||
<!-- build:js scripts/main.js --> | |||
<script src="bower_components/jquery/dist/jquery.js"></script> | |||
<script src="bower_components/uri.js/src/URI.min.js"></script> | |||
<script src="bower_components/bootstrap/js/transition.js"></script> | |||
<script src="bower_components/bootstrap/js/collapse.js"></script> | |||
<script src="/scripts/showdown.js"></script> | |||
<script src="/scripts/main.js"></script> | |||
<script src="scripts/showdown.js"></script> | |||
<script src="scripts/main.js"></script> | |||
<!-- endbuild --> | |||
@@ -4,11 +4,11 @@ | |||
<h1>{{.Hostname}}</h1> | |||
</a> | |||
<ul class="hidden-xs"> | |||
<li><a href="/">home</a> | |||
<li><a href="#">home</a> | |||
</li> | |||
<li><a href="/#samples">sample use cases</a> | |||
<li><a href="#samples">sample use cases</a> | |||
</li> | |||
<li><a href="/#contact">contact us</a> | |||
<li><a href="#contact">contact us</a> | |||
</li> | |||
</ul> | |||
</div> |
@@ -11,430 +11,430 @@ include "includes/head.html" | |||
<body> | |||
<script> | |||
var gaKey = "{{.GAKey}}"; | |||
if (gaKey != "") { | |||
<script> | |||
var gaKey = "{{.GAKey}}"; | |||
if (gaKey != "") { | |||
(function (i, s, o, g, r, a, m) { | |||
i['GoogleAnalyticsObject'] = r; | |||
i[r] = i[r] || function () { | |||
(i[r].q = i[r].q || []).push(arguments) | |||
}, i[r].l = 1 * new Date(); | |||
a = s.createElement(o), | |||
m = s.getElementsByTagName(o)[0]; | |||
a.async = 1; | |||
a.src = g; | |||
m.parentNode.insertBefore(a, m) | |||
i['GoogleAnalyticsObject'] = r; | |||
i[r] = i[r] || function () { | |||
(i[r].q = i[r].q || []).push(arguments) | |||
}, i[r].l = 1 * new Date(); | |||
a = s.createElement(o), | |||
m = s.getElementsByTagName(o)[0]; | |||
a.async = 1; | |||
a.src = g; | |||
m.parentNode.insertBefore(a, m) | |||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); | |||
ga('create', gaKey, 'transfer.sh'); | |||
ga('send', 'pageview'); | |||
} | |||
</script> | |||
} | |||
</script> | |||
include "includes/navigation.html" | |||
include "includes/navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
<h2 class="page-title"> | |||
Easy file sharing from the command line</h2> | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class="box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
</div> | |||
<div id="terminal" class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Upload using cURL</span> | |||
$ curl --upload-file ./hello.txt {{.WebAddress}}/hello.txt {{.WebAddress}}/66nb8/hello.txt | |||
<section id="home"> | |||
<div class="wrapper"> | |||
<h2 class="page-title"> | |||
Easy file sharing from the command line</h2> | |||
<div class="row animated fadeInDown"> | |||
<div id="from-terminal" class="box col-md-8 col-md-offset-2 col-xs-12"> | |||
<div class="terminal-top"> | |||
<span class="code-title"># Using the shell function</span> | |||
$ transfer hello.txt | |||
##################################################### 100.0% {{.WebAddress}}/eibhM/hello.txt | |||
</code> | |||
</div> | |||
<div id="web"> | |||
<code class="code-wrapper"> | |||
<span class="code-title"># Upload from web</span> | |||
Drag your files here, or <a class="browse" href="#"> click to browse.</a> | |||
</code> | |||
<input type="file" multiple="multiple" style='display: none;' /> | |||
<ul class='queue'> | |||
<li> | |||
</li> | |||
</ul> | |||
<div class='all-files'> | |||
<br> | |||
<div> | |||
<span class="code-title"># Download all your files</span> | |||
<br/> | |||
<br/> | |||
<a class="download-zip btn-cta" href="#">zip</a> <a class="download-tar btn-cta" href="#">tar.gz</a> | |||
</div> | |||
</div> | |||
<div id="terminal" class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Upload using cURL</span> | |||
$ curl --upload-file ./hello.txt {{.WebAddress}}hello.txt {{.WebAddress}}66nb8/hello.txt | |||
<span class="code-title"># Using the shell function</span> | |||
$ transfer hello.txt | |||
##################################################### 100.0% {{.WebAddress}}eibhM/hello.txt | |||
</code> | |||
</div> | |||
<div id="web"> | |||
<code class="code-wrapper"> | |||
<span class="code-title"># Upload from web</span> | |||
Drag your files here, or <a class="browse" href="#"> click to browse.</a> | |||
</code> | |||
<input type="file" multiple="multiple" style='display: none;' /> | |||
<ul class='queue'> | |||
<li> | |||
</li> | |||
</ul> | |||
<div class='all-files'> | |||
<br> | |||
<div> | |||
<span class="code-title"># Download all your files</span> | |||
<br/> | |||
<br/> | |||
<a class="download-zip btn-cta" href="#">zip</a> <a class="download-tar btn-cta" href="#">tar.gz</a> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div> | |||
<a href="#features" class="btn-cta btn-home">learn more</i> </a> | |||
</div> | |||
<div> | |||
<a href="#features" class="btn-cta btn-home">learn more</i> </a> | |||
</div> | |||
</section> | |||
</div> | |||
</section> | |||
<section id="features"> | |||
<div class="wrapper container"> | |||
<div class="row animated fadeInDown "> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-terminal"></i> | |||
<h3>Made for use with shell</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-link"></i> | |||
<h3>Share files with a URL</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-database"></i> | |||
<h3>Upload up to 10 GB</h3> | |||
<section id="features"> | |||
<div class="wrapper container"> | |||
<div class="row animated fadeInDown "> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-terminal"></i> | |||
<h3>Made for use with shell</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-link"></i> | |||
<h3>Share files with a URL</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-database"></i> | |||
<h3>Upload up to 10 GB</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-clock"></i> | |||
<h3>Files stored for 14 days</h3> | |||
</div> | |||
</div> | |||
<div class="row animated fadeInDown"> | |||
<div class="col-md-offset-3 col-md-3 col-xs-6"> | |||
<i class="icon-tag"></i> | |||
<h3>For free</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-lock"></i> | |||
<h3>Encrypt your files</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-lock"></i> | |||
<h3>Maximize amount of downloads</h3> | |||
</div> | |||
</div> | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2 class="page-title">Preview your files in the browser!</h2> | |||
</div> | |||
</section> | |||
<section id="samples"> | |||
<div class="wrapper"> | |||
<h2 class="page-title"> | |||
Sample use cases | |||
</h2> | |||
<div class="row"> | |||
<div class="col-md-6 "> | |||
<h3>How to upload</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-clock"></i> | |||
<h3>Files stored for 14 days</h3> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Uploading is easy using curl</span> | |||
$ curl --upload-file ./hello.txt {{.WebAddress}}hello.txt | |||
{{.WebAddress}}66nb8/hello.txt | |||
$ curl -H "Max-Downloads: 1" -H "Max-Days: 5" --upload-file ./hello.txt {{.WebAddress}}hello.txt | |||
{{.WebAddress}}66nb8/hello.txt | |||
<span class="code-title"># Download the file</span> | |||
$ curl {{.WebAddress}}66nb8/hello.txt -o hello.txt | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row animated fadeInDown"> | |||
<div class="col-md-offset-3 col-md-3 col-xs-6"> | |||
<i class="icon-tag"></i> | |||
<h3>For free</h3> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-lock"></i> | |||
<h3>Encrypt your files</h3> | |||
<div class="col-md-6 "> | |||
<h3>Add shell function to .bashrc or .zshrc</a></h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-3 col-xs-6"> | |||
<i class="icon-lock"></i> | |||
<h3>Maximize amount of downloads</h3> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Add this to .bashrc or .zshrc or its equivalent</span> | |||
transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "{{.WebAddress}}$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "{{.WebAddress}}$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "{{.WebAddress}}$file_name"|tee /dev/null;fi;} | |||
<span class="code-title"># Now you can use transfer function</span> | |||
$ transfer hello.txt | |||
</code> | |||
</div> | |||
</div> | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2 class="page-title">Preview your files in the browser!</h2> | |||
</div> | |||
</section> | |||
<a class="btn-cta" data-target="#coll" data-toggle="collapse">More examples</a> | |||
<section id="samples"> | |||
<div class="wrapper"> | |||
<h2 class="page-title"> | |||
Sample use cases | |||
</h2> | |||
<div class="collapse " id="coll"> | |||
<div class="row"> | |||
<div class="col-md-6 "> | |||
<h3>How to upload</h3> | |||
<h3>Upload multiple files at once</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Uploading is easy using curl</span> | |||
$ curl --upload-file ./hello.txt {{.WebAddress}}/hello.txt | |||
{{.WebAddress}}/66nb8/hello.txt | |||
$ curl -H "Max-Downloads: 1" -H "Max-Days: 5" --upload-file ./hello.txt {{.WebAddress}}/hello.txt | |||
{{.WebAddress}}/66nb8/hello.txt | |||
<code class="code-wrapper"> | |||
$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt {{.WebAddress}} | |||
<span class="code-title"># Download the file</span> | |||
$ curl {{.WebAddress}}/66nb8/hello.txt -o hello.txt | |||
<span class="code-title"># Combining downloads as zip or tar archive</span> | |||
$ curl {{.WebAddress}}(15HKz/hello.txt,15HKz/hello.txt).tar.gz | |||
$ curl {{.WebAddress}}(15HKz/hello.txt,15HKz/hello.txt).zip | |||
</code> | |||
</div> | |||
</div> | |||
<div class="col-md-6 "> | |||
<h3>Add shell function to .bashrc or .zshrc</a></h3> | |||
<h3>Encrypt your files before the transfer</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Add this to .bashrc or .zshrc or its equivalent</span> | |||
transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null;fi;} | |||
<code class="code-wrapper"><span class="code-title"># Encrypt files with password using gpg</span> | |||
$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt | |||
<span class="code-title"># Now you can use transfer function</span> | |||
$ transfer hello.txt | |||
<span class="code-title"># Download and decrypt</span> | |||
$ curl {{.WebAddress}}1lDau/test.txt|gpg -o- > /tmp/hello.txt | |||
</code> | |||
</div> | |||
</div> | |||
</div> | |||
<a class="btn-cta" data-target="#coll" data-toggle="collapse">More examples</a> | |||
<div class="collapse " id="coll"> | |||
<div class="row"> | |||
<div class="col-md-6 "> | |||
<h3>Upload multiple files at once</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"> | |||
$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt {{.WebAddress}}/ | |||
<span class="code-title"># Combining downloads as zip or tar archive</span> | |||
$ curl {{.WebAddress}}/(15HKz/hello.txt,15HKz/hello.txt).tar.gz | |||
$ curl {{.WebAddress}}/(15HKz/hello.txt,15HKz/hello.txt).zip | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>Scan for malware</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-6 "> | |||
<h3>Encrypt your files before the transfer</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Encrypt files with password using gpg</span> | |||
$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}/test.txt | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Scan for malware or viruses using Clamav</span> | |||
$ wget http://www.eicar.org/download/eicar.com | |||
$ curl -X PUT --upload-file ./eicar.com {{.WebAddress}}eicar.com/scan | |||
<span class="code-title"># Download and decrypt</span> | |||
$ curl {{.WebAddress}}/1lDau/test.txt|gpg -o- > /tmp/hello.txt | |||
</code> | |||
</div> | |||
<span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span> | |||
$ curl -X PUT --upload-file nhgbhhj {{.WebAddress}}test.txt/virustotal | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>Scan for malware</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Scan for malware or viruses using Clamav</span> | |||
$ wget http://www.eicar.org/download/eicar.com | |||
$ curl -X PUT --upload-file ./eicar.com {{.WebAddress}}/eicar.com/scan | |||
<span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span> | |||
$ curl -X PUT --upload-file nhgbhhj {{.WebAddress}}/test.txt/virustotal | |||
</code> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Backup mysql database, encrypt and transfer</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Backup mysql database, encrypt and transfer</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Backup, encrypt and transfer</span> | |||
$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}/test.txt</code> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Backup, encrypt and transfer</span> | |||
$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>Send email with transfer link (uses shell function)</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Transfer and send email with link (uses shell function)</span> | |||
$ transfer /tmp/hello.txt | mail -s "Hello World" user@yourmaildomain.com | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>Send email with transfer link (uses shell function)</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Using <a href="https://keybase.io/">Keybase.io</a></h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Import keys from keybase</span> | |||
$ keybase track [them] | |||
<span class="code-title"># Encrypt for recipient(s)</span> | |||
$ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' {{.WebAddress}}/test.txt | |||
<span class="code-title"># Decrypt</span> | |||
$ curl {{.WebAddress}}/sqUFi/test.md |keybase decrypt | |||
</code> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Transfer and send email with link (uses shell function)</span> | |||
$ transfer /tmp/hello.txt | mail -s "Hello World" user@yourmaildomain.com | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>wget uploads also supported</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># wget</span> | |||
$ wget --method PUT --body-file=/tmp/file.tar {{.WebAddress}}/file.tar -O - -nv | |||
</code> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Using <a href="https://keybase.io/">Keybase.io</a></h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Transfer pound logs</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># grep syslog for pound and transfer</span> | |||
$ cat /var/log/syslog|grep pound|curl --upload-file - {{.WebAddress}}/pound.log | |||
</code> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Import keys from keybase</span> | |||
$ keybase track [them] | |||
<span class="code-title"># Encrypt for recipient(s)</span> | |||
$ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' {{.WebAddress}}test.txt | |||
<span class="code-title"># Decrypt</span> | |||
$ curl {{.WebAddress}}sqUFi/test.md |keybase decrypt | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>Upload a file using Powershell</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Upload using Powershell</span> | |||
PS H:\> invoke-webrequest -method put -infile .\file.txt {{.WebAddress}}/file.txt | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>wget uploads also supported</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Upload a file using HTTPie</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># HTTPie</span> | |||
$ http {{.WebAddress}}/ -vv < /tmp/test.log | |||
</code> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># wget</span> | |||
$ wget --method PUT --body-file=/tmp/file.tar {{.WebAddress}}file.tar -O - -nv | |||
</code> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6"> | |||
<h3>Upload a file using Unofficially client in Python</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"> | |||
<span class="code-title"># transfersh-cli (https://github.com/tanrax/transfersh-cli)</span> | |||
$ trasnfersh photos.zip | |||
<span class="code-title"># Uploading file</span> | |||
<span class="code-title"># Download from here: {{.WebAddress}}/xxxxxx/photos.zip</span> | |||
<span class="code-title"># It has also been copied to the clipboard!</span> | |||
</code> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Transfer pound logs</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="col-md-6"> | |||
<h3>Send us your awesome example</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Your awesome sample will be put here</span> | |||
</code> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># grep syslog for pound and transfer</span> | |||
$ cat /var/log/syslog|grep pound|curl --upload-file - {{.WebAddress}}pound.log | |||
</code> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2 class="page-title">Follow on GitHub</h2> | |||
<br> | |||
<br> | |||
<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> | |||
<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> | |||
</div> | |||
</section> | |||
<section id="reviews"> | |||
<div class="wrapper"> | |||
<div class="row"> | |||
<div class="col-md-8 col-md-offset-2 col-xs-12"> | |||
<blockquote class="twitter-tweet tweet-xl" lang="en"> | |||
<a href="https://twitter.com/FloifyDave/status/517383101425516544"> | |||
<img class="twitter-profile" src="images/reviews/dave.jpg" alt=""> | |||
</a> | |||
<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> | |||
<a href="https://twitter.com/FloifyDave/status/517383101425516544"> | |||
— Dave Sims (@FloifyDave)</a> | |||
</blockquote> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/kareemk/status/517029789191118849"> | |||
<img class="twitter-profile" src="images/reviews/kareem.jpg" alt=""> | |||
</a> | |||
<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">— Kareem Kouddous (@kareemk) </a> | |||
</blockquote> | |||
<div class="col-md-6"> | |||
<h3>Upload a file using Powershell</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Upload using Powershell</span> | |||
PS H:\> invoke-webrequest -method put -infile .\file.txt {{.WebAddress}}file.txt | |||
</code> | |||
</div> | |||
</div> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/drakpz/status/517008058841829376"> | |||
<img class="twitter-profile" src="images/reviews/pg.jpeg" alt=""> | |||
</a> | |||
<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">— PJ Spagnolatti (@drakpz)</a> | |||
</blockquote> | |||
<div class="col-md-6"> | |||
<h3>Upload a file using HTTPie</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># HTTPie</span> | |||
$ http {{.WebAddress}} -vv < /tmp/test.log | |||
</code> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/jacoblindgren11/status/516975006501203968"> | |||
<img class="twitter-profile" src="images/reviews/jacob.jpg" alt=""> | |||
</a> | |||
<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> | |||
</p><a href="https://twitter.com/jacoblindgren11/status/516975006501203968">— Jacob Lindgren (@jacoblindgren11) </a> | |||
</blockquote> | |||
<div class="col-md-6"> | |||
<h3>Upload a file using Unofficially client in Python</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"> | |||
<span class="code-title"># transfersh-cli (https://github.com/tanrax/transfersh-cli)</span> | |||
$ trasnfersh photos.zip | |||
<span class="code-title"># Uploading file</span> | |||
<span class="code-title"># Download from here: {{.WebAddress}}xxxxxx/photos.zip</span> | |||
<span class="code-title"># It has also been copied to the clipboard!</span> | |||
</code> | |||
</div> | |||
</div> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/arvestad/status/519507976491499521"> | |||
<img class="twitter-profile" src="images/reviews/lars.jpg" alt=""> | |||
</a> | |||
<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> Thanks <a href="https://twitter.com/dutchcoders">@dutchcoders</a> !</p> <a href="https://twitter.com/arvestad/status/519507976491499521">— Lars Arvestad (@arvestad)</a> | |||
</blockquote> | |||
<div class="col-md-6"> | |||
<h3>Send us your awesome example</h3> | |||
<div class="terminal-top"> | |||
</div> | |||
<div class="terminal"> | |||
<code class="code-wrapper"><span class="code-title"># Your awesome sample will be put here</span> | |||
</code> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2 class="page-title">Share the love</h2> | |||
<ul class="share-buttons"> | |||
<li> | |||
<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> | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2 class="page-title">Follow on GitHub</h2> | |||
<br> | |||
<br> | |||
<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> | |||
<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> | |||
</div> | |||
</section> | |||
<section id="reviews"> | |||
<div class="wrapper"> | |||
<div class="row"> | |||
<div class="col-md-8 col-md-offset-2 col-xs-12"> | |||
<blockquote class="twitter-tweet tweet-xl" lang="en"> | |||
<a href="https://twitter.com/FloifyDave/status/517383101425516544"> | |||
<img class="twitter-profile" src="images/reviews/dave.jpg" alt=""> | |||
</a> | |||
</li> | |||
<li> | |||
<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> | |||
</li> | |||
<li> | |||
<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> | |||
<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> | |||
<a href="https://twitter.com/FloifyDave/status/517383101425516544"> | |||
— Dave Sims (@FloifyDave)</a> | |||
</blockquote> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/kareemk/status/517029789191118849"> | |||
<img class="twitter-profile" src="images/reviews/kareem.jpg" alt=""> | |||
</a> | |||
</li> | |||
<li> | |||
<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> | |||
<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">— Kareem Kouddous (@kareemk) </a> | |||
</blockquote> | |||
</div> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/drakpz/status/517008058841829376"> | |||
<img class="twitter-profile" src="images/reviews/pg.jpeg" alt=""> | |||
</a> | |||
</li> | |||
</ul> | |||
</div> | |||
</section> | |||
<section id="contact"> | |||
<div class="wrapper"> | |||
<i class="icon-mail"></i> | |||
<h2 class="page-title"> | |||
Any questions? | |||
</h2> | |||
<a href="#" data-uv-trigger class="btn-cta">contact us</a> | |||
<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">— PJ Spagnolatti (@drakpz)</a> | |||
</blockquote> | |||
</div> | |||
</div> | |||
</section> | |||
<section id="tor"> | |||
<div class="wrapper"> | |||
<a href="https://www.torproject.org"><img src="images/tor.svg" alt=""> | |||
</a> | |||
<br/> | |||
<a href="http://jxm5d6emw5rknovg.onion/">http://jxm5d6emw5rknovg.onion/</a> | |||
<div class="row"> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/jacoblindgren11/status/516975006501203968"> | |||
<img class="twitter-profile" src="images/reviews/jacob.jpg" alt=""> | |||
</a> | |||
<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> | |||
</p><a href="https://twitter.com/jacoblindgren11/status/516975006501203968">— Jacob Lindgren (@jacoblindgren11) </a> | |||
</blockquote> | |||
</div> | |||
<div class="col-md-6 col-xs-12"> | |||
<blockquote class="twitter-tweet" lang="en"> | |||
<a href="https://twitter.com/arvestad/status/519507976491499521"> | |||
<img class="twitter-profile" src="images/reviews/lars.jpg" alt=""> | |||
</a> | |||
<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> Thanks <a href="https://twitter.com/dutchcoders">@dutchcoders</a> !</p> <a href="https://twitter.com/arvestad/status/519507976491499521">— Lars Arvestad (@arvestad)</a> | |||
</blockquote> | |||
</div> | |||
</div> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2 class="page-title">Share the love</h2> | |||
<ul class="share-buttons"> | |||
<li> | |||
<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> | |||
</a> | |||
</li> | |||
<li> | |||
<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> | |||
</li> | |||
<li> | |||
<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> | |||
</a> | |||
</li> | |||
<li> | |||
<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> | |||
</a> | |||
</li> | |||
</ul> | |||
</div> | |||
</section> | |||
<section id="contact"> | |||
<div class="wrapper"> | |||
<i class="icon-mail"></i> | |||
<h2 class="page-title"> | |||
Any questions? | |||
</h2> | |||
<a href="#" data-uv-trigger class="btn-cta">contact us</a> | |||
</div> | |||
</section> | |||
<section id="tor"> | |||
<div class="wrapper"> | |||
<a href="https://www.torproject.org"><img src="images/tor.svg" alt=""> | |||
</a> | |||
<br/> | |||
<a href="http://jxm5d6emw5rknovg.onion/">http://jxm5d6emw5rknovg.onion/</a> | |||
</div> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
</body> | |||
@@ -3,35 +3,35 @@ | |||
made with <3 by DutchCoders | |||
Upload: | |||
$ curl --upload-file ./hello.txt {{.WebAddress}}/hello.txt | |||
$ curl --upload-file ./hello.txt {{.WebAddress}}hello.txt | |||
Encrypt & upload: | |||
$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}/test.txt | |||
$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt | |||
Download & decrypt: | |||
$ curl {{.WebAddress}}/1lDau/test.txt|gpg -o- > /tmp/hello.txt | |||
$ curl {{.WebAddress}}1lDau/test.txt|gpg -o- > /tmp/hello.txt | |||
Grep pound from syslog and transfer | |||
cat /var/log/syslog|grep pound|curl --upload-file - {{.WebAddress}}/pound.log | |||
cat /var/log/syslog|grep pound|curl --upload-file - {{.WebAddress}}pound.log | |||
Using Keybase: | |||
# import keys from keybase | |||
$ keybase track [them] | |||
# encrypt for recipients | |||
$ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' {{.WebAddress}}/test.txt | |||
$ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' {{.WebAddress}}test.txt | |||
# decrypt | |||
$ curl {{.WebAddress}}/sqUFi/test.md |keybase decrypt | |||
$ curl {{.WebAddress}}sqUFi/test.md |keybase decrypt | |||
Upload to Virustotal: | |||
$ curl -X PUT --upload-file nhgbhhj {{.WebAddress}}/test.txt/virustotal | |||
$ curl -X PUT --upload-file nhgbhhj {{.WebAddress}}test.txt/virustotal | |||
Virusscan: | |||
$ curl -X PUT --upload-file nhgbhhj {{.WebAddress}}/test.txt/scan | |||
$ curl -X PUT --upload-file nhgbhhj {{.WebAddress}}test.txt/scan | |||
Add shell function to .bashrc or .zshrc or its equivalent: | |||
=== | |||
transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null;fi;} | |||
transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "{{.WebAddress}}$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "{{.WebAddress}}/$file_name"|tee /dev/null;fi;} | |||
=== | |||
$ transfer test.txt |
@@ -75,7 +75,7 @@ $(document).ready(function() { | |||
queue.push(xhr); | |||
// start upload | |||
xhr.open("PUT", '/' + file.name, true); | |||
xhr.open("PUT", './' + file.name, true); | |||
xhr.send(file); | |||
}; | |||
@@ -2,7 +2,7 @@ $(document).ready(function () { | |||
// Terminal typing animation | |||
$("#from-terminal p").typed({ | |||
strings: ["curl --upload-file ./hello.txt {{.WebAddress}}/hello.txt\n{{.WebAddress}}/66nb8/hello.txt \n "], | |||
strings: ["curl --upload-file ./hello.txt {{.WebAddress}}hello.txt\n{{.WebAddress}}66nb8/hello.txt \n "], | |||
typeSpeed: 0, | |||
loop: true, | |||
}); | |||
@@ -1,6 +1,6 @@ | |||
@charset "UTF-8"; | |||
@import "../bower_components/videojs/dist/video-js.min.css"; | |||
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */ | |||
@import "../bower_components/videojs/dist/video-js.min.css"; | |||
article, | |||
aside, | |||
details, | |||
@@ -208,7 +208,7 @@ table { | |||
max-width: 100% !important; | |||
} | |||
@page { | |||
margin: 2cm .5cm; | |||
margin: 2cm 0.5cm; | |||
} | |||
p, | |||
h2, | |||
@@ -261,7 +261,7 @@ body { | |||
font-size: 14px; | |||
line-height: 1.42857143; | |||
color: #3b3b3b; | |||
background-color: #ffffff; | |||
background-color: #fff; | |||
} | |||
input, | |||
button, | |||
@@ -299,8 +299,8 @@ img { | |||
.img-thumbnail { | |||
padding: 4px; | |||
line-height: 1.42857143; | |||
background-color: #ffffff; | |||
border: 1px solid #dddddd; | |||
background-color: #fff; | |||
border: 1px solid #ddd; | |||
border-radius: 4px; | |||
-webkit-transition: all 0.2s ease-in-out; | |||
transition: all 0.2s ease-in-out; | |||
@@ -680,13 +680,71 @@ address { | |||
.row:after { | |||
clear: both; | |||
} | |||
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { | |||
.col-xs-1, | |||
.col-sm-1, | |||
.col-md-1, | |||
.col-lg-1, | |||
.col-xs-2, | |||
.col-sm-2, | |||
.col-md-2, | |||
.col-lg-2, | |||
.col-xs-3, | |||
.col-sm-3, | |||
.col-md-3, | |||
.col-lg-3, | |||
.col-xs-4, | |||
.col-sm-4, | |||
.col-md-4, | |||
.col-lg-4, | |||
.col-xs-5, | |||
.col-sm-5, | |||
.col-md-5, | |||
.col-lg-5, | |||
.col-xs-6, | |||
.col-sm-6, | |||
.col-md-6, | |||
.col-lg-6, | |||
.col-xs-7, | |||
.col-sm-7, | |||
.col-md-7, | |||
.col-lg-7, | |||
.col-xs-8, | |||
.col-sm-8, | |||
.col-md-8, | |||
.col-lg-8, | |||
.col-xs-9, | |||
.col-sm-9, | |||
.col-md-9, | |||
.col-lg-9, | |||
.col-xs-10, | |||
.col-sm-10, | |||
.col-md-10, | |||
.col-lg-10, | |||
.col-xs-11, | |||
.col-sm-11, | |||
.col-md-11, | |||
.col-lg-11, | |||
.col-xs-12, | |||
.col-sm-12, | |||
.col-md-12, | |||
.col-lg-12 { | |||
position: relative; | |||
min-height: 1px; | |||
padding-left: 35px; | |||
padding-right: 35px; | |||
} | |||
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { | |||
.col-xs-1, | |||
.col-xs-2, | |||
.col-xs-3, | |||
.col-xs-4, | |||
.col-xs-5, | |||
.col-xs-6, | |||
.col-xs-7, | |||
.col-xs-8, | |||
.col-xs-9, | |||
.col-xs-10, | |||
.col-xs-11, | |||
.col-xs-12 { | |||
float: left; | |||
} | |||
.col-xs-12 { | |||
@@ -843,7 +901,18 @@ address { | |||
margin-left: 0%; | |||
} | |||
@media (min-width: 768px) { | |||
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { | |||
.col-sm-1, | |||
.col-sm-2, | |||
.col-sm-3, | |||
.col-sm-4, | |||
.col-sm-5, | |||
.col-sm-6, | |||
.col-sm-7, | |||
.col-sm-8, | |||
.col-sm-9, | |||
.col-sm-10, | |||
.col-sm-11, | |||
.col-sm-12 { | |||
float: left; | |||
} | |||
.col-sm-12 { | |||
@@ -1001,7 +1070,18 @@ address { | |||
} | |||
} | |||
@media (min-width: 992px) { | |||
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { | |||
.col-md-1, | |||
.col-md-2, | |||
.col-md-3, | |||
.col-md-4, | |||
.col-md-5, | |||
.col-md-6, | |||
.col-md-7, | |||
.col-md-8, | |||
.col-md-9, | |||
.col-md-10, | |||
.col-md-11, | |||
.col-md-12 { | |||
float: left; | |||
} | |||
.col-md-12 { | |||
@@ -1159,7 +1239,18 @@ address { | |||
} | |||
} | |||
@media (min-width: 1200px) { | |||
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { | |||
.col-lg-1, | |||
.col-lg-2, | |||
.col-lg-3, | |||
.col-lg-4, | |||
.col-lg-5, | |||
.col-lg-6, | |||
.col-lg-7, | |||
.col-lg-8, | |||
.col-lg-9, | |||
.col-lg-10, | |||
.col-lg-11, | |||
.col-lg-12 { | |||
float: left; | |||
} | |||
.col-lg-12 { | |||
@@ -1336,11 +1427,11 @@ th { | |||
padding: 8px; | |||
line-height: 1.42857143; | |||
vertical-align: top; | |||
border-top: 1px solid #dddddd; | |||
border-top: 1px solid #ddd; | |||
} | |||
.table > thead > tr > th { | |||
vertical-align: bottom; | |||
border-bottom: 2px solid #dddddd; | |||
border-bottom: 2px solid #ddd; | |||
} | |||
.table > caption + thead > tr:first-child > th, | |||
.table > colgroup + thead > tr:first-child > th, | |||
@@ -1351,10 +1442,10 @@ th { | |||
border-top: 0; | |||
} | |||
.table > tbody + tbody { | |||
border-top: 2px solid #dddddd; | |||
border-top: 2px solid #ddd; | |||
} | |||
.table .table { | |||
background-color: #ffffff; | |||
background-color: #fff; | |||
} | |||
.table-condensed > thead > tr > th, | |||
.table-condensed > tbody > tr > th, | |||
@@ -1365,7 +1456,7 @@ th { | |||
padding: 5px; | |||
} | |||
.table-bordered { | |||
border: 1px solid #dddddd; | |||
border: 1px solid #ddd; | |||
} | |||
.table-bordered > thead > tr > th, | |||
.table-bordered > tbody > tr > th, | |||
@@ -1373,7 +1464,7 @@ th { | |||
.table-bordered > thead > tr > td, | |||
.table-bordered > tbody > tr > td, | |||
.table-bordered > tfoot > tr > td { | |||
border: 1px solid #dddddd; | |||
border: 1px solid #ddd; | |||
} | |||
.table-bordered > thead > tr > th, | |||
.table-bordered > thead > tr > td { | |||
@@ -1468,7 +1559,7 @@ table th[class*="col-"] { | |||
overflow-y: hidden; | |||
overflow-x: scroll; | |||
-ms-overflow-style: -ms-autohiding-scrollbar; | |||
border: 1px solid #dddddd; | |||
border: 1px solid #ddd; | |||
-webkit-overflow-scrolling: touch; | |||
} | |||
.table-responsive > .table { | |||
@@ -1581,9 +1672,9 @@ output { | |||
line-height: 1.42857143; | |||
color: #555555; | |||
vertical-align: middle; | |||
background-color: #ffffff; | |||
background-color: #fff; | |||
background-image: none; | |||
border: 1px solid #cccccc; | |||
border: 1px solid #ccc; | |||
border-radius: 4px; | |||
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |||
@@ -1902,7 +1993,7 @@ textarea.input-lg { | |||
height: 100%; | |||
font-size: 12px; | |||
line-height: 20px; | |||
color: #ffffff; | |||
color: #fff; | |||
text-align: center; | |||
background-color: #428bca; | |||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |||
@@ -6069,7 +6160,7 @@ a:hover { | |||
background-size: cover; | |||
} | |||
.terminal a { | |||
color: #ffffff; | |||
color: #fff; | |||
} | |||
.terminal-top { | |||
border-top-right-radius: 5px; | |||
@@ -6316,7 +6407,7 @@ blockquote.tweet-xl a { | |||
font-size: 10px; | |||
width: 100%; | |||
/* The main font color changes the ICON COLORS as well as the text */ | |||
color: #ffffff; | |||
color: #fff; | |||
} | |||
/* The "Big Play Button" is the play button that shows before the video plays. | |||
To center it set the align values to center and middle. The typical location | |||
@@ -6331,7 +6422,7 @@ blockquote.tweet-xl a { | |||
height: 1.5em; | |||
width: 3em; | |||
/* 0.06666em = 2px default */ | |||
border: 0.06666em solid #ffffff; | |||
border: 0.06666em solid #fff; | |||
/* 0.3em = 9px default */ | |||
border-radius: 0.3em; | |||
} | |||
@@ -6362,7 +6453,7 @@ blockquote.tweet-xl a { | |||
.video-js .vjs-volume-level, | |||
.video-js .vjs-play-progress, | |||
.video-js .vjs-slider-bar { | |||
background: #ffffff; | |||
background: #fff; | |||
} | |||
/* The main progress bar also has a bar that shows how much has been loaded. */ | |||
.video-js .vjs-load-progress { | |||
@@ -6576,4 +6667,4 @@ audio { | |||
-webkit-appearance: none; | |||
background: red; | |||
} | |||
/*# sourceMappingURL=/styles/main.css.map */ | |||
/*# sourceMappingURL=styles/main.css.map */ |