njongto_duo 0.0.55 → 0.0.59

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/njongto_duo.rb +40 -14
  3. metadata +3 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ef4be51b68dc733fdc09944b0e8e1d9f7c13dd5cd03e9e76e2d53928f917ffd
4
- data.tar.gz: c329a56e94668a32cee4eba632da34db807b59488c0d401226841ec928fb1424
3
+ metadata.gz: 5f584f320185a15fd9161dc5302311230d4c145486c25287ad344a68050453bf
4
+ data.tar.gz: b6bd74429683107961430b4119674949b753c8eb4f0d47d8271791585a6cf452
5
5
  SHA512:
6
- metadata.gz: 640a6e99a903e582b4c447476580c808d2ef1232a7203905e12a39b2adfe1f9f0f88a0bdaaaab8a0ce636bb9866b265672938bbe0296dd3ace0f3fd5ebc58116
7
- data.tar.gz: f38f6b29aea3892b0192b863adebea6b4b6ddce15c5b8c3bec59805b4c9e345be4f338ace5f297878cdb95cfdd83779f08d9a637cf861eb825dc04240414643d
6
+ metadata.gz: 2862d8c0fca2534641d64216c415871fec0513137304ace19205d74888dd8e668b4ed4fbc8901cc33fca1c8e403321add66a0d8ae2711624eb09a4f77528fe7e
7
+ data.tar.gz: 87855c86e9051bd83fa3f3c772171da5c38ce24ee130f6f79cc680ec5689897bb429f6894375a32df6d6f5cdcbc86351eaecf494a449b637bc05afb4b09e2ff1
data/lib/njongto_duo.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'glimmer-dsl-libui'
2
2
  require 'selenium-webdriver'
3
- # require 'webdrivers'
3
+ require 'webdrivers'
4
4
  require 'iconv'
5
5
  require 'nokogiri'
6
6
  require 'http'
@@ -14,7 +14,6 @@ require 'clipboard'
14
14
  require 'crack'
15
15
  require 'uri'
16
16
  require 'cgi'
17
- require 'digest'
18
17
  require 'auto_click'
19
18
  require 'rainbow/refinement'
20
19
  include AutoClickMethods
@@ -25,14 +24,39 @@ include Glimmer
25
24
  class Naver
26
25
  def initialize
27
26
  @seed = 1
27
+
28
+ begin
29
+ # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
30
+
31
+ # Webdrivers가 드라이버를 다운로드할 경로를 설정
32
+ Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
33
+ Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
34
+ # 크롬드라이버 자동 업데이트 시도
35
+ Webdrivers::Chromedriver.update
36
+ puts "chromedriver 자동 다운로드 성공"
37
+ rescue => e
38
+ puts "chromedriver 자동 다운로드 실패: #{e.message}"
39
+ puts "폴더내 크롬드라이버를 사용합니다."
40
+ puts "크롬드라이버가 오래된 경우 오류 발생될 수 있으며, 만일 오류 발생시 아래 지침을 따라주세요."
41
+ puts "1.크롬 업데이트 2.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일을 열어 드라이버를 교체하세요."
42
+ chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
43
+ Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
44
+ end
45
+
28
46
  end
47
+
48
+
29
49
  def chrome_setup(user_id, proxy)
30
50
  naver_cookie_dir = "C:/naver_cookie"
31
51
  FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
32
52
  if proxy == ''
33
- system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" https://naver.com/ --remote-debugging-port=9222 --user-data-dir=C:/naver_cookie/#{user_id}})
53
+
54
+ system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" https://naver.com/ --remote-debugging-port=9222 --user-data-dir=C:/naver_cookie/#{user_id} --no-first-run --no-default-browser-check --disable-sync})
55
+
34
56
  else
