ConradIrwin / showterm

The rubygem to upload to http://showterm.io
MIT License
601 stars 49 forks source link

Could not resolve host #36

Open laboo opened 9 years ago

laboo commented 9 years ago

Weird DNS problem on my Unbuntu box. I can ping, curl the homepage, but the curl upload command fails. See trace below:

mlibucha@X230:~/lwes-websocket-server$ ping showterm.io
PING showterm.io (104.28.16.82) 56(84) bytes of data.
64 bytes from 104.28.16.82: icmp_seq=1 ttl=54 time=15.4 ms
^C
--- showterm.io ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 15.426/15.426/15.426/0.000 ms
mlibucha@X230:~/lwes-websocket-server$ curl showterm.io/scripts
<!DOCTYPE html>
<html>
<head>
  <title>showterm</title>
  <script type="text/javascript">
//<![CDATA[
try{if (!window.CloudFlare) {var CloudFlare=[{verbose:0,p:0,byc:0,owlid:"cf",bag2:1,mirage2:0,oracle:0,paths:{cloudflare:"/cdn-cgi/nexp/dok3v=1613a3a185/"},atok:"667c25f2a6e98ed5437d45b6307634e3",petok:"65b6696e047c210589a4ed11a7c5dd2657e27c05-1436666385-1800",betok:"d1799f748cdc635556a753f3f3691fd644e553b6-1436666385-120",zone:"showterm.io",rocket:"0",apps:{}}];CloudFlare.push({"apps":{"smarterror":{"swiftype":{"engine_key":""}}}});!function(a,b){a=document.createElement("script"),b=document.getElementsByTagName("script")[0],a.async=!0,a.src="//ajax.cloudflare.com/cdn-cgi/nexp/dok3v=7e13c32551/cloudflare.min.js",b.parentNode.insertBefore(a,b)}()}}catch(e){};
//]]>
</script>
<link href="/assets/application-95b03d528e954d7ebd3471b72c68c53f.css" media="all" rel="stylesheet" />
  <script src="/assets/application-9cafe1e3c55632cae976c4f6367d65f5.js"></script>
  <meta content="authenticity_token" name="csrf-param" />
<meta content="chmr+lX+GXOgx2fZTpRm5eMb8RynlSAdYk8jTEC7AnM=" name="csrf-token" />

  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-534235-16']);
    _gaq.push(['_setDomainName', 'showterm.io']);
    _gaq.push(['_setAllowLinker', true]);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script>
</head>
<body style="background: black;">
  <!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5Q4G5L"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5Q4G5L');</script>
<!-- End Google Tag Manager -->

