BraveOPotato/FckSignups
A list of tools that are open-source, in-browser, and require no-signups!
TypeScript★ 3,920+501 that day#5 on trending
2.77%duplicated code · 98 of 3,538 lines
6clones in code
42code files of 64 scanned
1.32%duplicated over all files · 9 clones
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 22 lines in 3 placestypescript105 tokenscloudflare-worker/urlHandlers/handleReportTool.ts:46–67cloudflare-worker/urlHandlers/handleSubmitTool.ts:60–81cloudflare-worker/urlHandlers/handleSuggestTool.ts:44–65
46 title: `[Tool Report] ${sub.toolId}`, 47 body: issueBody, 48 labels: labels, 49 }), 50 }, 51); 52 53if (!res.ok) { 54 const err = (await res.json().catch(() => ({}))) as { message?: string }; 55 console.error("GitHub API error:", err.message);First 10 of 22 lines.
- 14 lines in 3 placestypescript56 tokenscloudflare-worker/urlHandlers/handleReportTool.ts:33–46cloudflare-worker/urlHandlers/handleSubmitTool.ts:47–60cloudflare-worker/urlHandlers/handleSuggestTool.ts:31–44
33const labels = ["tool-report"]; 34 35const res = await fetch( 36 `https://api.github.com/repos/${env.GITHUB_REPO_OWNER}/${env.GITHUB_REPO_NAME}/issues`, 37 { 38 method: "POST", 39 headers: { 40 Authorization: `Bearer ${env.GITHUB_TOKEN}`, 41 "Content-Type": "application/json", 42 Accept: "application/vnd.github+json",First 10 of 14 lines.
- 16 lines in 2 placestsx88 tokens
16function makeTextField( 17 field: TextField, 18 fieldValues: ModalFieldValues, 19 updateField: (name: string, value: string) => void, 20) { 21 return ( 22 <> 23 <label className="modal-label" htmlFor={field.name}> 24 {field.label} 25 </label>First 10 of 16 lines.
1 more
- 10 lines in 2 placestsx52 tokens
Largest clones over all files, tests and data included
- 22 lines in 3 placestypescript105 tokenscloudflare-worker/urlHandlers/handleReportTool.ts:46–67cloudflare-worker/urlHandlers/handleSubmitTool.ts:60–81cloudflare-worker/urlHandlers/handleSuggestTool.ts:44–65
46 title: `[Tool Report] ${sub.toolId}`, 47 body: issueBody, 48 labels: labels, 49 }), 50 }, 51); 52 53if (!res.ok) { 54 const err = (await res.json().catch(() => ({}))) as { message?: string }; 55 console.error("GitHub API error:", err.message);First 10 of 22 lines.
- 14 lines in 3 placestypescript56 tokenscloudflare-worker/urlHandlers/handleReportTool.ts:33–46cloudflare-worker/urlHandlers/handleSubmitTool.ts:47–60cloudflare-worker/urlHandlers/handleSuggestTool.ts:31–44
33const labels = ["tool-report"]; 34 35const res = await fetch( 36 `https://api.github.com/repos/${env.GITHUB_REPO_OWNER}/${env.GITHUB_REPO_NAME}/issues`, 37 { 38 method: "POST", 39 headers: { 40 Authorization: `Bearer ${env.GITHUB_TOKEN}`, 41 "Content-Type": "application/json", 42 Accept: "application/vnd.github+json",First 10 of 14 lines.
- 16 lines in 2 placestsx88 tokens
16function makeTextField( 17 field: TextField, 18 fieldValues: ModalFieldValues, 19 updateField: (name: string, value: string) => void, 20) { 21 return ( 22 <> 23 <label className="modal-label" htmlFor={field.name}> 24 {field.label} 25 </label>First 10 of 16 lines.
- 12 lines in 2 placescssstyles72 tokens
- 11 lines in 2 placescssstyles55 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| typescript | 11 | 867 | 4 | 72 | 8.3% |
| tsx | 17 | 1,440 | 2 | 26 | 1.81% |
| bash | 9 | 644 | 0 | 0 | 0% |
| python | 4 | 413 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| typescript | 11 | 867 | 4 | 72 | 8.3% |
| css | 12 | 1,727 | 3 | 33 | 1.91% |
| tsx | 17 | 1,440 | 2 | 26 | 1.81% |
| json | 3 | 4,367 | 0 | 0 | 0% |
| bash | 9 | 644 | 0 | 0 | 0% |
| python | 4 | 413 | 0 | 0 | 0% |
| markdown | 4 | 191 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
| markup | 2 | 67 | 0 | 0 | 0% |
| yaml | 1 | 6 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Sep 8, 2026 | #5 | 3,920 (+501) | 64 | 9,896 | 9 | 1.32% | 2.77% | — | 5dcc262 |
| Sep 7, 2026 | #5 | 3,415 (+436) | 64 | 9,815 | 9 | 1.33% | 2.77% | — | dae2489 |
| Sep 6, 2026 | #6 | 2,956 (+68) | 62 | 9,793 | 9 | 1.34% | 2.79% | — | 530abdd |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.