tg_send_duo 0.0.33 → 0.0.39

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tg_send_duo.rb +15 -42
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c91b59fb4a477710e12a401547e15365df9d154502af6d9fedfe106d16de774
4
- data.tar.gz: 2ce9ba3a5af2c65c3a8a92df8c4b654964a0e5a8b586b0f62f7fda1b27b945ab
3
+ metadata.gz: 3591b8da281bef54a2d1ce06bdf06896bc49025c695c51e77adea46d294aabeb
4
+ data.tar.gz: b30f1f04496c50e8e11d6cb035724ed77394c10c970b67252eb0a510579d9195
5
5
  SHA512:
6
- metadata.gz: 10c9747cb4944f3d200f4fc5dc848a64ed1fd1d95066c4c55dbc703f428538db9f5f6b62a91466c6b987a179deb79bb91eed20520b4dfbbc1af93b0e4d654927
7
- data.tar.gz: 2a0ef78a06182f0a2c8dd4bf03cea248a5b7526621c3e58ae20b738f8d2f3df23a579675c1edc9f898da6c1963be21468243117df76f5f24b0080ae07bc0a1ee
6
+ metadata.gz: 97e7f903a7a9b03100fcf898f533eb1b3da7f592766636714831d5ca3fe9a39cdac5cc524aa0c5c88e081bab0502c409a19bf6dfd54dad8dca7bc1a20733c43a
7
+ data.tar.gz: 75375026942cc738da6b6f2bd65b015440e53bca1cf33d57ac4cf473360b2d5b8e67b3a7c26067650ae58ed8f06c15580c9e925aaca7dc8cc037853d931ffb58
data/lib/tg_send_duo.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'glimmer-dsl-libui'
2
2
  require 'selenium-webdriver'
3
- require 'webdrivers'
4
3
  require 'nokogiri'
5
4
  require 'http'
6
5
  require 'json'
@@ -19,36 +18,22 @@ class Naver
19
18
  def initialize
20
19
  @seed = 1
21
20
  end
22
- def chrome_setup(telegram_number)
21
+ def chrome_setup(telegram_number,proxy)
23
22
  telegram_cookie_dir = "C:/telegram_cookie"
24
23
  FileUtils.mkdir_p(telegram_cookie_dir) unless File.exist?(telegram_cookie_dir)
24
+ if proxy == ''
25
25
  system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" https://web.telegram.org/a/ --remote-debugging-port=9222 --user-data-dir=C:/telegram_cookie/#{telegram_number}})
26
+ else
27
+ system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" https://web.telegram.org/a/ --remote-debugging-port=9222 --user-data-dir=C:/telegram_cookie/#{telegram_number} --proxy-server=#{proxy.to_s.force_encoding('utf-8').to_s}})
28
+ end
26
29
  end
27
30
 
28
-
29
31
  def chrome_start(proxy,telegram_number)
30
32
  telegram_cookie_dir = "C:/telegram_cookie"
31
33
  FileUtils.mkdir_p(telegram_cookie_dir) unless File.exist?(telegram_cookie_dir)
32
-
33
- chromedriver_path = './chromedriver.exe' # 수동 경로 지정
34
-
35
- # 웹드라이버 자동 다운로드 시도
36
- begin
37
- # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
38
- Webdrivers::Chromedriver.update # 자동 업데이트 시도
39
- rescue => e
40
- puts "webdrivers에서 chromedriver 다운로드 실패: #{e.message}"
41
- puts "자동으로 chromedriver.exe 사용합니다."
42
- puts "만일 프로그램 폴더안에 chromedriver.exe 버전이 맞지 않거나 없는 경우 인터넷창이 깜빡하고 닫히거나 열리지 않는경우에만 아래 안내를 따라주세요."
43
- puts "https://storage.googleapis.com/chrome-for-testing-public/사용자크롬버전/win32/chromedriver-win32.zip 링크를 복사 후 복사 된 링크 중(사용자크롬버전) 부분을 크롬 사용자의 버전(예:131.0.6778.264)으로 수정 후 주소입력 부분에 넣어 엔터 후 다운로드 하고 압축을 풀고 chromedriver.exe 파일만 프로그램 폴더안에 넣어주세요."
44
- puts "인터넷 창이 열리고 작업을 한다면 위 항목은 패스해주세요."
45
- # 예외가 발생하면 수동 경로 사용
46
- Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
47
- end
48
-
49
34
  if proxy == ''
50
35
  begin
51
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
36
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
52
37
  options = Selenium::WebDriver::Chrome::Options.new
53
38
 
54
39
  options.add_argument('--headless') # 브라우저 UI 없이 실행
@@ -64,11 +49,7 @@ class Naver
64
49
  options.add_argument('user-data-dir=C:/telegram_cookie/' + telegram_number)
65
50
 
66
51
 
67
- # :capabilities options를 배열로 전달
68
- capabilities = [options]
69
-
70
- # Selenium WebDriver에서 options를 capabilities로 전달
71
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
52
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
72
53
 
73
54
 
74
55
 
@@ -90,11 +71,11 @@ class Naver
90
71
  @driver.switch_to.window(first_window)
91
72
 
92
73
  rescue
93
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
74
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
94
75
  end
95
76
  else
96
77
  begin
97
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
78
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
98
79
  options = Selenium::WebDriver::Chrome::Options.new
99
80
  options.add_argument('--headless') # 브라우저 UI 없이 실행
100
81
  options.add_argument('--disable-gpu') # GPU 가속을 비활성화 (헤드리스에서 필요할 수 있음)
@@ -107,16 +88,12 @@ class Naver
107
88
  options.add_argument('--disable-notifications')
108
89
  options.add_argument('--remote-debugging-port=9222')
109
90
  options.add_argument('user-data-dir=C:/telegram_cookie/' + telegram_number)
110
- # :capabilities options를 배열로 전달
111
- capabilities = [options]
112
-
113
- # Selenium WebDriver에서 options를 capabilities로 전달
114
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
91
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
115
92
  rescue => e
116
93
  puts e
117
94
  puts 'proxy error...'
118
95
  begin
119
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
96
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
120
97
  options = Selenium::WebDriver::Chrome::Options.new
121
98
  options.page_load_strategy = :normal
122
99
  options.timeouts = {page_load: 20_000}
@@ -128,12 +105,9 @@ class Naver
128
105
  options.add_argument('--disable-popup-blocking')
129
106
  options.add_argument('--remote-debugging-port=9222')
130
107
  options.add_argument('user-data-dir=C:/telegram_cookie/' + telegram_number)
131
- # :capabilities options를 배열로 전달
132
- capabilities = [options]
133
-
134
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
108
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
135
109
  rescue
136
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
110
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
137
111
  end
138
112
  end
139
113
  end
@@ -156,10 +130,9 @@ class Naver
156
130
  end
157
131
 
158
132
  # 새로운 스레드 생성 및 실행
159
- Thread.new { chrome_setup(telegram_number) }
133
+ Thread.new { chrome_setup(telegram_number, proxy) }
160
134
  sleep(1)
161
-
162
-
135
+
163
136
  chrome_start(proxy, telegram_number)
164
137
  @driver.manage.window.resize_to(1000, 800)
165
138
  #sleep(1)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tg_send_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33
4
+ version: 0.0.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-10 00:00:00.000000000 Z
11
+ date: 2025-01-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com