@imenam/simple-scraper 1.0.23 → 1.0.27
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.
- package/README.md +438 -398
- package/dist/browser.js +32 -10
- package/dist/cli/setup-mcp.js +2 -2
- package/dist/cookie-sync.js +67 -0
- package/dist/cookies.js +28 -40
- package/dist/data-dir.js +24 -0
- package/dist/gui.js +75 -85
- package/dist/index.js +36 -38
- package/dist/keep-alive.js +51 -0
- package/dist/login.js +139 -0
- package/dist/relay.js +11 -7
- package/dist/rpc.js +159 -0
- package/dist/sessions.js +23 -11
- package/dist/site-check.js +88 -0
- package/dist/site-store.js +210 -0
- package/package.json +2 -1
- package/public/dist/assets/index-CmU4YRqF.js +11 -0
- package/public/dist/assets/index-olIqry-_.css +1 -0
- package/public/dist/index.html +13 -13
- package/public/dist/assets/index-DAjr-PsH.js +0 -12
- package/public/dist/assets/index-IkSxq6_f.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--bg:#0d0f14;--sidebar:#11131a;--surface:#151821;--inset:#11131a;--raised:#1b1f2e;--hover:#1a1e2b;--border:#232735;--border-strong:#2c3142;--divider:#1f2330;--text:#e7e9f0;--text-2:#c3c8d6;--muted:#7c8296;--faint:#5d6377;--accent:#6d7cff;--accent-hover:#7f8cff;--accent-text:#8b95ff;--ok:#34d399;--warn:#f5b14c;--danger:#f87171;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-size:13px;line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.5}input,select{font:inherit;color:inherit}.muted{color:var(--muted)}.faint{color:var(--faint)}.accent{color:var(--accent-text);align-items:center;gap:4px;display:inline-flex}.ok{color:var(--ok)}.warn{color:var(--warn)}.danger{color:var(--danger)}.small{font-size:12px}.mono{font-family:JetBrains Mono,Consolas,monospace;font-size:13px;font-weight:600}.stack{flex-direction:column;min-width:0;display:flex}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.push-right{margin-left:auto}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.layout{min-height:100vh;display:flex}.main{flex:1;min-width:0}.page{flex-direction:column;gap:20px;max-width:1208px;padding:36px 40px 48px;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-head h1,.site-head h1{letter-spacing:-.01em;font-size:22px;font-weight:600}.page-sub{color:var(--muted);margin-top:6px}.sidebar{background:var(--sidebar);border-right:1px solid var(--divider);flex-direction:column;flex-shrink:0;width:232px;height:100vh;padding:22px 12px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:32px;padding:0 8px;display:flex}.brand-logo{width:34px;height:34px;color:var(--accent-text);background:#1d2135;border-radius:9px;place-items:center;display:grid}.brand-name{font-size:14px;font-weight:600;display:block}.brand-sub{color:var(--muted);font-size:12px;display:block}.nav{flex-direction:column;gap:4px;display:flex}.nav-item{color:#a3a9ba;border-radius:8px;align-items:center;gap:10px;height:36px;padding:0 12px;font-weight:500;transition:background .1s,color .1s;display:flex}.nav-item svg{color:var(--muted)}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--raised);color:var(--text)}.nav-item.active svg{color:var(--accent-text)}.nav-label{flex:1}.nav-count{text-align:center;min-width:24px;color:var(--muted);font-size:11px}.nav-count-alert{color:var(--danger);background:#f8717129;border-radius:9px;padding:1px 6px;font-weight:600}.keepalive-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:auto;padding:12px 14px}.keepalive-title{align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.keepalive-detail{color:var(--muted);margin-top:6px;font-size:12px}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot-ok{background:var(--ok)}.dot-muted{background:var(--faint)}.btn{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 16px;font-weight:600;transition:background .1s,border-color .1s;display:inline-flex}.btn-lg{height:38px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-2);font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--hover)}.btn-warn{background:var(--warn);color:#1a1405}.btn-danger-ghost{color:var(--danger);background:#f871710f;border:1px solid #f871714d;font-weight:500}.btn-danger-ghost:hover:not(:disabled){background:#f871711f}.icon-btn{width:34px;height:34px;color:var(--muted);border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.bordered{border:1px solid var(--border-strong);color:var(--text-2)}.link-btn{color:var(--accent-text);align-items:center;gap:6px;font-weight:500;display:inline-flex}.link-btn.muted{color:var(--muted)}.link{color:var(--accent-text);font-size:12px;font-weight:500}.banner{border-radius:var(--radius);border:1px solid;align-items:center;gap:14px;padding:12px 12px 12px 20px;display:flex}.banner>div{flex:1}.banner-title{font-weight:600}.banner-text{margin-top:2px;font-size:12px}.banner-warn{color:#f5d29a;background:#f5b14c12;border-color:#f5b14c47}.banner-warn>svg{color:var(--warn)}.banner-warn .banner-text{color:#b9a785}.banner-danger{color:#f8b4b4;background:#f8717112;border-color:#f8717147}.banner-danger>svg{color:var(--danger)}.hint{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);align-items:flex-start;gap:14px;padding:16px 20px;font-size:12px;line-height:1.6;display:flex}.hint svg{flex-shrink:0;margin-top:1px}.empty-card{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty-card .empty-title{color:var(--text);font-size:15px;font-weight:600}.empty-card p{max-width:420px}.empty-card .btn{margin-top:6px}.site-grid,.site-row{grid-template-columns:minmax(220px,1.8fr) 150px minmax(170px,1.1fr) minmax(130px,.8fr) 190px;align-items:center;column-gap:20px;display:grid}.list-head{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding:4px 20px 0;font-size:11px;font-weight:600}.site-list{flex-direction:column;gap:10px;margin-top:-8px;list-style:none;display:flex}.site-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-height:76px;padding:14px 16px 14px 20px;transition:border-color .1s}.site-row:hover{border-color:var(--border-strong)}.col-site{align-items:center;gap:16px;min-width:0;display:flex}.col-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.col-actions .btn{width:140px}.row-title{font-size:14px;font-weight:600}.row-main{font-size:13px}.row-sub{color:var(--muted);font-size:12px}.favicon{border-radius:10px;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid}.favicon-md{width:40px;height:40px;font-size:16px}.favicon-lg{border-radius:12px;width:48px;height:48px;font-size:19px}.tone-violet{color:#c4a3ff;background:#2a1f3d}.tone-green{color:#6ee7b7;background:#1d2f2a}.tone-blue{color:#93b4ff;background:#1d2740}.tone-amber{color:#f5b14c;background:#3a2a1a}.tone-rose{color:#fda4bf;background:#3a1d27}.tone-teal{color:#5eead4;background:#16302f}.pill{white-space:nowrap;border-radius:12px;align-items:center;gap:6px;width:fit-content;height:24px;padding:0 11px;font-size:12px;font-weight:500;display:inline-flex}.pill .dot{width:6px;height:6px}.pill-ok{color:var(--ok);background:#34d3991f}.pill-danger{color:var(--danger);background:#f871711f}.pill-muted{color:#a3a9ba;background:#7c829624}.menu-anchor{position:relative}.menu{z-index:20;background:var(--raised);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;top:40px;right:0;box-shadow:0 12px 32px #00000073}.menu button{text-align:left;color:var(--text-2);border-radius:6px;padding:8px 10px}.menu button:hover:not(:disabled){background:var(--hover)}.menu button.danger{color:var(--danger)}.menu-error{color:var(--danger);padding:6px 10px;font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px}.card-head{border-bottom:1px solid var(--divider);padding:20px 24px 16px}.card-head h2{font-size:15px;font-weight:600}.card-head p{color:var(--muted);margin-top:4px;font-size:12px}.card-head-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.card-body{flex-direction:column;gap:18px;padding:20px 24px 24px;display:flex}.card-body.dimmed{opacity:.55}.field{grid-template-columns:200px 1fr;align-items:start;gap:16px;display:grid}.field-label{color:var(--text-2);flex-direction:column;gap:4px;padding-top:8px;font-weight:500;display:flex}.field-help{color:var(--faint);font-size:12px;font-weight:400}.field-control{flex-direction:column;gap:10px;min-width:0;display:flex}.input{background:var(--inset);border:1px solid var(--border-strong);border-radius:8px;outline:none;width:100%;height:36px;padding:0 14px}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--faint)}.select{width:auto;min-width:200px}.segmented{background:var(--inset);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:flex}.segmented button{height:26px;color:var(--muted);border-radius:6px;flex:1;font-size:12px;font-weight:500}.segmented button:hover{color:var(--text-2)}.segmented button.active{color:var(--text);background:#252a3b;font-weight:600}.toggle{background:var(--border-strong);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .15s;position:relative}.toggle span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--accent)}.toggle.on span{transform:translate(18px)}.chips{background:var(--inset);border:1px solid var(--border-strong);cursor:text;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;padding:4px;display:flex}.chips:focus-within{border-color:var(--accent)}.chip{height:26px;color:var(--text-2);background:#1d2130;border-radius:6px;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:12px;display:inline-flex}.chip button{color:var(--faint);place-items:center;display:grid}.chip button:hover{color:var(--text)}.chip-input{background:0 0;border:none;outline:none;flex:1;min-width:120px;height:26px;padding:0 6px}.chip-input::placeholder{color:var(--accent-text)}.checkbox{cursor:pointer;align-items:center;gap:10px;padding-top:8px;display:inline-flex}.checkbox input{opacity:0;pointer-events:none;position:absolute}.checkbox-box{border:1px solid var(--border-strong);color:#0000;border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.checkbox input:checked+.checkbox-box{background:var(--accent);border-color:var(--accent);color:#fff}.checkbox input:focus-visible+.checkbox-box{outline:2px solid var(--accent-text)}.form-error{color:var(--danger);font-size:12px}.save-bar{background:var(--raised);border:1px solid var(--border-strong);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:12px 12px 12px 20px;display:flex;position:sticky;bottom:16px;box-shadow:0 12px 32px #00000073}.save-bar-actions{gap:10px;display:flex}.back{color:var(--muted);align-items:center;gap:4px;width:fit-content;margin-bottom:-8px;font-size:12px;display:inline-flex}.back:hover{color:var(--text)}.site-head{align-items:center;gap:16px;display:flex}.site-head-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.site-head-meta{align-items:center;gap:12px;min-width:0;display:flex}.site-head-meta>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-head-actions{gap:12px;display:flex}.detail-grid{grid-template-columns:minmax(0,1fr) 376px;align-items:start;gap:24px;display:grid}.detail-main,.detail-side{flex-direction:column;gap:20px;display:flex}.events{gap:6px}.event{align-items:flex-start;gap:12px;padding:6px 0;display:flex}.event-icon{border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.tone-bg-ok{color:var(--ok);background:#34d3991f}.tone-bg-danger{color:var(--danger);background:#f8717124}.tone-bg-warn{color:var(--warn);background:#f5b14c24}.tone-bg-accent{color:var(--accent-text);background:#6d7cff29}.event-text{flex:1;min-width:0}.event-title{font-size:13px}.event-site{color:var(--muted)}.event-detail{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.event-time{color:var(--muted);white-space:nowrap;font-size:12px}.kv{color:var(--muted);justify-content:space-between;display:flex}.kv span:last-child{color:var(--text)}.data-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:4px;display:grid}.data-actions .btn{padding:0 10px;font-size:12px}.help-list{color:var(--muted);gap:12px;font-size:12px;line-height:1.6}.help-list strong{color:var(--text-2);font-weight:600}.modal-overlay{z-index:50;background:#05060ab8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid #2a2f40;border-radius:16px;width:100%;box-shadow:0 24px 64px #00000080}.modal-login{max-width:960px}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:24px 28px 22px 32px;display:flex}.modal-head-text{flex:1}.modal-head h3{font-size:18px;font-weight:600}.modal-login-body{grid-template-columns:300px 1fr;gap:40px;padding:28px 32px;display:grid}.modal-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 32px 20px;display:flex}.modal-foot-actions{gap:12px;display:flex}.login-side{flex-direction:column;justify-content:space-between;gap:24px;display:flex}.steps{flex-direction:column;gap:32px;display:flex;position:relative}.steps:before{content:"";background:var(--border-strong);width:2px;position:absolute;top:28px;bottom:28px;left:11px}.step{gap:16px;display:flex;position:relative}.step-dot{background:var(--surface);border:2px solid var(--border-strong);width:24px;height:24px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.step-done .step-dot{color:var(--ok);background:#193a33;border-color:#193a33}.step-current .step-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px #6d7cff2e}.step-title{color:var(--text);padding-top:2px;font-weight:600}.step-done .step-title{color:#a3a9ba}.step-todo .step-title{color:var(--muted)}.step-text{color:#a3a9ba;margin-top:4px;font-size:12px}.step-done .step-text{color:var(--muted)}.step-todo .step-text{color:var(--faint)}.note{background:var(--inset);border:1px solid var(--border);color:var(--muted);border-radius:10px;gap:10px;padding:14px;font-size:12px;line-height:1.6;display:flex}.note svg{flex-shrink:0}.login-main{flex-direction:column;gap:14px;min-width:0;display:flex}.browser-frame{border:1px solid var(--border-strong);background:#f4f5f8;border-radius:12px;overflow:hidden}.browser-bar{background:#1d2130;align-items:center;gap:16px;height:38px;padding:0 14px;display:flex}.browser-dots{gap:6px;display:flex}.browser-dots i{background:#3a3f52;border-radius:50%;width:8px;height:8px}.browser-url{background:var(--inset);color:#a3a9ba;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:1;align-items:center;gap:8px;height:22px;padding:0 10px;font-size:11px;display:flex;overflow:hidden}.browser-view{aspect-ratio:16/10;background:#f4f5f8;place-items:center;display:grid;overflow:hidden}.browser-view img{object-fit:contain;object-position:top;width:100%;height:100%}.browser-placeholder{text-align:center;color:#5b6070;flex-direction:column;align-items:center;gap:10px;padding:24px;font-size:13px;display:flex}.viewer-shot .browser-placeholder{color:var(--muted)}.login-status{color:var(--text-2);align-items:center;gap:8px;font-weight:500;display:flex}.sessions-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px;display:grid}.session-list{flex-direction:column;gap:12px;list-style:none;display:flex}.session-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);cursor:pointer;gap:14px;padding:14px;display:flex}.session-card:hover{border-color:var(--border-strong)}.session-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent);background:#181c2a}.session-thumb{object-fit:cover;object-position:top;background:#eef0f5;border-radius:6px;flex-shrink:0;width:88px;height:60px}.session-card-text{flex:1;gap:4px}.session-card-foot{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.viewer{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.viewer-bar{border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:14px 20px;display:flex}.live{color:var(--ok);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.live .dot{width:6px;height:6px;box-shadow:0 0 0 3px #34d39933}.live-paused{color:var(--muted)}.live-paused .dot{box-shadow:none}.viewer-url{background:var(--inset);border:1px solid var(--border);min-width:0;height:34px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex;overflow:hidden}.viewer-url svg{color:var(--muted);flex-shrink:0}.viewer-shot{background:var(--inset);border-radius:8px;place-items:center;min-height:240px;margin:16px 20px;display:grid;overflow:hidden}.viewer-shot img{width:100%;display:block}.viewer-info{border-top:1px solid var(--divider);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:16px 20px 20px;display:grid}.viewer-info>div{flex-direction:column;gap:4px;min-width:0;display:flex}.viewer-info .label{text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-size:11px;font-weight:600}.viewer-console{justify-content:space-between;gap:8px;display:flex}.console{border-top:1px solid var(--divider);background:var(--inset);max-height:260px;padding:12px 20px;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;overflow:auto}.console-line{color:var(--text-2);gap:12px;padding:2px 0;display:flex}.console-time{color:var(--faint)}.console-type{width:56px;color:var(--muted);flex-shrink:0}.console-error .console-type,.console-error .console-text{color:var(--danger)}.console-warn .console-type,.console-warning .console-type{color:var(--warn)}.console-text{white-space:pre-wrap;word-break:break-word}@media (width<=1100px){.detail-grid,.sessions-layout{grid-template-columns:1fr}.site-grid,.site-row{grid-template-columns:minmax(200px,1fr) 140px minmax(160px,1fr) 180px}.col-keep,.list-head span:nth-child(4){display:none}}
|
package/public/dist/index.html
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<title>Simple Scraper MCP
|
|
7
|
-
<script type="module" crossorigin src="./assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
9
|
-
</head>
|
|
10
|
-
<body>
|
|
11
|
-
<div id="root"></div>
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="fr">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Simple Scraper MCP</title>
|
|
7
|
+
<script type="module" crossorigin src="./assets/index-CmU4YRqF.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="./assets/index-olIqry-_.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="root"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|