@@ -72,7 +72,16 @@ | |||
</div> | |||
include "includes/download-btn.html" | |||
<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> | |||
<script src="scripts/clipboard.js"></script> | |||
</section> | |||
@@ -109,7 +118,15 @@ | |||
ga('send', 'pageview'); | |||
</script> | |||
include "includes/js.html" | |||
<!-- 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*."; | |||
@@ -8,43 +8,60 @@ | |||
include "includes/head.html" | |||
<body id="download"> | |||
<body id="download"> | |||
<script> | |||
(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), | |||
(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) | |||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); | |||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||
ga('send', 'pageview'); | |||
a.async = 1; | |||
a.src = g; | |||
m.parentNode.insertBefore(a, m) | |||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); | |||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||
ga('send', 'pageview'); | |||
</script> | |||
include "includes/navigation.html" | |||
include "includes/navigation.html" | |||
<div id="navigation"> | |||
<div class="wrapper"> | |||
<a href="/"> | |||
<h1>transfer.sh</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> | |||
<section id="home"> | |||
<div class="wrapper"> | |||
<br/> | |||
<h2> | |||
{{.Filename}}</h2> | |||
include "includes/download-btn.html" | |||
<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> | |||
</section> | |||
include "includes/js.html" | |||
include "includes/js.html" | |||
@@ -8,7 +8,7 @@ | |||
include "includes/head.html" | |||
<body id="download"> | |||
<body id="download"> | |||
<script> | |||
(function(i, s, o, g, r, a, m) { | |||
i['GoogleAnalyticsObject'] = r; | |||
@@ -25,8 +25,23 @@ include "includes/head.html" | |||
ga('send', 'pageview'); | |||
</script> | |||
include "includes/navigation.html" | |||
<div id="navigation"> | |||
<div class="wrapper"> | |||
<a href="/"> | |||
<h1>transfer.sh</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> | |||
<section id="home"> | |||
<div class="wrapper"> | |||
<br/> | |||
@@ -51,13 +66,19 @@ include "includes/head.html" | |||
<br/> | |||
<div> | |||
include "includes/download-btn.html" | |||
<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> | |||
</section> | |||
include "includes/js.html" | |||
</body> | |||
</html> |
@@ -6,22 +6,7 @@ | |||
<html class="no-js"> | |||
<!--<![endif]--> | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<title>{{.Filename}} - transfer.sh</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='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 --> | |||
<script src="bower_components/modernizr/modernizr.js"></script> | |||
<!-- endbuild --> | |||
</head> | |||
include "includes/head.html" | |||
<body id="download"> | |||
<script> | |||
@@ -40,17 +25,7 @@ | |||
ga('send', 'pageview'); | |||
</script> | |||
<div id="navigation"> | |||
<div class="wrapper"> | |||
<h1>transfer.sh</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> | |||
include "includes/navigation.html" | |||
<section id="home"> | |||
<div class="wrapper"> | |||
@@ -60,18 +35,23 @@ | |||
<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"> | |||
<div id="md-preview"></div> | |||
</div> | |||
</div> | |||
</div> | |||
<br/> | |||
include "includes/download-btn.html" | |||
<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> | |||
</section> | |||
@@ -90,7 +70,6 @@ | |||
<!--[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> | |||
(function(b, o, i, l, e, r) { | |||
b.GoogleAnalyticsObject = l; | |||
@@ -108,7 +87,9 @@ | |||
ga('send', 'pageview'); | |||
</script> | |||
include "includes/js.html" | |||
<script> | |||
var text = "# Markdown *works*."; | |||
@@ -45,14 +45,14 @@ | |||
</rdf:RDF> | |||
</metadata> | |||
<g | |||
transform="translate(-93.957497,-365.26607)" | |||
transform="matrix(1,0,0,0.94456233,-93.957497,-345.57658)" | |||
id="layer1"> | |||
<path | |||
d="m 85.371201,355.16455 789.901059,0 0,49.98291 -789.901059,0 z" | |||
d="m 93.957497,365.85895 750.000003,0 0,31.76074 -750.000003,0 z" | |||
id="rect4487" | |||
style="fill:#85b5bb;fill-opacity:1;stroke:none" /> | |||
<g | |||
transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.446)" | |||
transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1454.9192)" | |||
id="g24" | |||
style="fill:#ff7050"> | |||
<g | |||
@@ -78,7 +78,7 @@ | |||
</g> | |||
</g> | |||
<g | |||
transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.507)" | |||
transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1454.9802)" | |||
id="g40" | |||
style="fill:#ffed5d"> | |||
<g | |||
@@ -104,7 +104,7 @@ | |||
</g> | |||
</g> | |||
<g | |||
transform="matrix(1.4512649,0,0,-1.4512649,-115.0147,1453.4765)" | |||
transform="matrix(1.4512649,0,0,-1.4512649,-115.0147,1454.9497)" | |||
id="g56" | |||
style="fill:#93de7f"> | |||
<g | |||
@@ -6,4 +6,4 @@ | |||
<script src="scripts/showdown.js"></script> | |||
<script src="scripts/main.js"></script> | |||
<!-- endbuild --> | |||
@@ -10,7 +10,7 @@ include "includes/head.html" | |||
<body> | |||
<script> | |||
(function(i, s, o, g, r, a, m) { | |||
i['GoogleAnalyticsObject'] = r; | |||
@@ -144,8 +144,8 @@ include "includes/head.html" | |||
<div class="terminal"> | |||
<code> | |||
<span class="code-title"># Add this to .bashrc or its equivalent</span> | |||
<br/>transfer() { | |||
<br># write to output to tmpfile because of progress bar | |||
<br/>transfer() { | |||
<br># write to output to tmpfile because of progress bar | |||
<br>tmpfile=$( mktemp -t transferXXX ); curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; } | |||
<br/> | |||
<br/>alias transfer=transfer | |||
@@ -207,7 +207,8 @@ include "includes/head.html" | |||
<span class="code-title"># Scan for malware or viruses using Clamav</span> | |||
<br>$ wget http://www.eicar.org/download/eicar.com | |||
<br>$ curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan | |||
<br><br> | |||
<br> | |||
<br> | |||
<span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span> | |||
<br>$ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal | |||
<br> | |||
@@ -221,7 +222,7 @@ include "includes/head.html" | |||
<div class="terminal"> | |||
<code> | |||
<span class="code-title"># Backup, encrypt and transfer</span> | |||
<br/>$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt </code> | |||
<br/>$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</code> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -252,6 +253,17 @@ include "includes/head.html" | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2>Follow on GitHub</h2> | |||
<br> | |||
<br> | |||
<iframe src="http://ghbtns.com/github-btn.html?user=dutchcoders&repo=transfer.sh&type=follow&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="300" height="50"></iframe> | |||
<iframe src="http://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"> | |||
@@ -296,6 +308,8 @@ include "includes/head.html" | |||
</div> | |||
</section> | |||
<section id="share"> | |||
<div class="wrapper"> | |||
<h2>Share the love</h2> | |||
@@ -329,13 +343,23 @@ include "includes/head.html" | |||
</div> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
<section id="tor"> | |||
<div class="wrapper"> | |||
<a href="https://torproject.com"><img src="images/tor.svg" alt=""> </a><br/> | |||
<a href="https://jxm5d6emw5rknovg.onion/">https://jxm5d6emw5rknovg.onion/</a> | |||
</div> | |||
</section> | |||
include "includes/footer.html" | |||
include "includes/js.html" | |||
</body> | |||
@@ -73,7 +73,7 @@ $(document).ready(function() { | |||
$('#web').addClass('dragged'); | |||
}).bind("dragleave", function(event) { | |||
$('#terminal').removeClass('dragged'); | |||
$('#web').removeClass('dragged'); | |||
$('#web').removeClass('dragged'); | |||
}).bind("drop dragdrop", function(event) { | |||
var files = event.originalEvent.target.files || event.originalEvent.dataTransfer.files; | |||
@@ -93,14 +93,74 @@ $(document).ready(function() { | |||
}); | |||
$('input[type=file]').on('change', function(event) { | |||
$.each(this.files, function(index, file) { | |||
if (file instanceof Blob) { | |||
upload(file); | |||
} | |||
}); | |||
}); | |||
})(); | |||
}); | |||
// clipboard | |||
if (window.location.href.indexOf("download") > -1 ) { | |||
(function() { | |||
var copylinkbtn = document.getElementById("copy-link-btn"), | |||
copylink = document.getElementById("copy-link-wrapper"), | |||
overlay = document.getElementById("overlay"); | |||
var url = "http://url" | |||
copylinkbtn.addEventListener("click", function() { | |||
var error = document.getElementsByClassName('error'); | |||
while (error[0]) { | |||
error[0].parentNode.removeChild(error[0]); | |||
} | |||
document.body.className += ' active'; | |||
copylink.children[1].value = url; | |||
copylink.children[1].focus(); | |||
copylink.children[1].select(); | |||
}, false); | |||
overlay.addEventListener("click", function() { | |||
document.body.className = ''; | |||
}, false); | |||
copylink.children[1].addEventListener("keydown", function(e) { | |||
var error = document.getElementsByClassName('error'); | |||
while (error[0]) { | |||
error[0].parentNode.removeChild(error[0]); | |||
} | |||
setTimeout(function() { | |||
if ((e.metaKey || e.ctrlKey) && e.keyCode === 67 && isTextSelected(copylink.children[2])) { | |||
document.body.className = ''; | |||
} else if ((e.metaKey || e.ctrlKey) && e.keyCode === 67 && isTextSelected(copylink.children[2]) === false) { | |||
var error = document.createElement('span'); | |||
error.className = 'error'; | |||
var errortext = document.createTextNode('The link was not copied, make sure the entire text is selected.'); | |||
error.appendChild(errortext); | |||
copylink.appendChild(error); | |||
} | |||
}, 100); | |||
function isTextSelected(input) { | |||
if (typeof input.selectionStart == "number") { | |||
return input.selectionStart == 0 && input.selectionEnd == input.value.length; | |||
} else if (typeof document.selection != "undefined") { | |||
input.focus(); | |||
return document.selection.createRange().text == input.value; | |||
} | |||
} | |||
}, false); | |||
})(); | |||
}; | |||
})(); |
@@ -1,4 +1,9 @@ | |||
body { | |||
max-width: 2000px; | |||
margin: 0 auto; | |||
} | |||
.browsehappy { | |||
margin: 0.2em 0; | |||
background: orange; | |||
@@ -21,7 +21,7 @@ | |||
h4 { | |||
margin-top: 30px; | |||
} | |||
padding: 50px 0; | |||
padding: 75px 0; | |||
text-align: center; | |||
.btn-cta { | |||
margin: 30px 0; | |||
@@ -61,6 +61,26 @@ | |||
} | |||
} | |||
#github { | |||
text-align: center; | |||
padding: 50px 0; | |||
} | |||
#tor { | |||
text-align: center; | |||
img { | |||
max-width: 100px; | |||
margin: 0 auto; | |||
margin-bottom: 10px; | |||
} | |||
background: @light-gray; | |||
padding: 50px 0; | |||
a { | |||
font-size: 20px; | |||
} | |||
} | |||
footer { | |||
text-align: center; | |||
@@ -5889,6 +5889,10 @@ body { | |||
-o-animation-duration: 0.75s; | |||
animation-duration: 0.75s; | |||
} | |||
body { | |||
max-width: 2000px; | |||
margin: 0 auto; | |||
} | |||
.browsehappy { | |||
margin: 0.2em 0; | |||
background: orange; | |||
@@ -6134,7 +6138,7 @@ a:hover { | |||
font-size: 100px; | |||
} | |||
#samples { | |||
padding: 50px 0; | |||
padding: 75px 0; | |||
text-align: center; | |||
} | |||
#samples h4 { | |||
@@ -6174,6 +6178,23 @@ a:hover { | |||
color: #fff; | |||
text-decoration: none; | |||
} | |||
#github { | |||
text-align: center; | |||
padding: 50px 0; | |||
} | |||
#tor { | |||
text-align: center; | |||
background: #f6f8f8; | |||
padding: 50px 0; | |||
} | |||
#tor img { | |||
max-width: 100px; | |||
margin: 0 auto; | |||
margin-bottom: 10px; | |||
} | |||
#tor a { | |||
font-size: 20px; | |||
} | |||
footer { | |||
text-align: center; | |||
background: #36535a; | |||