35
- system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" "https://naver.com/" --remote-debugging-port=9222 --user-data-dir=C:/naver_cookie/#{user_id} --proxy-server=#{proxy.to_s.force_encoding('utf-8').to_s}})
57
+
58
+ system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" https://naver.com/ --remote-debugging-port=9222 --user-data-dir=C:/naver_cookie/#{user_id} --proxy-server=#{proxy.to_s.force_encoding('utf-8').to_s} --no-first-run --no-default-browser-check --disable-sync})
59
+
36
60
  end
37
61
  end
38
62
  def chrome_start(proxy, user_id)
@@ -40,10 +64,12 @@ class Naver
40
64
  FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
41
65
  if proxy == ''
42
66
  begin
43
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
44
67
  options = Selenium::WebDriver::Chrome::Options.new
45
68
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
46
- options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
69
+ #options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
70
+ options.add_argument('--disable-sync') # Chrome 동기화 비활성화
71
+ options.add_argument('--disable-popup-blocking') # 팝업 방지 (로그인 창이 뜨는 경우 대비)
72
+ options.add_argument('--no-default-browser-check')
47
73
  options.page_load_strategy = :normal
48
74
  options.timeouts = {page_load: 20_000}
49
75
  options.page_load_strategy = 'none'
@@ -65,10 +91,13 @@ class Naver
65
91
  end
66
92
  else
67
93
  begin
68
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
94
+ #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
69
95
  options = Selenium::WebDriver::Chrome::Options.new
70
96
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
71
97
  options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
98
+ options.add_argument('--disable-sync') # Chrome 동기화 비활성화
99
+ options.add_argument('--disable-popup-blocking') # 팝업 방지 (로그인 창이 뜨는 경우 대비)
100
+ options.add_argument('--no-default-browser-check')
72
101
  options.add_argument '--proxy-server='+proxy.to_s.force_encoding('utf-8').to_s
73
102
  options.page_load_strategy = :normal
74
103
  options.timeouts = {page_load: 20_000}
@@ -89,10 +118,13 @@ class Naver
89
118
  puts e
90
119
  puts 'proxy error...'
91
120
  begin
92
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
121
+ #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
93
122
  options = Selenium::WebDriver::Chrome::Options.new
94
123
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
95
124
  options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
125
+ options.add_argument('--disable-sync') # Chrome 동기화 비활성화
126
+ options.add_argument('--disable-popup-blocking') # 팝업 방지 (로그인 창이 뜨는 경우 대비)
127
+ options.add_argument('--no-default-browser-check')
96
128
  options.page_load_strategy = :normal
97
129
  options.timeouts = {page_load: 20_000}
98
130
  options.page_load_strategy = 'none'
@@ -226,12 +258,6 @@ class Naver
226
258
  end
227
259
  end
228
260
 
229
- def create_id
230
- @seed += 1
231
- hash = Digest::SHA256.hexdigest((Time.now.to_i+@seed).to_s).to_s
232
- answer = "SE-#{hash[0..7]}-#{hash[8..11]}-#{hash[12..15]}-#{hash[16..19]}-#{hash[20..31]}"
233
- return answer
234
- end
235
261
 
236
262
  def update(title, content, option, url)
237
263
  puts '[start] 작업을 시작합니다.......'.green
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: njongto_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.55
4
+ version: 0.0.59
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-02-21 00:00:00.000000000 Z
10
+ date: 2025-04-30 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: File to Clipboard gem
14
13
  email: mymin26@naver.com
@@ -21,7 +20,6 @@ homepage: ''
21
20
  licenses:
22
21
  - zon
23
22
  metadata: {}
24
- post_install_message:
25
23
  rdoc_options: []
26
24
  require_paths:
27
25
  - lib
@@ -36,8 +34,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
36
34
  - !ruby/object:Gem::Version
37
35
  version: '0'
38
36
  requirements: []
39
- rubygems_version: 3.3.7
40
- signing_key:
37
+ rubygems_version: 3.6.7
41
38
  specification_version: 4
42
39
  summary: file to clipboard
43
40
  test_files: []