⚝
One Hat Cyber Team
⚝
Your IP:
18.191.35.15
Server IP:
162.254.39.145
Server:
Linux premium289.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
Server Software:
LiteSpeed
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
alt
/
ruby21
/
lib64
/
ruby
/
2.1.0
/
rake
/
contrib
/
View File Name :
publisher.rb
# Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com) # All rights reserved. # :stopdoc: # Configuration information about an upload host system. # name :: Name of host system. # webdir :: Base directory for the web information for the # application. The application name (APP) is appended to # this directory before using. # pkgdir :: Directory on the host system where packages can be # placed. HostInfo = Struct.new(:name, :webdir, :pkgdir) # :startdoc: # Manage several publishers as a single entity. class CompositePublisher def initialize @publishers = [] end # Add a publisher to the composite. def add(pub) @publishers << pub end # Upload all the individual publishers. def upload @publishers.each { |p| p.upload } end end # Publish an entire directory to an existing remote directory using # SSH. class SshDirPublisher def initialize(host, remote_dir, local_dir) @host = host @remote_dir = remote_dir @local_dir = local_dir end def upload run %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}} end end # Publish an entire directory to a fresh remote directory using SSH. class SshFreshDirPublisher < SshDirPublisher def upload run %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil run %{ssh #{@host} mkdir #{@remote_dir}} super end end # Publish a list of files to an existing remote directory. class SshFilePublisher # Create a publisher using the give host information. def initialize(host, remote_dir, local_dir, *files) @host = host @remote_dir = remote_dir @local_dir = local_dir @files = files end # Upload the local directory to the remote directory. def upload @files.each do |fn| run %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}} end end end