<div class="mainpage">
    <div style="float:right">Sponsored by <a style="text-decoration: none; border-bottom: 1px solid white; padding-bottom: 1px" href="https://bugsnag.com">Bugsnag</a>!</div>
    <h1 class="logo">showterm</h1>

    <div style="float:right"><img src="/vt100.png"></div>

    <nav style="margin-left: 10px">
        <a href="#install">install</a>
        <a href="#use">use</a>
        <a href="#link">link</a>
    </nav>

    <div style="float: right">
        <a href="https://twitter.com/share?url=http://showterm.io/&text=Awesome text-based terminal screencasts!" class="twitter-share-button" data-lang="en">Tweet</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
    </div>

    <p>It's showtime in a terminal near you! Put on your best colours,
        resize to 80 columns, and let your fingers fly!</p>

    <p>Termshows are purely text based. This makes them ideal for demoing
        instructions (as the user can copy-paste), making fail-safe
        "live-coding" sessions (plain text is very scalable), and sharing all
        your l33t terminal hacks.</p>

    <p>Installation instructions have been showtermed for your enjoyment :)</p>

    <iframe src="/7b5f8d42ba021511e627e" width="660" height="360" style="border: 1px solid #444"></iframe>

    <h2 id="install">Install</h2>

    <p>There are two ways to install showterm. The recommended way is to use ruby:</p>

    <ul>
        <li>gem install showterm</li>
    </ul>

    <p>This works for all Mac users, and Linux users with ruby configured correctly.</p>

    <p>If you are a Linux user who does not have ruby configured correctly, you can
    install showterm with:</p>

    <ul>
        <li>curl showterm.io/showterm &gt; ~/bin/showterm</li>
        <li>chmod +x ~/bin/showterm</li>
    </ul>

    <h2 id="use">Use</h2>

    <p>If you have installed showterm, you can just run it:</p>

    <ul>
        <li>showterm [program to run]</li>
    </ul>

    <p>If [program to run] is omitted it defaults to your shell (usually bash)</p>

    <p>If you have not installed showterm, you can run the standalone version:</p>

    <ul>
        <li>bash &lt;(curl record.showterm.io)</li>
    </ul>

    <h2 id="link">Linking</h2>

    <p>Each termshow gets its own link. You can add hash-fragments to customize playback,</p>

    <ul>
        <li><a href="http://showterm.io/7b5f8d42ba021511e627e">http://showterm.io/7b5f8d42ba021511e627e#slow</a>
            — realtime</li>
        <li><a href="http://showterm.io/7b5f8d42ba021511e627e#fast">http://showterm.io/7b5f8d42ba021511e627e#fast</a>
            — double-speed</li>
        <li><a href="http://showterm.io/7b5f8d42ba021511e627e#stop">http://showterm.io/7b5f8d42ba021511e627e#stop</a>
            — stopped</li>
    </ul>
    <p>access the site over https,</p>
    <ul>
        <li><a href="https://showterm.io/7b5f8d42ba021511e627e">https://showterm.io/7b5f8d42ba021511e627e</a>
        — secure!</li>
    </ul>

    <p>and embed termshows in your own website with iframes.</p>

    <div style="border: 1px solid #444; font-size: small; padding: 10px; width: 642px">
        &lt;iframe src="http://showterm.io/7b5f8d42ba021511e627e" width="640" height="480">&lt;/iframe>
    </div>

    <h2>Credits</h2>

    <ul>
        <li>term.js from Christopher Jeffrey's awesome <a href="https://github.com/chjj/tty.js">tty.js</a></li>
        <li><a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?script">script</a> the long-forgotten UNIX tool for recording terminal sessions.</li>
        <li><a href="http://0xcc.net/ttyrec/">ttyrec</a> Saturo Takabayashi's upgrade of script</li>
        <li><a href="https://bugsnag.com">Bugsnag, Inc.</a>, the exception monitoring tool, for hosting.</li>
    </ul>

    <p>The code is hosted on Github (<a
            href="https://github.com/ConradIrwin/showterm">client</a>, <a
            href="https://github.com/ConradIrwin/showterm.io">server</a>). Please
        file issues if you need anything!</p>

    <p> ~ <a href="http://cirw.in">Conrad Irwin</a> </p>

</body>
</html>
mlibucha@X230:~/lwes-websocket-server$ curl showterm.io/scripts --data-urlencode cols=164 --data-urlencode lines=13 --data-urlencode scriptfile@/tmp/TOuGM.script --data-urlencode timingfile@/tmp/kqPo3.timing secret@/home/mlibucha/.showterm
http://showterm.io/beeb822bb25ffac88cb25curl: (6) Could not resolve host:
tvvocold commented 9 years ago

I got this error too(install via curl showterm.io/showterm > ~/bin/showterm), but the upload is done already. See https://github.com/ConradIrwin/showterm/issues/31 also.

tvvocold commented 9 years ago

Ping @ConradIrwin :smile:

smlz commented 8 years ago

Had the same confusing error message. Adding the --silent flag to the curl command "solves" the "problem".

No freaking idea though what causes the problem. The answer from the showterm.io server looks perfectly normal.

joomlagate commented 8 years ago

I got the same error. I thought my recording was NOT uploaded until I read this thread. Well, now I know in fact the recording was already uploaded. But I still got this error:

[root@localhost ~]# exit exit Uploading... http://showterm.io/4938e5a0dfd1c8782cb04curl: (6) Could not resolve host: ; Name or service not known Uploading failed, but don't worry! Your work is safe. You can try uploading again with: curl showterm.io/scripts --data-urlencode cols=113 --data-urlencode lines=22 --data-urlencode scriptfile@/tmp/Bqb7Y.script --data-urlencode timingfile@/tmp/6LKEr.timing secret@/root/.showterm [root@localhost ~]#

qstrahl commented 8 years ago

I too have this issue. Using Arch Linux, for what that's worth.

ConradIrwin commented 8 years ago

It looks like there's a stray semi-colon "Could not resolve host: ;". Can someone find it and send a PR to remove it?

victorbrca commented 8 years ago

I think the issue is because the secret is being passed on as an argument without being giving it a curl flag.

Try changing the script from: if curl --fail "$url" --data-urlencode "cols=$cols" --data-urlencode "lines=$lines" --data-urlencode "scriptfile@$scriptfile" --data-urlencode "timingfile@$timingfile" "secret@$HOME/.showterm"

To: if curl --fail "$url" --data-urlencode "cols=$cols" --data-urlencode "lines=$lines" --data-urlencode "scriptfile@$scriptfile" --data-urlencode "timingfile@$timingfile" --data-urlencode "secret@$HOME/.showterm"

And that should fix it.