all files
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,2 +1,2 @@
|
||||
./downloads
|
||||
./node_modules
|
||||
downloads
|
||||
node_modules
|
||||
18
.vscode/launch.json
vendored
Normal file
18
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
|
||||
// 기존 특성에 대한 설명을 보려면 가리킵니다.
|
||||
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "프로그램 시작",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"program": "${file}"
|
||||
}
|
||||
]
|
||||
}
|
||||
540
everlogin.json
Normal file
540
everlogin.json
Normal file
@@ -0,0 +1,540 @@
|
||||
{
|
||||
"cookies": [
|
||||
{
|
||||
"name": "YSC",
|
||||
"value": "SoLyLVQqWh0",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": -1,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "VISITOR_INFO1_LIVE",
|
||||
"value": "Yt7NAsrM7WY",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1772013745.097248,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "VISITOR_PRIVACY_METADATA",
|
||||
"value": "CgJLUhIEGgAgaA%3D%3D",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1772013745.097427,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "OTZ",
|
||||
"value": "8235962_20_20__20_",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1759053690,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "NID",
|
||||
"value": "525=c77p5rMCKpZpK-lRczvsP0O7mWcn11XqG2IkZSDDOIiHampZ8XN3LHMwAExrudakTRMb9qK_MzK7oXva0coNq5KS4HyyvaPreH88Yj9U9S2RhaOcpibBnXBk1qqjy7dzYwATFQgWr5tymBLf6aEKTqC3Hc1bsDamyi-1LuvzJ4eC31k9QDc6fxs4MW683ceBCIVFbydkpgCy5KMrCTVZly0alLrNttvy5UsQ9nS5HlxO7KIoX_LMHLxYlWSZ7LBURqJ-E6ojIIAznFDAiOrj55YCRpTupGSnCneIbIVe5mOq8CLZiLdFjxGiQFXsf0McSpspkoqg7VvqIY4NAseyVLY3pK5KrXQXdsQLTLNqrGfs_8CULFfnpNzLGZPTqw0GRkMP8FTOX6OjUKg5BTDuVhJSvTTqq8a-DiK30pAaJkEwck_IfBKNrCiJlTOD47FS84jEtGfHqzPPq_v9JnincjyyjFgYCyExnAgKX3zntocn7egn3VlQcYENWrp63znbl86mD9MD5H31pLpgd7-GPh8F38sMN0gVx41Jt5mwSyUGuS54MV9azj2-zLOaz5xUX92r4cU5AcUBjeytYCDOuLVlbQMJJOQ_VMD9pb2Hanegm916ivNQihX5gNyur3UjC99Ttb-Sgi87g-hbaQ",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1772272890.148944,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgph3zzza1N12w1DaKWvsf15gwACgYKAYISARASFQHGX2MiH6Sk3xSSnRee_PJnGYLj8hoVAUF8yKppY931rQU6jPDD9hhHk42d0076",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149031,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgphER3yjvgRYRTknphnKewNLgACgYKAVcSARASFQHGX2MiMZdMKXIePglT17fwJmLVihoVAUF8yKqhvN2HJDp_L7-HNkQLrDmf0076",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149087,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgphMlymBwnbbRlMkbORx4z8MQACgYKAbUSARASFQHGX2MiQKVesqsgHy4eHxL-OR7BgRoVAUF8yKpOgg6OQHgzZV4Qpa7hC0hg0076",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149128,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "HSID",
|
||||
"value": "Ahb8mLa4WobvWmAAj",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149327,
|
||||
"httpOnly": true,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SSID",
|
||||
"value": "AdVbZATUhp5ogskXE",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149366,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "APISID",
|
||||
"value": "zGwlwp6_0opojmt1/AXZ6m5MWQ7TWQDjqa",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149387,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149405,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149441,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149458,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "__Host-GAPS",
|
||||
"value": "1:odOgTzZ6-qPKacvF074yQhojUvqmVOywkdkDIfWMtyJvQYqTZuw0h8jnloQU2kfkScvpu5dADJ6UVdv3_QUgnPc3q5hwPw:xkXGw0cbxA6_iCIJ",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149493,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SMSV",
|
||||
"value": "ADHTe-DPKMPWGpahBcEyEsoTraLK2FbFfAkgzwRKznhFiDN8PVbFATUPBoz59OSSDbqw72F5Yn4QsdaCIv9DAZ_O1T0Rhhc4VFNVfn2O69ETDlxZSxmJm24",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.149515,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "ACCOUNT_CHOOSER",
|
||||
"value": "AFx_qI4ud8eCAi5R97SRwILApjOheS11zBfXk3iK4AWOigBrJzgzHHCF3X_EMQ115KVsreYGlpiEgECUt-XZs0CF6xG3pgsawxd0bzojhy1Pbi5tuavIb7wHo02eRm131NIPfezlnRlB",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021734.302116,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "OTZ",
|
||||
"value": "8235962_20_20__20_",
|
||||
"domain": "gds.google.com",
|
||||
"path": "/",
|
||||
"expires": 1759053736,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "LSID",
|
||||
"value": "s.KR|s.youtube:g.a0000wiGXuTfUhrszcquojp2tBXms542sLQTIcdKY-rYgcUxecTOmPa4dmAzwoDOJF03bgxuGAACgYKAX4SARASFQHGX2MiKOcK7a7qBUyMlD1XyPs7cxoVAUF8yKraLin7jkbQ-DOjgzYdw7tQ0076",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021743.828325,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Host-1PLSID",
|
||||
"value": "s.KR|s.youtube:g.a0000wiGXuTfUhrszcquojp2tBXms542sLQTIcdKY-rYgcUxecTOc8zH3DjKFfMuaC5LR606zgACgYKATASARASFQHGX2MiVY1gGoXeV7jH2gxkX-kUSRoVAUF8yKqX42oKMfAbaqKmAlYwNAfd0076",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021743.82838,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Host-3PLSID",
|
||||
"value": "s.KR|s.youtube:g.a0000wiGXuTfUhrszcquojp2tBXms542sLQTIcdKY-rYgcUxecTO0x4fjQBFldXa9NpwIvH7kwACgYKAbISARASFQHGX2MiNv5RdiMkdcybpyud09WaGBoVAUF8yKr0Xa9asRn8U-Fu6WQaAI5D0076",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1791021743.828402,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SIDCC",
|
||||
"value": "AKEyXzV8WJuPVhVBsy222hWpVJT1YsbcnBi038CpeWuwUG19Q2rOyZtpVIq6gyTBNTh1vpqR",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1787997743.82842,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSIDCC",
|
||||
"value": "AKEyXzU2aittHXySbaezuVYaTLjMMLXT5f0AKsfwtBClZYYWiLcoHogtU-T0CafxMf-bixIg",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1787997743.828438,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSIDTS",
|
||||
"value": "sidts-CjUB5H03P189T55R_SQ5eHSgXNRz2JaEeCOAVW-mFQyk9QTzmQunjJFaLXyIDJmLUkLqyoTPYhAA",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787997744.349839,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSIDTS",
|
||||
"value": "sidts-CjUB5H03P189T55R_SQ5eHSgXNRz2JaEeCOAVW-mFQyk9QTzmQunjJFaLXyIDJmLUkLqyoTPYhAA",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787997744.349979,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "HSID",
|
||||
"value": "AV0jI4ZTivCSfZQBO",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.35004,
|
||||
"httpOnly": true,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SSID",
|
||||
"value": "A1sqOvbPmy-hlvo_g",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.350108,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "APISID",
|
||||
"value": "zGwlwp6_0opojmt1/AXZ6m5MWQ7TWQDjqa",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.350202,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.350299,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.350339,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.350369,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgph3zzza1N12w1DaKWvsf15gwACgYKAYISARASFQHGX2MiH6Sk3xSSnRee_PJnGYLj8hoVAUF8yKppY931rQU6jPDD9hhHk42d0076",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.350399,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgphER3yjvgRYRTknphnKewNLgACgYKAVcSARASFQHGX2MiMZdMKXIePglT17fwJmLVihoVAUF8yKqhvN2HJDp_L7-HNkQLrDmf0076",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.35043,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgphMlymBwnbbRlMkbORx4z8MQACgYKAbUSARASFQHGX2MiQKVesqsgHy4eHxL-OR7BgRoVAUF8yKpOgg6OQHgzZV4Qpa7hC0hg0076",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.350459,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "HSID",
|
||||
"value": "AV0jI4ZTivCSfZQBO",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.707993,
|
||||
"httpOnly": true,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SSID",
|
||||
"value": "A1sqOvbPmy-hlvo_g",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.708058,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "APISID",
|
||||
"value": "zGwlwp6_0opojmt1/AXZ6m5MWQ7TWQDjqa",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.708087,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.708111,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.708164,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PAPISID",
|
||||
"value": "TM8JfVIqtJ14hk-M/Aqu5S_2gUbGNCXygB",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.708196,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "NID",
|
||||
"value": "525=mBsTIbxkGLvBaj6sIC47UgucSlUTNNupiGs3Z9UtaLOASpJEHluP5PKy3mNgF3HWl4ceeou3MZDkraKgx94R7I8my84pzm80c7BjGgIONz4A6OJYPh2w60eLfc4RR_NmfAhTidm_9GpUEUFFjcGdz_dqgkFdXaOluLSM8lwCWFUeEEA410r8qvHkopIHfoaUgQmpDIdIcU4h",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1772272944.708222,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgph3zzza1N12w1DaKWvsf15gwACgYKAYISARASFQHGX2MiH6Sk3xSSnRee_PJnGYLj8hoVAUF8yKppY931rQU6jPDD9hhHk42d0076",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.70825,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgphER3yjvgRYRTknphnKewNLgACgYKAVcSARASFQHGX2MiMZdMKXIePglT17fwJmLVihoVAUF8yKqhvN2HJDp_L7-HNkQLrDmf0076",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.708304,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSID",
|
||||
"value": "g.a0000wiGXo9BShFNNJ5CEkScDHAw9yQ9q3mAu2PO_EhHK1FgAgphMlymBwnbbRlMkbORx4z8MQACgYKAbUSARASFQHGX2MiQKVesqsgHy4eHxL-OR7BgRoVAUF8yKpOgg6OQHgzZV4Qpa7hC0hg0076",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1791021744.70835,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "LOGIN_INFO",
|
||||
"value": "AFmmF2swRQIgOIxwpXy4aN9YMHVGzb74vububtlMfIa6OA-6x8x2JigCIQDU7tk_zyWY3rMMYvyrSEqq974-ew4aywy8rIYqHvgfsw:QUQ3MjNmd0xHaDBRNlRsUXRNTVhpRlpQTHZrTVVvNVZBOTR5RWRJbFM1dGFoRGVLWlZSbjJRUElFZnl6WGpLeFk4QzR5X0tkVXZEc0stLVVUc3NhYUk5TkxzeENuSjRQSjNLSU5iMDV5WjdjS0d2b0pqdmlZWHdoMjE2Ql9FTjl2RDJrR1FoSktQako5c2RYRVFMRk9kRlpSZ2RnVi14dC1n",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1791021744.906615,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-ROLLOUT_TOKEN",
|
||||
"value": "CLKs_P69oYiQ0gEQk8ya2OGvjwMY8cjy8uGvjwM%3D",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1772013744.906735,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "SIDCC",
|
||||
"value": "AKEyXzXZQRWpKLd8k9cS3rTWJP4Cdq7My0oBF5A6xLNSWr7iOQm6AqV_zpQqzJu1aBjCrwdE",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787997749.909119,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSIDCC",
|
||||
"value": "AKEyXzXLRIVplx4l-12H6l7ENo-rUbihR3EJ_U4Wj-Yhy7QB_fWV9-MwLNl3xU1NPLqODO4y",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787997749.909153,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSIDCC",
|
||||
"value": "AKEyXzWxSgoUitaYjKL8BGQnhJFS2O_iu4PF6VqhsFcqMAMGZ03pihnjyjF79GcK7m_L8SvmeA",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787997749.909184,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSIDCC",
|
||||
"value": "AKEyXzVokd6aELk0J5t6MVN1-9qBJNOwikt-UAi2eHsRRjxHkLdGlbRkh_PgD5BrdTEC4Ong",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1787997776.889637,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
}
|
||||
],
|
||||
"origins": [
|
||||
{
|
||||
"origin": "https://studio.youtube.com",
|
||||
"localStorage": [
|
||||
{
|
||||
"name": "yt.innertube::nextId",
|
||||
"value": "{\"data\":3,\"expiration\":1756548150931,\"creation\":1756461750931}"
|
||||
},
|
||||
{
|
||||
"name": "yt.innertube::requests",
|
||||
"value": "{\"data\":{},\"expiration\":1756548158426,\"creation\":1756461758426}"
|
||||
},
|
||||
{
|
||||
"name": "ytidb::LAST_RESULT_ENTRY_KEY",
|
||||
"value": "{\"data\":{\"hasSucceededOnce\":true},\"expiration\":1759053746089,\"creation\":1756461746089}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"origin": "https://accounts.youtube.com",
|
||||
"localStorage": [
|
||||
{
|
||||
"name": "nextRotationAttemptTs",
|
||||
"value": "1756462347315"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
205
getviews.js
Normal file
205
getviews.js
Normal file
@@ -0,0 +1,205 @@
|
||||
import { createRequire } from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
import playwright from 'playwright-extra';
|
||||
const { chromium } = playwright;
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import AdmZip from 'adm-zip';
|
||||
import { parse } from 'csv-parse/sync';
|
||||
|
||||
// JSON 파일에서 세션 상태를 불러오기
|
||||
const loadSession = async (filePath) => {
|
||||
const jsonData = fs.readFileSync(filePath, 'utf-8');
|
||||
return JSON.parse(jsonData);
|
||||
};
|
||||
|
||||
// 디렉토리 없으면 생성
|
||||
function ensureDirExists(dirPath) {
|
||||
if (!fs.existsSync(dirPath)) {
|
||||
fs.mkdirSync(dirPath, { recursive: true });
|
||||
}
|
||||
}
|
||||
|
||||
// 체크박스를 원하는 상태(true)로 강건하게 맞춤
|
||||
async function ensureChecked(dlg, page, label) {
|
||||
const cb = dlg.getByRole('checkbox', { name: label, exact: true });
|
||||
await cb.scrollIntoViewIfNeeded();
|
||||
let state = await cb.getAttribute('aria-checked');
|
||||
if (state !== 'true') {
|
||||
await cb.click({ force: true });
|
||||
// 클릭 후 짧게 재확인
|
||||
for (let i = 0; i < 5; i++) {
|
||||
await page.waitForTimeout(100);
|
||||
state = await cb.getAttribute('aria-checked');
|
||||
if (state === 'true') break;
|
||||
}
|
||||
if (state !== 'true') throw new Error(`체크 실패: ${label}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 브라우저 생성
|
||||
async function createBrowser() {
|
||||
const optionsBrowser = {
|
||||
headless: false,
|
||||
args: [
|
||||
'--disable-blink-features=AutomationControlled',
|
||||
'--no-sandbox',
|
||||
'--disable-web-security',
|
||||
'--disable-infobars',
|
||||
'--disable-extensions',
|
||||
'--start-maximized',
|
||||
'--window-size=1280,720',
|
||||
],
|
||||
};
|
||||
return chromium.launch(optionsBrowser);
|
||||
}
|
||||
|
||||
// 컨텍스트 생성(다운로드 허용, 스토리지 상태 적용)
|
||||
async function createContext(browser, sessionState) {
|
||||
const optionsContext = {
|
||||
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
|
||||
locale: 'ko-KR',
|
||||
viewport: { width: 1280, height: 720 },
|
||||
deviceScaleFactor: 1,
|
||||
acceptDownloads: true,
|
||||
storageState: sessionState,
|
||||
extraHTTPHeaders: {
|
||||
'sec-ch-ua': '"Not;A=Brand";v="99", "Google Chrome";v="139", "Chromium";v="139"',
|
||||
'sec-ch-ua-arch': '"arm"',
|
||||
'sec-ch-ua-bitness': '"64"',
|
||||
'sec-ch-ua-form-factors': '"Desktop"',
|
||||
'sec-ch-ua-full-version': '"139.0.7258.154"',
|
||||
'sec-ch-ua-full-version-list': '"Not;A=Brand";v="99.0.0.0", "Google Chrome";v="139.0.7258.154", "Chromium";v="139.0.7258.154"',
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'sec-ch-ua-model': '""',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-ch-ua-platform-version': '"15.6.1"',
|
||||
'sec-ch-ua-wow64': '?0',
|
||||
}
|
||||
};
|
||||
return browser.newContext(optionsContext);
|
||||
}
|
||||
|
||||
// 스튜디오 접속 후 분석 → 고급 모드 진입
|
||||
async function openAnalyticsAdvanced(page) {
|
||||
await page.goto('https://studio.youtube.com/');
|
||||
await page.locator('ytcp-navigation-drawer').getByRole('button', { name: '분석', exact: true }).click();
|
||||
await page.getByRole('link', { name: '고급 모드', exact: true }).click();
|
||||
}
|
||||
|
||||
// 기간: 지난 7일 선택 → 사용자설정 → 종료일 = 시작일 설정 → 적용
|
||||
async function configureDateRangeSingleDay(page) {
|
||||
// 기간 드롭다운 열기 → 지난 7일 선택
|
||||
await page.locator('yta-time-picker #picker-trigger ytcp-dropdown-trigger[role="button"]').click();
|
||||
await page.locator('tp-yt-paper-item[test-id="week"]').click();
|
||||
|
||||
// 다시 열기 → 사용자설정 선택
|
||||
await page.locator('yta-time-picker #picker-trigger ytcp-dropdown-trigger[role="button"]').click();
|
||||
await page.locator('tp-yt-paper-item[test-id="fixed"]').click();
|
||||
|
||||
// 날짜 기간 다이얼로그에서 종료일 값을 시작일에 복사
|
||||
const caldlg = page.locator('tp-yt-paper-dialog:has(ytcp-date-period-picker)');
|
||||
await caldlg.waitFor({ state: 'visible' });
|
||||
const endInput = caldlg.locator('#end-date input');
|
||||
await endInput.waitFor({ state: 'visible' });
|
||||
const endVal = await endInput.inputValue();
|
||||
await caldlg.locator('#start-date input').fill(endVal);
|
||||
await caldlg.locator('#apply-button[aria-disabled="false"] button').click();
|
||||
return { startDate: endVal, endDate: endVal };
|
||||
}
|
||||
|
||||
// 측정항목에서 Premium 섹션 지정 → 필요한 항목 체크 → 적용
|
||||
async function configureMetrics(page) {
|
||||
await page.locator('yta-explore-column-picker-dropdown[title="측정항목"] ytcp-dropdown-trigger').click();
|
||||
const dlg = page.getByRole('dialog', { name: '측정항목' });
|
||||
await page.locator('h2.picker-text', { hasText: 'Premium' }).click();
|
||||
await dlg.getByRole('button', { name: '전체 선택 해제' }).click();
|
||||
await ensureChecked(dlg, page, '조회수');
|
||||
await ensureChecked(dlg, page, '유효 조회수');
|
||||
await ensureChecked(dlg, page, '시청 시간(단위: 시간)');
|
||||
await ensureChecked(dlg, page, 'YouTube Premium 조회수');
|
||||
await dlg.getByRole('button', { name: '적용' }).click();
|
||||
}
|
||||
|
||||
// 현재 화면 내보내기(CSV) → 다운로드 대기 → ZIP 저장 및 압축 해제
|
||||
async function exportCsvAndExtract(page, downloadDir) {
|
||||
ensureDirExists(downloadDir);
|
||||
const [download] = await Promise.all([
|
||||
page.waitForEvent('download'),
|
||||
(async () => {
|
||||
await page.locator('ytcp-icon-button#export-button, ytcp-icon-button[aria-label="현재 화면 내보내기"]').click();
|
||||
await page.locator('tp-yt-paper-item[test-id="CSV"]').click();
|
||||
})()
|
||||
]);
|
||||
const suggested = download.suggestedFilename();
|
||||
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
||||
const zipPath = path.join(downloadDir, `${timestamp}-${suggested || 'export.zip'}`);
|
||||
await download.saveAs(zipPath);
|
||||
const unzipDir = path.join(downloadDir, `${timestamp}-unzipped`);
|
||||
ensureDirExists(unzipDir);
|
||||
const zip = new AdmZip(zipPath);
|
||||
zip.extractAllTo(unzipDir, true);
|
||||
return { zipPath, unzipDir };
|
||||
}
|
||||
|
||||
// 압축 해제된 폴더에서 원하는 CSV 파일 선택
|
||||
function chooseCsvFile(unzipDir, preferredPattern = /표 데이터\.csv$/) {
|
||||
const files = fs.readdirSync(unzipDir).filter(f => f.toLowerCase().endsWith('.csv'));
|
||||
if (files.length === 0) throw new Error('압축 해제 폴더에 CSV가 없습니다.');
|
||||
const picked = preferredPattern ? (files.find(f => preferredPattern.test(f)) || files[0]) : files[0];
|
||||
return path.join(unzipDir, picked);
|
||||
}
|
||||
|
||||
// CSV → JSON 배열 파싱
|
||||
function parseCsvToJson(csvPath) {
|
||||
const csvContent = fs.readFileSync(csvPath, 'utf-8');
|
||||
return parse(csvContent, {
|
||||
columns: true,
|
||||
skip_empty_lines: true,
|
||||
bom: true,
|
||||
relax_column_count: true,
|
||||
trim: true,
|
||||
});
|
||||
}
|
||||
|
||||
// 메인 플로우
|
||||
async function main() {
|
||||
let browser;
|
||||
try {
|
||||
// 1) 브라우저/컨텍스트 준비
|
||||
browser = await createBrowser();
|
||||
const sessionData = await loadSession('everlogin.json');
|
||||
const context = await createContext(browser, sessionData);
|
||||
const page = await context.newPage();
|
||||
|
||||
// 2) 분석 고급 모드 진입 및 기간/측정항목 설정
|
||||
await openAnalyticsAdvanced(page);
|
||||
const { startDate, endDate } = await configureDateRangeSingleDay(page);
|
||||
await configureMetrics(page);
|
||||
|
||||
// 3) CSV 내보내기 → ZIP 저장/압축 해제 → CSV 선택
|
||||
const downloadDir = path.resolve(process.cwd(), 'downloads');
|
||||
const { unzipDir } = await exportCsvAndExtract(page, downloadDir);
|
||||
const csvPath = chooseCsvFile(unzipDir, /표 데이터\.csv$/);
|
||||
|
||||
// 4) CSV → JSON 파싱 후 출력
|
||||
const records = parseCsvToJson(csvPath);
|
||||
console.log(`설정된 기간: ${startDate} ~ ${endDate}`);
|
||||
const count = records.length;
|
||||
console.log(`레코드 개수: ${count}`);
|
||||
console.log(JSON.stringify(records, null, 2));
|
||||
|
||||
// (선택) 잠시 대기(디버깅용)
|
||||
const waitAfterMs = 5_000;
|
||||
await new Promise((r) => setTimeout(r, waitAfterMs));
|
||||
} finally {
|
||||
// 브라우저 종료 보장
|
||||
try { await browser?.close(); } catch {}
|
||||
}
|
||||
}
|
||||
|
||||
// 실행
|
||||
main().catch((err) => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
||||
54
googlelogin.js
Normal file
54
googlelogin.js
Normal file
@@ -0,0 +1,54 @@
|
||||
import { createRequire } from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
const UserAgent = require('user-agents');
|
||||
import playwright from 'playwright-extra';
|
||||
const { chromium } = playwright;
|
||||
|
||||
const optionsBrowser = {
|
||||
headless: false,
|
||||
args: [
|
||||
'--disable-blink-features=AutomationControlled',
|
||||
'--no-sandbox',
|
||||
'--disable-web-security',
|
||||
'--disable-infobars',
|
||||
'--disable-extensions',
|
||||
'--start-maximized',
|
||||
'--window-size=1280,720',
|
||||
],
|
||||
};
|
||||
const browser = await chromium.launch(optionsBrowser);
|
||||
|
||||
const optionsContext = {
|
||||
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
|
||||
locale: 'ko-KR',
|
||||
viewport: { width: 1280, height: 720 },
|
||||
deviceScaleFactor: 1,
|
||||
extraHTTPHeaders: {
|
||||
'sec-ch-ua': '"Not;A=Brand";v="99", "Google Chrome";v="139", "Chromium";v="139"',
|
||||
'sec-ch-ua-arch': '"arm"',
|
||||
'sec-ch-ua-bitness': '"64"',
|
||||
'sec-ch-ua-form-factors': '"Desktop"',
|
||||
'sec-ch-ua-full-version': '"139.0.7258.154"',
|
||||
'sec-ch-ua-full-version-list': '"Not;A=Brand";v="99.0.0.0", "Google Chrome";v="139.0.7258.154", "Chromium";v="139.0.7258.154"',
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'sec-ch-ua-model': '""',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-ch-ua-platform-version': '"15.6.1"',
|
||||
'sec-ch-ua-wow64': '?0',
|
||||
},
|
||||
};
|
||||
|
||||
const context = await browser.newContext(optionsContext);
|
||||
const page = await context.newPage();
|
||||
await page.goto('https://studio.youtube.com/');
|
||||
|
||||
// Give 90 seconds to complete the manual login.
|
||||
const waitTime = 90_000;
|
||||
console.log(`You have ${waitTime / 1000} seconds to complete the manual login...`);
|
||||
await page.waitForTimeout(waitTime);
|
||||
|
||||
// Save the session
|
||||
await page.context().storageState({ path: 'myGoogleAuth.json' });
|
||||
console.log('Session saved in myGoogleAuth.json');
|
||||
|
||||
await browser.close();
|
||||
205
loginwithjson.js
Normal file
205
loginwithjson.js
Normal file
@@ -0,0 +1,205 @@
|
||||
import { createRequire } from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
import playwright from 'playwright-extra';
|
||||
const { chromium } = playwright;
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import AdmZip from 'adm-zip';
|
||||
import { parse } from 'csv-parse/sync';
|
||||
|
||||
// JSON 파일에서 세션 상태를 불러오기
|
||||
const loadSession = async (filePath) => {
|
||||
const jsonData = fs.readFileSync(filePath, 'utf-8');
|
||||
return JSON.parse(jsonData);
|
||||
};
|
||||
|
||||
function ensureDirExists(dirPath) {
|
||||
if (!fs.existsSync(dirPath)) {
|
||||
fs.mkdirSync(dirPath, { recursive: true });
|
||||
}
|
||||
}
|
||||
|
||||
async function ensureChecked(dlg,page, label) {
|
||||
const cb = dlg.getByRole('checkbox', { name: label, exact: true });
|
||||
await cb.scrollIntoViewIfNeeded();
|
||||
|
||||
let state = await cb.getAttribute('aria-checked');
|
||||
if (state !== 'true') {
|
||||
await cb.click({ force: true });
|
||||
// 재확인 루프
|
||||
for (let i = 0; i < 5; i++) {
|
||||
await page.waitForTimeout(100);
|
||||
state = await cb.getAttribute('aria-checked');
|
||||
if (state === 'true') break;
|
||||
}
|
||||
if (state !== 'true') throw new Error(`체크 실패: ${label}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const loginWithJson = async () => {
|
||||
const optionsBrowser = {
|
||||
headless: false,
|
||||
args: [
|
||||
'--disable-blink-features=AutomationControlled',
|
||||
'--no-sandbox',
|
||||
'--disable-web-security',
|
||||
'--disable-infobars',
|
||||
'--disable-extensions',
|
||||
'--start-maximized',
|
||||
'--window-size=1280,720',
|
||||
],
|
||||
};
|
||||
|
||||
const browser = await chromium.launch(optionsBrowser);
|
||||
|
||||
const sessionData = await loadSession('everlogin.json');
|
||||
|
||||
const optionsContext = {
|
||||
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
|
||||
locale: 'ko-KR',
|
||||
viewport: { width: 1280, height: 720 },
|
||||
deviceScaleFactor: 1,
|
||||
acceptDownloads: true,
|
||||
storageState: sessionData,
|
||||
extraHTTPHeaders: {
|
||||
'sec-ch-ua': '"Not;A=Brand";v="99", "Google Chrome";v="139", "Chromium";v="139"',
|
||||
'sec-ch-ua-arch': '"arm"',
|
||||
'sec-ch-ua-bitness': '"64"',
|
||||
'sec-ch-ua-form-factors': '"Desktop"',
|
||||
'sec-ch-ua-full-version': '"139.0.7258.154"',
|
||||
'sec-ch-ua-full-version-list': '"Not;A=Brand";v="99.0.0.0", "Google Chrome";v="139.0.7258.154", "Chromium";v="139.0.7258.154"',
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'sec-ch-ua-model': '""',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-ch-ua-platform-version': '"15.6.1"',
|
||||
'sec-ch-ua-wow64': '?0',
|
||||
}
|
||||
};
|
||||
|
||||
const context = await browser.newContext(optionsContext);
|
||||
const page = await context.newPage();
|
||||
|
||||
await page.goto('https://studio.youtube.com/');
|
||||
|
||||
await page.locator('ytcp-navigation-drawer').getByRole('button', { name: '분석', exact: true }).click();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
await page.getByRole('link', { name: '고급 모드', exact: true }).click();
|
||||
|
||||
|
||||
//await page.locator('yta-explore-date-picker-dropdown ytcp-dropdown-trigger[role="button"]').click();
|
||||
|
||||
// 1) id=picker-trigger 컨테이너 내의 드롭다운 버튼
|
||||
await page.locator('yta-time-picker #picker-trigger ytcp-dropdown-trigger[role="button"]').click();
|
||||
|
||||
await page.locator('tp-yt-paper-item[test-id="week"]').click();
|
||||
|
||||
await page.locator('yta-time-picker #picker-trigger ytcp-dropdown-trigger[role="button"]').click();
|
||||
|
||||
await page.locator('tp-yt-paper-item[test-id="fixed"]').click();
|
||||
|
||||
const caldlg = page.locator('tp-yt-paper-dialog:has(ytcp-date-period-picker)');
|
||||
await caldlg.waitFor({ state: 'visible' });
|
||||
|
||||
// 끝날 값 읽기
|
||||
const endInput = caldlg.locator('#end-date input');
|
||||
await endInput.waitFor({ state: 'visible' });
|
||||
const endVal = await endInput.inputValue();
|
||||
|
||||
// 시작날을 끝날과 동일하게 설정
|
||||
const startInput = caldlg.locator('#start-date input');
|
||||
await startInput.fill(endVal);
|
||||
|
||||
// 적용 클릭 (활성 버튼만)
|
||||
await caldlg.locator('#apply-button[aria-disabled="false"] button').click();
|
||||
|
||||
|
||||
|
||||
|
||||
// title="측정항목" 이 붙은 드롭다운 버튼
|
||||
await page.locator('yta-explore-column-picker-dropdown[title="측정항목"] ytcp-dropdown-trigger').click();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const dlg = page.getByRole('dialog', { name: '측정항목' });
|
||||
|
||||
|
||||
await page.locator('h2.picker-text', { hasText: 'Premium' }).click();
|
||||
|
||||
|
||||
// 1) 전체 선택 해제
|
||||
await dlg.getByRole('button', { name: '전체 선택 해제' }).click();
|
||||
// 3) 필요한 항목들 체크
|
||||
await ensureChecked(dlg,page, '조회수'); // id=EXTERNAL_VIEWS
|
||||
await ensureChecked(dlg,page, '유효 조회수'); // id=ENGAGED_VIEWS
|
||||
await ensureChecked(dlg,page,'시청 시간(단위: 시간)'); // id=EXTERNAL_WATCH_TIME
|
||||
await ensureChecked(dlg,page,'YouTube Premium 조회수'); // id=EXTERNAL_YOUTUBE_RED_VIEWS
|
||||
|
||||
// 4) 적용
|
||||
await dlg.getByRole('button', { name: '적용' }).click();
|
||||
|
||||
const downloadDir = path.resolve(process.cwd(), 'downloads');
|
||||
ensureDirExists(downloadDir);
|
||||
|
||||
const [download] = await Promise.all([
|
||||
page.waitForEvent('download'),
|
||||
(async () => {
|
||||
await page.locator('ytcp-icon-button#export-button, ytcp-icon-button[aria-label="현재 화면 내보내기"]').click();
|
||||
await page.locator('tp-yt-paper-item[test-id="CSV"]').click();
|
||||
})()
|
||||
]);
|
||||
|
||||
const suggested = download.suggestedFilename();
|
||||
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
||||
const zipPath = path.join(downloadDir, `${timestamp}-${suggested || 'export.zip'}`);
|
||||
await download.saveAs(zipPath);
|
||||
console.log(`ZIP 저장: ${zipPath}`);
|
||||
|
||||
const unzipDir = path.join(downloadDir, `${timestamp}-unzipped`);
|
||||
ensureDirExists(unzipDir);
|
||||
const zip = new AdmZip(zipPath);
|
||||
zip.extractAllTo(unzipDir, true);
|
||||
console.log(`압축 해제: ${unzipDir}`);
|
||||
|
||||
const files = fs.readdirSync(unzipDir).filter(f => f.toLowerCase().endsWith('.csv'));
|
||||
if (files.length === 0) {
|
||||
throw new Error('압축 해제 폴더에 CSV가 없습니다.');
|
||||
}
|
||||
const targetCsvPattern = /표 데이터\.csv$/; // '표 데이터.csv' 우선 선택
|
||||
const targetFile = targetCsvPattern ? (files.find(f => targetCsvPattern.test(f)) || files[0]) : files[0];
|
||||
const targetPath = path.join(unzipDir, targetFile);
|
||||
console.log(`선택된 CSV: ${targetPath}`);
|
||||
|
||||
const csvContent = fs.readFileSync(targetPath, 'utf-8');
|
||||
const records = parse(csvContent, {
|
||||
columns: true,
|
||||
skip_empty_lines: true,
|
||||
bom: true,
|
||||
relax_column_count: true,
|
||||
trim: true,
|
||||
});
|
||||
console.log(JSON.stringify(records, null, 2));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const waitAfterLoginMs = 60_000;
|
||||
console.log(`로그인 후 ${waitAfterLoginMs / 1000}초 대기합니다...`);
|
||||
await new Promise((resolve) => setTimeout(resolve, waitAfterLoginMs));
|
||||
|
||||
|
||||
try {
|
||||
await browser.close();
|
||||
} catch (e) {
|
||||
console.log('브라우저가 이미 종료되어 close를 건너뜁니다.');
|
||||
}
|
||||
};
|
||||
|
||||
loginWithJson();
|
||||
565
myGoogleAuth.json
Normal file
565
myGoogleAuth.json
Normal file
@@ -0,0 +1,565 @@
|
||||
{
|
||||
"cookies": [
|
||||
{
|
||||
"name": "YSC",
|
||||
"value": "ftxKgo1cWFU",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": -1,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "VISITOR_INFO1_LIVE",
|
||||
"value": "xhgGDLUtJok",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1771986061.546455,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "VISITOR_PRIVACY_METADATA",
|
||||
"value": "CgJLUhIEGgAgFQ%3D%3D",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1771986061.546499,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "OTZ",
|
||||
"value": "8235501_20_20__20_",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1759026036,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "NID",
|
||||
"value": "525=YSttRNqf-TLqiVqNuAvysDWylFR_IpIl4ZNBdM4hGeTKBW0p9wvM_WU5cYtAa_GcRRVRvea42edFmr-FSyi83HcEvK0rcunLP4Yt_Xukk2snAItrZD6oo3r6BNn23d_4cH_Npc6abOGrxRzKTSx5vFBJrK_7RHsDUq_Lk3f53NBVEzLtrcj4Xrh9WYwa1xFPaGzzuBOIESbo540sAHEVM6OmrZPZuGm21S615p9EAxb8ZdRiZ_w_7PwgxSaoFI7OP4Jeajr1-CQiH2ApLFsHrOK3ywgm0XAxtYja4sg8tkLjIsj5FDzU7rU2YbeUFi9jka6DyRR439_A1WMTXKl4bNUmNAqHqh1NLbIkEp3qTbf5E7juxqcAsVApZji1seAvqO4bIogkpil62XLAuyCwT2mTkyLvysxnPp-iPI7AaY_Y8-yHRViEVHVV-OK4uQtag8WGlWa8U9g5idHUvh2FoT6wiLO77ogWgCR_FaEXrxOpIdLopIQrB-RVEzPcuYPPcZ7_jSwpfwAxFxIpRKiklkDwy0T0cqukpGeCeKOzk0dZfreCUe0k-uUyc6H6K3UebYttCgN2K3Dkeb1h0v5FQZoJi5TbsUuLHhpQnxSdUiTqGpNUJoy_u77Fb8Q3cjxHsC7OFcOZa7vQUJtcbg",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1772245237.804182,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHMra2upzkBWrgLCbxNkCJ2wACgYKAfISARASFQHGX2MiXnyPVaJMeaJoIpNWXxsMzxoVAUF8yKodK3sh0cuxY5W4gRhqVcJf0076",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804323,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHVD2-mIm5843QUZKAbnI7sgACgYKAQgSARASFQHGX2Mic_7wQaSpR4ZBUkk8Ybb2AxoVAUF8yKrbGYXkiWGvO2wr3X3xuA-r0076",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804367,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHZuCd4CixSthtuKuAXOsUVQACgYKAZoSARASFQHGX2MiNH_SQYm0tnw9-nk9pVqwzBoVAUF8yKoG5dlwgsJrLbcSi1ozFSmb0076",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804405,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "HSID",
|
||||
"value": "AYmaxlVPz9jwEJbxv",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804566,
|
||||
"httpOnly": true,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SSID",
|
||||
"value": "AGiwQ27NwSAKwfmS6",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804597,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "APISID",
|
||||
"value": "GlZbGm0LjhjGWtDd/Abv_oJBPb7MDZUQbU",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804626,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804654,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804682,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.80471,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "__Host-GAPS",
|
||||
"value": "1:6_PCE2-nNKTPCAA5hNPTU7RD4TLdP9KGrNg54lcnD3q4PDv5KPnqkazzSDCbFLvlrhupNv3LKzesww6yF3h44EH-Qs8Xug:i1MEVwc1IhIefFfB",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804766,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SMSV",
|
||||
"value": "ADHTe-A6NUyi1lAX0k9MAhT2Q47KMzNJTy7-6wDylWC4Polm8nEzgmMj9vUXFP909UXMUr_hgI7W98DHJtF6sk4JavSGJyXCt56RW3iJLkjmIN6WWkqffvU",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.804805,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "LSID",
|
||||
"value": "s.KR|s.youtube:g.a0000whTLpWeKGB56ax3moXN8Pa7aiYI5dOBD6HzdISikHs1RcSIt1gLPDur4EUp_V8Bc_yE7QACgYKAZ8SARASFQHGX2MiuVs9L3NnBbUq7dV32vIeUxoVAUF8yKqvY4N-Sv-GB8rgjxxf3cCZ0076",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.965168,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Host-1PLSID",
|
||||
"value": "s.KR|s.youtube:g.a0000whTLpWeKGB56ax3moXN8Pa7aiYI5dOBD6HzdISikHs1RcSIJOi1k5iBkvTlKkgB0_wnkAACgYKAaYSARASFQHGX2MiwHU31QYCpQ0W5cW2kO4LdBoVAUF8yKqZ6sTOFlivpTSK3duG1mzZ0076",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.965234,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Host-3PLSID",
|
||||
"value": "s.KR|s.youtube:g.a0000whTLpWeKGB56ax3moXN8Pa7aiYI5dOBD6HzdISikHs1RcSIfsYdBkMRNGzoBDwT88OMCgACgYKARESARASFQHGX2Mi8o_yU7kpYcA9IvMmaEfl8BoVAUF8yKrVXBW6d0wdPSQRKsDGZb0V0076",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.965266,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "ACCOUNT_CHOOSER",
|
||||
"value": "AFx_qI4Ja7clXb-fV4Ma1tM4UY0dH9kFUPMtxf9XcpAzjY3aux2pUrXiM9BleuJX_QVvU8wS5kLwr5GxQ2lY7bIL6C-LSisbq78DYPiajj13enBVJ3oEYOxvh3zDvGTppdfMxpi088EI",
|
||||
"domain": "accounts.google.com",
|
||||
"path": "/",
|
||||
"expires": 1790994055.965292,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSIDTS",
|
||||
"value": "sidts-CjUB5H03P1Pn8VpAy3ro_APMZJHc0LhciAlkEJXTKUd1kB87IGVzpJwsGLd0lcj2VGX4dOD8ZxAA",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787970056.4564,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSIDTS",
|
||||
"value": "sidts-CjUB5H03P1Pn8VpAy3ro_APMZJHc0LhciAlkEJXTKUd1kB87IGVzpJwsGLd0lcj2VGX4dOD8ZxAA",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787970056.456561,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "HSID",
|
||||
"value": "AurrvO13XAKmNJSW-",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456617,
|
||||
"httpOnly": true,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SSID",
|
||||
"value": "Ae7fMBW6j1MGn-k1X",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456681,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "APISID",
|
||||
"value": "GlZbGm0LjhjGWtDd/Abv_oJBPb7MDZUQbU",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456718,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456749,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456778,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456804,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHMra2upzkBWrgLCbxNkCJ2wACgYKAfISARASFQHGX2MiXnyPVaJMeaJoIpNWXxsMzxoVAUF8yKodK3sh0cuxY5W4gRhqVcJf0076",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456829,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHVD2-mIm5843QUZKAbnI7sgACgYKAQgSARASFQHGX2Mic_7wQaSpR4ZBUkk8Ybb2AxoVAUF8yKrbGYXkiWGvO2wr3X3xuA-r0076",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456859,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHZuCd4CixSthtuKuAXOsUVQACgYKAZoSARASFQHGX2MiNH_SQYm0tnw9-nk9pVqwzBoVAUF8yKoG5dlwgsJrLbcSi1ozFSmb0076",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994056.456891,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "HSID",
|
||||
"value": "AurrvO13XAKmNJSW-",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.783843,
|
||||
"httpOnly": true,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SSID",
|
||||
"value": "Ae7fMBW6j1MGn-k1X",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.783933,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "APISID",
|
||||
"value": "GlZbGm0LjhjGWtDd/Abv_oJBPb7MDZUQbU",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.78397,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "SAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.783997,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.784021,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PAPISID",
|
||||
"value": "WeeOpW31BwVaFEs5/A4HgbfM4YVHmPd5Qg",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.784048,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "NID",
|
||||
"value": "525=dbk_ISlyLSBd1KRfiQMQdsxYppVs_ETdNdVWbbt5Xrm9Hhfm461TKA22AgfXN3NRHnQa6-6XZxFNsQxwa2vQUawia4ami_IRXha5hBednY_j1gZ4tRL6AfOu5d19iSl9yX61lReogsqFx2rS-fSQwAXFZZMHv167xBeu1aTbsDB2NwYcYotoLiYCyeFSsYgc7xrjPnzZGSc",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1772245256.784072,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHMra2upzkBWrgLCbxNkCJ2wACgYKAfISARASFQHGX2MiXnyPVaJMeaJoIpNWXxsMzxoVAUF8yKodK3sh0cuxY5W4gRhqVcJf0076",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.784099,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHVD2-mIm5843QUZKAbnI7sgACgYKAQgSARASFQHGX2Mic_7wQaSpR4ZBUkk8Ybb2AxoVAUF8yKrbGYXkiWGvO2wr3X3xuA-r0076",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.784123,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSID",
|
||||
"value": "g.a0000whTLosUXi_kcHeXL7mZEYEi2p_3UYLthjCsZHvhnPGX5jzHZuCd4CixSthtuKuAXOsUVQACgYKAZoSARASFQHGX2MiNH_SQYm0tnw9-nk9pVqwzBoVAUF8yKoG5dlwgsJrLbcSi1ozFSmb0076",
|
||||
"domain": ".google.co.kr",
|
||||
"path": "/",
|
||||
"expires": 1790994056.784149,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-ROLLOUT_TOKEN",
|
||||
"value": "CKfC_ovRyvvbtgEQqqfa1vqujwMY7bmn4fqujwM%3D",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1771986056.996316,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None",
|
||||
"partitionKey": "https://youtube.com",
|
||||
"_crHasCrossSiteAncestor": false
|
||||
},
|
||||
{
|
||||
"name": "SIDCC",
|
||||
"value": "AKEyXzWA7N6nwTkEGaOJcqrdPbaj7EIbiGDmOAVz7OEXYuADB6iCyVhDfXRbvmY4JRUghgUr",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1787970057.443462,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSIDCC",
|
||||
"value": "AKEyXzUixRFARe-o8jOsemqPWp4NtBfhLpfvGvB1QB693SQ1-m3WRrq28t7a1T-LeAavTd86rg",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1787970057.443511,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "PREF",
|
||||
"value": "f6=80&tz=Asia.Seoul",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994058.211911,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "LOGIN_INFO",
|
||||
"value": "AFmmF2swRQIgZvlVKbKEfMBjmhAW31tAALAZOHvCJ5VrKzXZCV8URQgCIQDfpSU__KP0ZIG8P2TpaqOLdjiZnJCwFQL4MhhNVDvQSw:QUQ3MjNmd3dNR2trazdjWDE3bmk3bDByS1JkcThTeTVoOVNKcDFERXEzZzZaNmcxYzNOeXM0MzJJV3ZCR3NXM1B1NjNrYWU1SUg2LXQ3TTJNMHpDbmN1N3Vfdi1iN2ViNGxSZFdWMjg4cHJOa0RrV080RmF3Z0QwYVVrVFFmbVVKSWJJeE1xNVZwNlNFNlFqQ1VjWWJBMkd4WENlRE81VHZB",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1790994061.373839,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "SIDCC",
|
||||
"value": "AKEyXzWwK8VeMukZCZE9b_P4T6K0sZzsvl55RJCneLJgZIKhIFwvX_4xxxdKXYGEVgy8yAUE",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787970066.201741,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-1PSIDCC",
|
||||
"value": "AKEyXzUP5XFRLX5qbMNH8b3WkY6USSNVz5-tu046PP_cY-CI_47utT_HHt1mI_yKOY76X8cZ3A",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787970066.201764,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSIDCC",
|
||||
"value": "AKEyXzXV2wkVIjA25WomrpAUAe72IH8x6S3zsB2bEzGQJ4KREHx6hutNWmUsDSuKOEx8uuA1",
|
||||
"domain": ".youtube.com",
|
||||
"path": "/",
|
||||
"expires": 1787970066.201781,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "__Secure-3PSIDCC",
|
||||
"value": "AKEyXzVNDiJsrqP2irs9C0OmHDjJZMoqNAKpUeHRw8Yc6vw2dimnhHTNvcOKkkXDB9E2RVsd",
|
||||
"domain": ".google.com",
|
||||
"path": "/",
|
||||
"expires": 1787970096.151483,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
}
|
||||
],
|
||||
"origins": [
|
||||
{
|
||||
"origin": "https://studio.youtube.com",
|
||||
"localStorage": [
|
||||
{
|
||||
"name": "yt.innertube::nextId",
|
||||
"value": "{\"data\":3,\"expiration\":1756520467641,\"creation\":1756434067641}"
|
||||
},
|
||||
{
|
||||
"name": "yt.innertube::requests",
|
||||
"value": "{\"data\":{},\"expiration\":1756520497852,\"creation\":1756434097852}"
|
||||
},
|
||||
{
|
||||
"name": "ytidb::LAST_RESULT_ENTRY_KEY",
|
||||
"value": "{\"data\":{\"hasSucceededOnce\":true},\"expiration\":1759026062850,\"creation\":1756434062850}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"origin": "https://accounts.youtube.com",
|
||||
"localStorage": [
|
||||
{
|
||||
"name": "nextRotationAttemptTs",
|
||||
"value": "1756434659420"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"origin": "https://www.youtube.com",
|
||||
"localStorage": [
|
||||
{
|
||||
"name": "yt-remote-connected-devices",
|
||||
"value": "{\"data\":\"[]\",\"expiration\":1756520458678,\"creation\":1756434058678}"
|
||||
},
|
||||
{
|
||||
"name": "109854223700692368539||::yt-player::yt-player-lv",
|
||||
"value": "{\"data\":\"{}\",\"creation\":1756434058692}"
|
||||
},
|
||||
{
|
||||
"name": "ytidb::LAST_RESULT_ENTRY_KEY",
|
||||
"value": "{\"data\":{\"hasSucceededOnce\":true},\"expiration\":1759026128766,\"creation\":1756434128766}"
|
||||
},
|
||||
{
|
||||
"name": "yt-remote-device-id",
|
||||
"value": "{\"data\":\"485da783-c4f5-479d-bd80-0594f611d4a9\",\"expiration\":1787970058677,\"creation\":1756434058677}"
|
||||
},
|
||||
{
|
||||
"name": "yt-icons-last-purged",
|
||||
"value": "1750299658006"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
674
myGoogleAuth_koreacomp5.json
Normal file
674
myGoogleAuth_koreacomp5.json
Normal file
File diff suppressed because one or more lines are too long
220
package-lock.json
generated
Normal file
220
package-lock.json
generated
Normal file
@@ -0,0 +1,220 @@
|
||||
{
|
||||
"name": "node",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "node",
|
||||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"adm-zip": "^0.5.16",
|
||||
"csv-parse": "^6.1.0",
|
||||
"require": "^2.4.20",
|
||||
"user-agents": "^1.1.645"
|
||||
},
|
||||
"devDependencies": {
|
||||
"playwright": "^1.55.0",
|
||||
"playwright-extra": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/adm-zip": {
|
||||
"version": "0.5.16",
|
||||
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
|
||||
"integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==",
|
||||
"engines": {
|
||||
"node": ">=12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/amdefine": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
|
||||
"integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
|
||||
"engines": {
|
||||
"node": ">=0.4.2"
|
||||
}
|
||||
},
|
||||
"node_modules/async": {
|
||||
"version": "0.2.10",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
|
||||
"integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ=="
|
||||
},
|
||||
"node_modules/csv-parse": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-6.1.0.tgz",
|
||||
"integrity": "sha512-CEE+jwpgLn+MmtCpVcPtiCZpVtB6Z2OKPTr34pycYYoL7sxdOkXDdQ4lRiw6ioC0q6BLqhc6cKweCVvral8yhw=="
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash.clonedeep": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
|
||||
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/optimist": {
|
||||
"version": "0.3.7",
|
||||
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
|
||||
"integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==",
|
||||
"dependencies": {
|
||||
"wordwrap": "~0.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright": {
|
||||
"version": "1.55.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.55.0.tgz",
|
||||
"integrity": "sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"playwright-core": "1.55.0"
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright-core": {
|
||||
"version": "1.55.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.55.0.tgz",
|
||||
"integrity": "sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"playwright-core": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright-extra": {
|
||||
"version": "4.3.6",
|
||||
"resolved": "https://registry.npmjs.org/playwright-extra/-/playwright-extra-4.3.6.tgz",
|
||||
"integrity": "sha512-q2rVtcE8V8K3vPVF1zny4pvwZveHLH8KBuVU2MoE3Jw4OKVoBWsHI9CH9zPydovHHOCDxjGN2Vg+2m644q3ijA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"playwright": "*",
|
||||
"playwright-core": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"playwright": {
|
||||
"optional": true
|
||||
},
|
||||
"playwright-core": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/require": {
|
||||
"version": "2.4.20",
|
||||
"resolved": "https://registry.npmjs.org/require/-/require-2.4.20.tgz",
|
||||
"integrity": "sha512-7eop5rvh38qhQQQOoUyf68meVIcxT2yFySNywTbxoEECgkX4KDqqDRaEszfvFnuB3fuZVjDdJZ1TI/Esr16RRA==",
|
||||
"dependencies": {
|
||||
"std": "0.1.40",
|
||||
"uglify-js": "2.3.0"
|
||||
},
|
||||
"bin": {
|
||||
"require": "bin/require-command.js"
|
||||
},
|
||||
"engines": {
|
||||
"browsers": "*",
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.1.43",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
|
||||
"integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==",
|
||||
"dependencies": {
|
||||
"amdefine": ">=0.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/std": {
|
||||
"version": "0.1.40",
|
||||
"resolved": "https://registry.npmjs.org/std/-/std-0.1.40.tgz",
|
||||
"integrity": "sha512-wUf57hkDGCoVShrhPA8Q7lAg2Qosk+FaMlECmAsr1A4/rL2NRXFHQGBcgMUFKVkPEemJFW9gzjCQisRty14ohg==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/uglify-js": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.0.tgz",
|
||||
"integrity": "sha512-AQvbxRKdaQeYADywQaao0k8Tj+7NGEVTne6xwgX1yQpv/G8b0CKdIw70HkCptwfvNGDsVe+0Bng3U9hfWbxxfg==",
|
||||
"dependencies": {
|
||||
"async": "~0.2.6",
|
||||
"optimist": "~0.3.5",
|
||||
"source-map": "~0.1.7"
|
||||
},
|
||||
"bin": {
|
||||
"uglifyjs": "bin/uglifyjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/user-agents": {
|
||||
"version": "1.1.645",
|
||||
"resolved": "https://registry.npmjs.org/user-agents/-/user-agents-1.1.645.tgz",
|
||||
"integrity": "sha512-dHupR2ZYLRotx22xk7sC++IzVy+GfConJuvGuSOmmk3a9jTJN1RjQGknrVnTxEzm9nxxk/fZ5DSJpKoCQFaK0Q==",
|
||||
"dependencies": {
|
||||
"lodash.clonedeep": "^4.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wordwrap": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
|
||||
"integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
24
package.json
Normal file
24
package.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"adm-zip": "^0.5.16",
|
||||
"csv-parse": "^6.1.0",
|
||||
"require": "^2.4.20",
|
||||
"user-agents": "^1.1.645"
|
||||
},
|
||||
"name": "node",
|
||||
"version": "1.0.0",
|
||||
"main": "googlelogin.js",
|
||||
"devDependencies": {
|
||||
"playwright": "^1.55.0",
|
||||
"playwright-extra": "^4.3.6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"start": "node googlelogin.js"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"description": "",
|
||||
"type": "module"
|
||||
}
|
||||
Reference in New Issue
Block a user