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.
- checksums.yaml +4 -4
- data/lib/tg_send_duo.rb +15 -42
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3591b8da281bef54a2d1ce06bdf06896bc49025c695c51e77adea46d294aabeb
|
4
|
+
data.tar.gz: b30f1f04496c50e8e11d6cb035724ed77394c10c970b67252eb0a510579d9195
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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:
|
74
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
94
75
|
end
|
95
76
|
else
|
96
77
|
begin
|
97
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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:
|
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.
|
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-
|
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
|