pledgestrike 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2ed1976571ce6a45e24219fc860313eb17b22903e9f2a83ca632e29ca166f071
4
+ data.tar.gz: 250aa44b78b5565962240b864d769c690ab5d47f4b90e9c049c24082a50e44a4
5
+ SHA512:
6
+ metadata.gz: 1cf16c56a9a5357bd6a0bf85cb4f95218d11f813a7d52970433df97d36c7a3ac818c57bd5598389f9986694cbdbe630c001a4b93bf1d622db44b3903255bd756
7
+ data.tar.gz: b9919874ce30f402edf9bb99715fc2df76a09d01dfbb9f21d75697b589f565a89e0dc218130d139b880cd3f6b6446760078395b06887dcbd430693808e6deba9
data/bin/pledgestrike ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require "pledgestrike"
3
+ PledgeStrike.run!
@@ -0,0 +1,38 @@
1
+ require "net/http"
2
+ require "uri"
3
+ require "fileutils"
4
+ require "open-uri"
5
+ module PledgeStrike
6
+ class Downloader
7
+ def self.ensure_binary!
8
+ bin_name = Gem.win_platform? ? "pledgestrike.exe" : "pledgestrike"
9
+ bin_dir = File.join(Gem.dir, "bin")
10
+ bin_path = File.join(bin_dir, bin_name)
11
+ return bin_path if File.file?(bin_path)
12
+ target = case RUBY_PLATFORM
13
+ when /linux.*x86_64/ then "x86_64-unknown-linux-musl"
14
+ when /darwin.*x86_64/ then "x86_64-apple-darwin"
15
+ when /darwin.*arm64/ then "aarch64-apple-darwin"
16
+ end
17
+ unless target
18
+ warn "PledgeStrike: unsupported platform #{RUBY_PLATFORM}"
19
+ exit 1
20
+ end
21
+ ext = Gem.win_platform? ? "zip" : "tar.gz"
22
+ filename = "pledgestrike-#{VERSION}-#{target}.#{ext}"
23
+ url = "https://github.com/pledgeandgrow/pledgestrike/releases/download/v#{VERSION}/#{filename}"
24
+ FileUtils.mkdir_p(bin_dir)
25
+ tmp = File.join(bin_dir, filename)
26
+ warn "PledgeStrike: downloading #{filename}..."
27
+ URI.open(url) { |f| File.binwrite(tmp, f.read) }
28
+ if Gem.win_platform?
29
+ system("cd #{bin_dir} && unzip -o #{filename}")
30
+ else
31
+ system("cd #{bin_dir} && tar xzf #{filename}")
32
+ FileUtils.chmod(0o755, bin_path)
33
+ end
34
+ File.delete(tmp)
35
+ bin_path
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,3 @@
1
+ module PledgeStrike
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,8 @@
1
+ require "pledgestrike/version"
2
+ require "pledgestrike/downloader"
3
+ module PledgeStrike
4
+ def self.run!
5
+ binary = Downloader.ensure_binary!
6
+ exec binary, *ARGV
7
+ end
8
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pledgestrike
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - PledgeCyber
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-08-04 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: PledgeStrike is an offensive security toolkit covering web exploitation,
14
+ infrastructure testing, credential attacks, cloud/container, supply chain, OT/ICS,
15
+ IoT, and network protocols.
16
+ email: contact@pledgecyber.com
17
+ executables:
18
+ - pledgestrike
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - bin/pledgestrike
23
+ - lib/pledgestrike.rb
24
+ - lib/pledgestrike/downloader.rb
25
+ - lib/pledgestrike/version.rb
26
+ homepage: https://github.com/pledgeandgrow/pledgestrike
27
+ licenses:
28
+ - MIT
29
+ metadata: {}
30
+ post_install_message:
31
+ rdoc_options: []
32
+ require_paths:
33
+ - lib
34
+ required_ruby_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '2.7'
39
+ required_rubygems_version: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ requirements: []
45
+ rubygems_version: 3.5.22
46
+ signing_key:
47
+ specification_version: 4
48
+ summary: All-in-one offensive security toolkit with 120+ attack modules
49
+ test_files: []