nblog_duo 0.0.62 → 0.0.63

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/nblog_duo.rb +36 -6
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59db4cb299dbe341c050b8547c93a4a97dac58b01d9e551eea08cea8ca51ea39
4
- data.tar.gz: b829cc2acdf690cc0ac496a181e3a1518f230096e345583a7a9d8a10b51bdfa7
3
+ metadata.gz: 857e0fcb6a167f4547ed718eeff26da29c3506d4cc3e8b3e7291d60e6042b1a3
4
+ data.tar.gz: 2082ea5537919d1ca80dd0148ffc0b943ab4f34a7a4910f469833d13132da11c
5
5
  SHA512:
6
- metadata.gz: 80ed8f54e973786cacf836faaba1df2697560318b303ae3a37f71072274e53ede5fb5ca5a249cd91cc5d333e51dbcbb174215ca27c57d1c5d41c3d902c98d339
7
- data.tar.gz: 12893645f32e3c2ba7b893816b969c4a70c14893c164357139ee3b756806ad4b3a9425adf8f8670d812384bbb0cb96468952d524d276909a0c9b730c43db1c26
6
+ metadata.gz: 8407a60ca79af5af2c4dee652ca5e2037e1520a05a7cf0547aff0cd338e0ef40a9fc705373b26451a1b05ab77c7a8ef3857428dc0524ac8fd58bc5b925ec3f49
7
+ data.tar.gz: f2c7d5bd694791756aadc7dc992e2c084db5362c0212a709af5a3cfb91d2819df7a9eaf384ee5a060f6723eb8de9e2eb52f1431f06015576a39566e47b2966e2
data/lib/nblog_duo.rb CHANGED
@@ -230,9 +230,19 @@ class Naver
230
230
  options.add_argument('--disable-gpu')
231
231
  options.add_argument('--remote-debugging-port=9222')
232
232
  options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
233
- @driver = Selenium::WebDriver.for(:chrome, options: options)
234
- rescue
235
- @driver = Selenium::WebDriver.for(:chrome, options: options)
233
+ options.add_argument('--disable-blink-features=AutomationControlled') # JavaScript로 navigator.webdriver 숨기기
234
+
235
+ # 'capabilities'과 'options' 배열로 설정
236
+ capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
237
+ capabilities["goog:chromeOptions"] = options.as_json
238
+
239
+ # Selenium 4에서는 'capabilities'만 사용하는 방식
240
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
241
+
242
+ @driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: function(){ return false; }});") # 셀레니움 감지 방지
243
+
244
+ rescue => e
245
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
236
246
  end
237
247
  else
238
248
  begin
@@ -248,7 +258,17 @@ class Naver
248
258
  options.add_argument('--disable-gpu')
249
259
  options.add_argument('--remote-debugging-port=9222')
250
260
  options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
251
- @driver = Selenium::WebDriver.for(:chrome, options: options)
261
+
262
+ options.add_argument('--disable-blink-features=AutomationControlled') # JavaScript로 navigator.webdriver 숨기기
263
+
264
+ # 'capabilities'과 'options' 배열로 설정
265
+ capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
266
+ capabilities["goog:chromeOptions"] = options.as_json
267
+
268
+ # Selenium 4에서는 'capabilities'만 사용하는 방식
269
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
270
+
271
+ @driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: function(){ return false; }});") # 셀레니움 감지 방지
252
272
  rescue => e
253
273
  puts e
254
274
  puts 'proxy error...'
@@ -264,9 +284,18 @@ class Naver
264
284
  options.add_argument('--disable-gpu')
265
285
  options.add_argument('--remote-debugging-port=9222')
266
286
  options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
267
- @driver = Selenium::WebDriver.for(:chrome, options: options)
287
+ options.add_argument('--disable-blink-features=AutomationControlled') # JavaScript로 navigator.webdriver 숨기기
288
+
289
+ # 'capabilities'과 'options' 배열로 설정
290
+ capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
291
+ capabilities["goog:chromeOptions"] = options.as_json
292
+
293
+ # Selenium 4에서는 'capabilities'만 사용하는 방식
294
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
295
+
296
+ @driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: function(){ return false; }});") # 셀레니움 감지 방지
268
297
  rescue
269
- @driver = Selenium::WebDriver.for(:chrome, options: options)
298
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
270
299
  end
271
300
  end
272
301
  end
@@ -274,6 +303,7 @@ class Naver
274
303
 
275
304
 
276
305
 
306
+
277
307
  def login(user_id, user_pw, proxy)
278
308
  @user_id = user_id
279
309
  @user_id11 = user_id
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nblog_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.62
4
+ version: 0.0.63
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-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com