njongto_zon 0.0.51 → 0.0.53

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_zon.rb +57 -47
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9da4d88901c6e3084d2dd9c83f6fc8e48ab08fb0da925a47c1dbabbaa0c69106
4
- data.tar.gz: 5b9ea5fdb4562f475cc8272029ed9ef51e981babb94138f559c24ea6e27bf6e5
3
+ metadata.gz: 34fb218d5d81c99ab654b171a7c2bb19e8f22d7bac9ce9398ab9f302da789720
4
+ data.tar.gz: 064af67ad7abb50f6eb3f507e927ee7ff5e0bc84e283a6a207aafb90d90a569e
5
5
  SHA512:
6
- metadata.gz: f53043eef7c214769b823cde508b4c028cba1598926009da9aa20a85a2936aaa774f33a39dfa72bc8ad199c079db15341bcdf03fe8ea18f2997543f0cea0e42c
7
- data.tar.gz: 5493edc88baab2892705d2574bd8d753fabef5488357122101c89ae2482a97a97018cebfac2bacae39648ea6d1110390f4f8eddbcfc1c136976fe68ea0b27b84
6
+ metadata.gz: c6fddaf58cd15751f652b2a5214875073afeb36c981a46718d9be7457828b71fe3fe414cd02bbb00fd08ec978815a36cdfd13ee850c7b94e6c6f9ca7049f0f10
7
+ data.tar.gz: cb153cea656ec04403c68471839f7957eada646fb988666385079ca5269ea3af1e9e26fd7dc1594ddbe8fc92df9427667b6381da170a444bdb1865b47ba0803b
data/lib/njongto_zon.rb CHANGED
@@ -51,9 +51,17 @@ class Naver
51
51
  options.add_argument('--disable-gpu')
52
52
  options.add_argument('--remote-debugging-port=9222')
53
53
  options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
54
- @driver = Selenium::WebDriver.for(:chrome, options: options)
55
- rescue
56
- @driver = Selenium::WebDriver.for(:chrome, options: options)
54
+ # 'capabilities'과 'options' 배열로 설정
55
+ capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
56
+ capabilities["goog:chromeOptions"] = options.as_json
57
+
58
+ # Selenium 4에서는 'capabilities'만 사용하는 방식
59
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
60
+
61
+ @driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: function(){ return false; }});") # 셀레니움 감지 방지
62
+
63
+ rescue => e
64
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
57
65
  end
58
66
  else
59
67
  begin
@@ -69,7 +77,14 @@ class Naver
69
77
  options.add_argument('--disable-gpu')
70
78
  options.add_argument('--remote-debugging-port=9222')
71
79
  options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
72
- @driver = Selenium::WebDriver.for(:chrome, options: options)
80
+ # 'capabilities'과 'options' 배열로 설정
81
+ capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
82
+ capabilities["goog:chromeOptions"] = options.as_json
83
+
84
+ # Selenium 4에서는 'capabilities'만 사용하는 방식
85
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
86
+
87
+ @driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: function(){ return false; }});") # 셀레니움 감지 방지
73
88
  rescue => e
74
89
  puts e
75
90
  puts 'proxy error...'
@@ -85,9 +100,16 @@ class Naver
85
100
  options.add_argument('--disable-gpu')
86
101
  options.add_argument('--remote-debugging-port=9222')
87
102
  options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
88
- @driver = Selenium::WebDriver.for(:chrome, options: options)
103
+ # 'capabilities'과 'options' 배열로 설정
104
+ capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
105
+ capabilities["goog:chromeOptions"] = options.as_json
106
+
107
+ # Selenium 4에서는 'capabilities'만 사용하는 방식
108
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
109
+
110
+ @driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: function(){ return false; }});") # 셀레니움 감지 방지
89
111
  rescue
90
- @driver = Selenium::WebDriver.for(:chrome, options: options)
112
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
91
113
  end
92
114
  end
93
115
  end
@@ -95,6 +117,7 @@ class Naver
95
117
 
96
118
 
97
119
 
120
+
98
121
  def login(user_id, user_pw, proxy)
99
122
  @user_id = user_id
100
123
  @user_id11 = user_id
@@ -484,56 +507,43 @@ end
484
507
 
485
508
  # ADB 서버 초기화
486
509
  puts 'adb kill-server'
487
- Open3.capture3('adb kill-server')
488
- sleep(2)
510
+ Open3.capture3('./adb kill-server')
511
+ sleep(3)
489
512
 
490
513
  # 다시 ADB 서버 실행
491
514
  puts 'adb start-server'
492
- Open3.capture3('adb start-server')
493
- sleep(2)
515
+ Open3.capture3('./adb start-server')
516
+ sleep(3)
494
517
 
495
518
  # 데이터를 끄고 켜기
496
519
  puts 'adb -s ' + device_id + ' shell svc data disable'
497
- stdout2, stderr2, status2 = Open3.capture3('./adb -s ' + device_id + ' shell svc data disable')
498
-
499
- if status2.success?
500
- sleep(3)
501
- puts 'adb -s ' + device_id + ' shell svc data enable'
502
- Open3.capture3('./adb -s ' + device_id + ' shell svc data enable')
503
- sleep(3)
504
- puts 'adb ok'
505
- sleep(8)
506
-
507
- # IP 변경을 확인하는 람다 함수
508
- robot_ip = lambda do
509
- loop do # 무한 루프
510
- begin
511
- http = HTTP.get('https://www.findip.kr/')
512
- noko = Nokogiri::HTML(http.to_s)
513
- new_ip = noko.xpath('/html/body/header/h2').text.strip
514
-
515
- if new_ip != @my_ip
516
- @my_ip = new_ip
517
- puts "IP 변경됨: #{@my_ip}"
518
- break # IP가 변경되었으면 루프 종료
519
- else
520
- puts 'IP가 변경되지 않음. 재시도...'
521
- sleep(3) # 3초 후 재시도
522
- end
523
- rescue => e
524
- puts "IP 확인 중 오류 발생: #{e.message}. 재시도 중..."
525
- sleep(3) # 3초 후 재시도
526
- end
527
- end
520
+ stdout2, stderr2, status2 = Open3.capture3('./adb -s '+device_id+' shell svc data disable')
521
+ sleep(3)
522
+ puts 'adb -s ' + device_id + ' shell svc data enable'
523
+ Open3.capture3('./adb -s '+device_id+' shell svc data enable')
524
+ sleep(3)
525
+ puts 'adb ok'
526
+ sleep(8)
527
+
528
+ robot_ip = lambda do
529
+ http = HTTP.get('https://www.findip.kr/')
530
+ noko = Nokogiri::HTML(http.to_s)
531
+ if noko.xpath('/html/body/header/h2').text != @my_ip
532
+ @my_ip = noko.xpath('/html/body/header/h2').text
533
+ puts "IP 변경됨[ #{@my_ip} ]"
534
+ else
535
+ puts @my_ip
536
+ puts '제시도...'
537
+ sleep(3)
538
+ robot_ip[]
528
539
  end
529
- robot_ip[] # 최초 호출
530
- else
531
- puts 'Failed to disable data. Error: ' + stderr2
532
- end
540
+ end
541
+ robot_ip[]
542
+
533
543
  else
534
- puts 'adb error, unable to get devices. Error: ' + stderr
544
+ puts 'adb error pass'
535
545
  end
536
- end
546
+ end
537
547
 
538
548
  check_success = 1
539
549
  @data['table'][index][-1] = 0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: njongto_zon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.51
4
+ version: 0.0.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-07 00:00:00.000000000 Z
11
+ date: 2025-02-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com