ftp -o - https://jcs.org/move_in | sh -
at master 38 lines 730 B view raw
1#!/usr/bin/env ruby 2 3require "ftpd" 4require "socket" 5 6class Driver 7 def initialize 8 @temp_dir = Dir.pwd 9 end 10 def authenticate(user, password) 11 true 12 end 13 def file_system(user) 14 Ftpd::DiskFileSystem.new(@temp_dir) 15 end 16end 17 18int = `route -n get default`.split("\n").select{|l| l.match(/interface:/) }. 19 first.gsub(/.*: /, "") 20ip = `ifconfig #{int} | grep 'inet '`.split("\n")[0].gsub(/.*inet /, ""). 21 gsub(/ .*/, "").strip 22 23server = Ftpd::FtpServer.new(Driver.new) 24server.log = Logger.new(STDOUT) 25server.interface = "0.0.0.0" 26 27if Process.uid == 0 || `uname -s`.strip == "Darwin" 28 server.port = 21 29else 30 server.port = 2121 31end 32 33puts "ftpd listening on #{ip}:#{server.port}" 34 35server.start 36while true do 37 gets 38end