#!/usr/bin/ruby if ARGV[0].nil? or ARGV[0].empty? or ARGV[1].nil? or ARGV[1].empty? then $stderr.puts "Missing parameter(s). 2 parameters expected, " + ARGV.length.to_s + " was given." exit 127 end link = "#{ARGV[0]}" player = "#{ARGV[1]}" if link =~ /http[s]?:\/\/gfycat\.com\/(.+)/i if link =~ /^http:.*/ link.gsub!(/^http:/, 'https:') end %x(curl #{link} 2> /dev/null).match(/id="mp4Source" src="https:(.*?)" type="video.*>/) link = "http:#{$1}" fork { exec("#{player} -no-close-at-end -actions \"repeat false\" \"#{link}\"") } exit 0 else exit 1 end