planche 0.5.2 → 0.6.0

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 (225) hide show
  1. package/README.md +39 -0
  2. package/app/_headers +19 -0
  3. package/app/assets/AboutDialog-HsaLhYrq.js +1 -0
  4. package/app/assets/ConnectDialog-DAYnaSzA.js +1 -0
  5. package/app/assets/CopyDatabaseDialog-DCDkX1Zt.js +1 -0
  6. package/app/assets/CopyTableDialog-BylicT1d.js +1 -0
  7. package/app/assets/CreateDatabaseDialog-i7_uV-wh.js +1 -0
  8. package/app/assets/DataDiffDialog-B4SeJXry.js +1 -0
  9. package/app/assets/DownloadToCSVDialog-jX0lEP8B.js +3 -0
  10. package/app/assets/EditSchemaDialog-BVOHVgBR.js +1 -0
  11. package/app/assets/FindReplaceDialog-B0rD26fg.js +1 -0
  12. package/app/assets/FlushDialog-CNu4QuYo.js +1 -0
  13. package/app/assets/LinkColumnDialog-BwUBtMiy.js +1 -0
  14. package/app/assets/LocalHistoryDialog-DUlsyn8i.js +1 -0
  15. package/app/assets/ProcessListDialog-Chv324I7.js +1 -0
  16. package/app/assets/QuickCommandPalette-BG5A7y3V.js +1 -0
  17. package/app/assets/RowFormDialog-C5agNu3l.js +2 -0
  18. package/app/assets/SafetySettingsDialog-iaN6H-EP.js +1 -0
  19. package/app/assets/SchemaDiffDialog-D7re7sup.js +7 -0
  20. package/app/assets/SchemaToHTMLDialog-Biq3ELkl.js +27 -0
  21. package/app/assets/StatusDialog-D8CcfFkP.js +1 -0
  22. package/app/assets/TermsDialog-DbHxb0ld.js +1 -0
  23. package/app/assets/UserAddDialog-B_fz-cXy.js +1 -0
  24. package/app/assets/UserManagerDialog-ku7exEzu.js +1 -0
  25. package/app/assets/VariablesDialog-BP2RcCBK.js +1 -0
  26. package/app/assets/abap-08VXUWAP.js +1 -0
  27. package/app/assets/apex-BWPQTe0t.js +1 -0
  28. package/app/assets/app-storage-B6v72zLH.js +1 -0
  29. package/app/assets/azcli-Bc_sGQ0U.js +1 -0
  30. package/app/assets/bat-i0X4ZdIN.js +1 -0
  31. package/app/assets/bicep-B5-_aFwp.js +2 -0
  32. package/app/assets/button-DkRlMkru.js +1 -0
  33. package/app/assets/cameligo-DMUM7wLl.js +1 -0
  34. package/app/assets/chevron-up-Dy_mz-03.js +1 -0
  35. package/app/assets/clojure-Cm7r79vr.js +1 -0
  36. package/app/assets/codicon-ngg6Pgfi.ttf +0 -0
  37. package/app/assets/coffee-Ba7i2nA0.js +1 -0
  38. package/app/assets/connection-store-CJ_al8qv.js +1 -0
  39. package/app/assets/cpp-C7h46wYY.js +1 -0
  40. package/app/assets/csharp-BKxtCVv1.js +1 -0
  41. package/app/assets/csp-bTuwJoIa.js +1 -0
  42. package/app/assets/css-DIMkf-bt.js +3 -0
  43. package/app/assets/css.worker-Dsm2X3j_.js +89 -0
  44. package/app/assets/cssMode-BK7_e-YI.js +1 -0
  45. package/app/assets/cypher-CVaqCwHa.js +1 -0
  46. package/app/assets/dart-onAF5SnQ.js +1 -0
  47. package/app/assets/database-BIhkgl2O.js +1 -0
  48. package/app/assets/dbms-Cq4imB7l.js +353 -0
  49. package/app/assets/de-B_f2X0cM.js +2 -0
  50. package/app/assets/dialog-BtwqThq6.js +1 -0
  51. package/app/assets/dist-BV6Hwye5.js +41 -0
  52. package/app/assets/dist-C2pydad-.js +1 -0
  53. package/app/assets/dist-C3MLFgG1.js +1 -0
  54. package/app/assets/dist-Roudme38.js +3 -0
  55. package/app/assets/dockerfile-DZFCIeNp.js +1 -0
  56. package/app/assets/ecl-D05T4iGw.js +1 -0
  57. package/app/assets/editor-Br_kD0ds.css +1 -0
  58. package/app/assets/editor.api2-JBjomUWM.js +872 -0
  59. package/app/assets/editor.worker-BboMRUer.js +26 -0
  60. package/app/assets/elixir-6RTg0lbw.js +1 -0
  61. package/app/assets/engine-DBTzC3si.js +1 -0
  62. package/app/assets/file-name-CnYBZPf9.js +1 -0
  63. package/app/assets/flow9-C5_-GSwl.js +1 -0
  64. package/app/assets/fr-DigYoMZT.js +2 -0
  65. package/app/assets/freemarker2-Ca8y5qEc.js +3 -0
  66. package/app/assets/fsharp-C8Ef5oNN.js +1 -0
  67. package/app/assets/go-C-y9NEjX.js +1 -0
  68. package/app/assets/graphql-fmXr3nnJ.js +1 -0
  69. package/app/assets/handlebars-CMoDOM1Y.js +1 -0
  70. package/app/assets/hcl-CpzslTdj.js +1 -0
  71. package/app/assets/html-BOS8Hfbf.js +1 -0
  72. package/app/assets/html.worker-fD12ABR7.js +502 -0
  73. package/app/assets/htmlMode-CRjI81Qd.js +1 -0
  74. package/app/assets/i18n-C7R6hKCp.js +2 -0
  75. package/app/assets/ini-sBoK_t0W.js +1 -0
  76. package/app/assets/ja-CPMeuUuT.js +2 -0
  77. package/app/assets/java-BEtHBSE6.js +1 -0
  78. package/app/assets/javascript-2ntxzhMa.js +1 -0
  79. package/app/assets/json.worker-B2CIyALT.js +58 -0
  80. package/app/assets/jsonMode-C8yGgOEo.js +7 -0
  81. package/app/assets/julia-Bri6UV-V.js +1 -0
  82. package/app/assets/ko-IAtUoTg5.js +2 -0
  83. package/app/assets/kotlin-BOotOW0E.js +1 -0
  84. package/app/assets/less-B9JPFI3C.js +2 -0
  85. package/app/assets/lexon-CfSJPG6W.js +1 -0
  86. package/app/assets/liquid-DThFAxbS.js +1 -0
  87. package/app/assets/lspLanguageFeatures-DQW0rv3P.js +4 -0
  88. package/app/assets/lua-CsQS60Ue.js +1 -0
  89. package/app/assets/m3-D-oSqn_W.js +1 -0
  90. package/app/assets/main-DI8DxG3x.css +2 -0
  91. package/app/assets/main-NJl8KiiX.js +73 -0
  92. package/app/assets/markdown-Cimd5fb3.js +1 -0
  93. package/app/assets/mdx-CI71gDmg.js +1 -0
  94. package/app/assets/mips-CIPQ_RoX.js +1 -0
  95. package/app/assets/msdax-DauUninz.js +1 -0
  96. package/app/assets/mysql-SOo6toE5.js +1 -0
  97. package/app/assets/objective-c-FvmIjYaQ.js +1 -0
  98. package/app/assets/pascal-DrH0SRf2.js +1 -0
  99. package/app/assets/pascaligo-D-ptJ9y-.js +1 -0
  100. package/app/assets/perl-oz_6vUea.js +1 -0
  101. package/app/assets/pgsql-DTj74zXo.js +1 -0
  102. package/app/assets/php-nr791fC2.js +1 -0
  103. package/app/assets/pla-CopQ2nXW.js +1 -0
  104. package/app/assets/postiats-43DmfD33.js +1 -0
  105. package/app/assets/powerquery-D3hlyOfw.js +1 -0
  106. package/app/assets/powershell-DmHpPYUd.js +1 -0
  107. package/app/assets/preload-helper-Czpn1I53.js +1 -0
  108. package/app/assets/protobuf-C531GsRP.js +2 -0
  109. package/app/assets/pug-Z5eAx3Zn.js +1 -0
  110. package/app/assets/python-Ck7s8L2p.js +1 -0
  111. package/app/assets/qsharp-DkqhCAOL.js +1 -0
  112. package/app/assets/query-execution-CR2mkIdH.js +7 -0
  113. package/app/assets/query-store-DlzOIWw1.js +1 -0
  114. package/app/assets/r-BwWrilGY.js +1 -0
  115. package/app/assets/razor-DiN-9kkz.js +1 -0
  116. package/app/assets/redis-ClamHrr6.js +1 -0
  117. package/app/assets/redshift-DT7zqm-g.js +1 -0
  118. package/app/assets/restructuredtext-BYgofb2h.js +1 -0
  119. package/app/assets/rolldown-runtime-hePW80VL.js +1 -0
  120. package/app/assets/ruby-DezsRK8O.js +1 -0
  121. package/app/assets/rust-DdL9SqIa.js +1 -0
  122. package/app/assets/sb-CcwsVR0C.js +1 -0
  123. package/app/assets/scala-DHpiXF5c.js +1 -0
  124. package/app/assets/schema-nodes-n_QZJb21.js +1 -0
  125. package/app/assets/scheme-BeGwcela.js +1 -0
  126. package/app/assets/scss-gp-XZpBa.js +3 -0
  127. package/app/assets/select-CqYxAwnu.js +1 -0
  128. package/app/assets/settings-store-DxKFgC4Z.js +1 -0
  129. package/app/assets/shell-CC2rA5mh.js +1 -0
  130. package/app/assets/solidity-BEEn4gHE.js +1 -0
  131. package/app/assets/sophia-CRfGWb83.js +1 -0
  132. package/app/assets/sparql-D_Lu-MrJ.js +1 -0
  133. package/app/assets/sql-NEE52Syq.js +1 -0
  134. package/app/assets/sqlite3-BVKGSWc-.wasm +0 -0
  135. package/app/assets/sqlite3-opfs-async-proxy-D_xnb1D8.js +876 -0
  136. package/app/assets/sqlite3-worker1-CVKz6JuG.js +43 -0
  137. package/app/assets/st-DbInun42.js +1 -0
  138. package/app/assets/storage-worker-DEIYmjYK.js +43 -0
  139. package/app/assets/swift-Bxkupp3x.js +1 -0
  140. package/app/assets/systemverilog-Bz4Y3fRF.js +1 -0
  141. package/app/assets/table-copy-2y2RNth1.js +1 -0
  142. package/app/assets/table-definition-Bs5VSn0X.js +1 -0
  143. package/app/assets/tcl-DISqw1ZD.js +1 -0
  144. package/app/assets/ts.worker-BwG70EDZ.js +67734 -0
  145. package/app/assets/tsMode-Dzctobqp.js +11 -0
  146. package/app/assets/twig-De2hgUGE.js +1 -0
  147. package/app/assets/typescript-Ww5oHWDp.js +1 -0
  148. package/app/assets/typespec-B8J7ngcE.js +1 -0
  149. package/app/assets/ui-store-BPY9VfQP.js +1 -0
  150. package/app/assets/use-engine-F2Y_trPz.js +1 -0
  151. package/app/assets/user-store-D5dzuD-E.js +1 -0
  152. package/app/assets/vb-DV3o63ZY.js +1 -0
  153. package/app/assets/wgsl-DpFanUEy.js +298 -0
  154. package/app/assets/xml-CT99FsSc.js +1 -0
  155. package/app/assets/yaml-DA78fpmA.js +1 -0
  156. package/app/assets/zh-DCKqmOQA.js +2 -0
  157. package/app/cloudflare-d1-client/index.html +111 -0
  158. package/app/de/cloudflare-d1-client/index.html +111 -0
  159. package/app/de/index.html +123 -0
  160. package/app/de/mariadb-client/index.html +111 -0
  161. package/app/de/mysql-client/index.html +112 -0
  162. package/app/de/neon-client/index.html +111 -0
  163. package/app/de/oracle-client/index.html +111 -0
  164. package/app/de/postgresql-client/index.html +111 -0
  165. package/app/de/sql-server-client/index.html +111 -0
  166. package/app/de/sqlite-viewer/index.html +112 -0
  167. package/app/de/supabase-client/index.html +111 -0
  168. package/app/favicon.svg +1 -0
  169. package/app/fr/cloudflare-d1-client/index.html +111 -0
  170. package/app/fr/index.html +123 -0
  171. package/app/fr/mariadb-client/index.html +111 -0
  172. package/app/fr/mysql-client/index.html +112 -0
  173. package/app/fr/neon-client/index.html +111 -0
  174. package/app/fr/oracle-client/index.html +111 -0
  175. package/app/fr/postgresql-client/index.html +111 -0
  176. package/app/fr/sql-server-client/index.html +111 -0
  177. package/app/fr/sqlite-viewer/index.html +112 -0
  178. package/app/fr/supabase-client/index.html +111 -0
  179. package/app/icons.svg +24 -0
  180. package/app/index.html +123 -0
  181. package/app/ja/cloudflare-d1-client/index.html +111 -0
  182. package/app/ja/index.html +123 -0
  183. package/app/ja/mariadb-client/index.html +111 -0
  184. package/app/ja/mysql-client/index.html +112 -0
  185. package/app/ja/neon-client/index.html +111 -0
  186. package/app/ja/oracle-client/index.html +111 -0
  187. package/app/ja/postgresql-client/index.html +111 -0
  188. package/app/ja/sql-server-client/index.html +111 -0
  189. package/app/ja/sqlite-viewer/index.html +112 -0
  190. package/app/ja/supabase-client/index.html +111 -0
  191. package/app/ko/cloudflare-d1-client/index.html +111 -0
  192. package/app/ko/index.html +123 -0
  193. package/app/ko/mariadb-client/index.html +111 -0
  194. package/app/ko/mysql-client/index.html +112 -0
  195. package/app/ko/neon-client/index.html +111 -0
  196. package/app/ko/oracle-client/index.html +111 -0
  197. package/app/ko/postgresql-client/index.html +111 -0
  198. package/app/ko/sql-server-client/index.html +111 -0
  199. package/app/ko/sqlite-viewer/index.html +112 -0
  200. package/app/ko/supabase-client/index.html +111 -0
  201. package/app/landing.css +25 -0
  202. package/app/mariadb-client/index.html +111 -0
  203. package/app/mysql-client/index.html +112 -0
  204. package/app/neon-client/index.html +111 -0
  205. package/app/og-image.png +0 -0
  206. package/app/oracle-client/index.html +111 -0
  207. package/app/postgresql-client/index.html +111 -0
  208. package/app/robots.txt +3 -0
  209. package/app/sample-shop.db +0 -0
  210. package/app/sitemap.xml +603 -0
  211. package/app/sql-server-client/index.html +111 -0
  212. package/app/sqlite-viewer/index.html +112 -0
  213. package/app/supabase-client/index.html +111 -0
  214. package/app/zh/cloudflare-d1-client/index.html +111 -0
  215. package/app/zh/index.html +123 -0
  216. package/app/zh/mariadb-client/index.html +111 -0
  217. package/app/zh/mysql-client/index.html +112 -0
  218. package/app/zh/neon-client/index.html +111 -0
  219. package/app/zh/oracle-client/index.html +111 -0
  220. package/app/zh/postgresql-client/index.html +111 -0
  221. package/app/zh/sql-server-client/index.html +111 -0
  222. package/app/zh/sqlite-viewer/index.html +112 -0
  223. package/app/zh/supabase-client/index.html +111 -0
  224. package/dist/index.js +990 -659
  225. package/package.json +5 -3
@@ -0,0 +1,25 @@
1
+ /* Static landing content rendered before (and for crawlers, instead of) the app bundle. */
2
+ #landing {
3
+ font: 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
4
+ color: #cdd6f4;
5
+ background: #1e1e2e;
6
+ min-height: 100vh;
7
+ padding: 3rem 1.25rem 4rem;
8
+ }
9
+ #landing > div { max-width: 44rem; margin: 0 auto; }
10
+ #landing h1 { font-size: 2rem; line-height: 1.2; margin: 0 0 0.75rem; }
11
+ #landing h2 { font-size: 1.25rem; margin: 2rem 0 0.5rem; }
12
+ #landing p { margin: 0 0 1rem; }
13
+ #landing a { color: #89b4fa; }
14
+ #landing ul { padding-left: 1.25rem; margin: 0 0 1rem; }
15
+ #landing li { margin: 0.25rem 0; }
16
+ #landing code { background: #313244; padding: 0.1em 0.4em; border-radius: 4px; font-size: 0.9em; }
17
+ #landing nav { font-size: 0.9rem; color: #a6adc8; margin-bottom: 2rem; }
18
+ #landing nav a { margin-right: 1rem; }
19
+ #landing .cta {
20
+ display: inline-block; margin: 0.5rem 0 1.5rem; padding: 0.6rem 1.1rem;
21
+ background: #89b4fa; color: #1e1e2e; border-radius: 6px; font-weight: 600; text-decoration: none;
22
+ }
23
+ #landing footer { margin-top: 3rem; font-size: 0.85rem; color: #6c7086; }
24
+ #landing nav.languages { font-size: 0.8rem; margin-top: -1.5rem; }
25
+ #landing nav.languages a[aria-current] { font-weight: 600; text-decoration: none; }
@@ -0,0 +1,111 @@
1
+ <!doctype html>
2
+ <!-- Generated by scripts/build-landing.mjs from landing/content.mjs — edit the content module, not this file. -->
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <title>Free MariaDB Client in Your Browser — Web GUI for MariaDB</title>
9
+ <meta name="description" content="Free MariaDB GUI client that runs in the browser. SQL editor, editable data grid, schema browser, users, ERD and SSH tunnels. Connects through a local agent (npx planche); credentials stay on your machine." />
10
+ <link rel="canonical" href="https://planche.dev/mariadb-client/" />
11
+ <link rel="alternate" hreflang="en" href="https://planche.dev/mariadb-client/" />
12
+ <link rel="alternate" hreflang="ko" href="https://planche.dev/ko/mariadb-client/" />
13
+ <link rel="alternate" hreflang="ja" href="https://planche.dev/ja/mariadb-client/" />
14
+ <link rel="alternate" hreflang="zh" href="https://planche.dev/zh/mariadb-client/" />
15
+ <link rel="alternate" hreflang="de" href="https://planche.dev/de/mariadb-client/" />
16
+ <link rel="alternate" hreflang="fr" href="https://planche.dev/fr/mariadb-client/" />
17
+ <link rel="alternate" hreflang="x-default" href="https://planche.dev/mariadb-client/" />
18
+ <meta property="og:type" content="website" />
19
+ <meta property="og:site_name" content="Planche" />
20
+ <meta property="og:title" content="Free MariaDB client in your browser" />
21
+ <meta property="og:description" content="Free MariaDB GUI client that runs in the browser. SQL editor, editable data grid, schema browser, users, ERD and SSH tunnels. Connects through a local agent (npx planche); credentials stay on your machine." />
22
+ <meta property="og:url" content="https://planche.dev/mariadb-client/" />
23
+ <meta property="og:image" content="https://planche.dev/og-image.png" />
24
+ <meta property="og:image:width" content="1200" />
25
+ <meta property="og:image:height" content="630" />
26
+ <meta property="og:image:alt" content="Free MariaDB client in your browser" />
27
+ <meta property="og:locale" content="en_US" />
28
+ <meta property="og:locale:alternate" content="ko_KR" />
29
+ <meta property="og:locale:alternate" content="ja_JP" />
30
+ <meta property="og:locale:alternate" content="zh_CN" />
31
+ <meta property="og:locale:alternate" content="de_DE" />
32
+ <meta property="og:locale:alternate" content="fr_FR" />
33
+ <meta name="twitter:card" content="summary_large_image" />
34
+ <meta name="twitter:title" content="Free MariaDB client in your browser" />
35
+ <meta name="twitter:description" content="Free MariaDB GUI client that runs in the browser. SQL editor, editable data grid, schema browser, users, ERD and SSH tunnels. Connects through a local agent (npx planche); credentials stay on your machine." />
36
+ <meta name="twitter:image" content="https://planche.dev/og-image.png" />
37
+ <link rel="stylesheet" href="/landing.css" />
38
+ <script type="module" crossorigin src="/assets/rolldown-runtime-hePW80VL.js"></script>
39
+ <script type="module" crossorigin src="/assets/ui-store-BPY9VfQP.js"></script>
40
+ <script type="module" crossorigin src="/assets/button-DkRlMkru.js"></script>
41
+ <script type="module" crossorigin src="/assets/preload-helper-Czpn1I53.js"></script>
42
+ <script type="module" crossorigin src="/assets/i18n-C7R6hKCp.js"></script>
43
+ <script type="module" crossorigin src="/assets/editor.api2-JBjomUWM.js"></script>
44
+ <script type="module" crossorigin src="/assets/dist-BV6Hwye5.js"></script>
45
+ <script type="module" crossorigin src="/assets/dist-C2pydad-.js"></script>
46
+ <script type="module" crossorigin src="/assets/dist-C3MLFgG1.js"></script>
47
+ <script type="module" crossorigin src="/assets/app-storage-B6v72zLH.js"></script>
48
+ <script type="module" crossorigin src="/assets/connection-store-CJ_al8qv.js"></script>
49
+ <script type="module" crossorigin src="/assets/settings-store-DxKFgC4Z.js"></script>
50
+ <script type="module" crossorigin src="/assets/query-store-DlzOIWw1.js"></script>
51
+ <script type="module" crossorigin src="/assets/database-BIhkgl2O.js"></script>
52
+ <script type="module" crossorigin src="/assets/dbms-Cq4imB7l.js"></script>
53
+ <script type="module" crossorigin src="/assets/engine-DBTzC3si.js"></script>
54
+ <script type="module" crossorigin src="/assets/schema-nodes-n_QZJb21.js"></script>
55
+ <script type="module" crossorigin src="/assets/query-execution-CR2mkIdH.js"></script>
56
+ <script type="module" crossorigin src="/assets/use-engine-F2Y_trPz.js"></script>
57
+ <script type="module" crossorigin src="/assets/table-definition-Bs5VSn0X.js"></script>
58
+ <script type="module" crossorigin src="/assets/table-copy-2y2RNth1.js"></script>
59
+ <script type="module" crossorigin src="/assets/main-NJl8KiiX.js"></script>
60
+ <link rel="stylesheet" crossorigin href="/assets/editor-Br_kD0ds.css">
61
+ <link rel="stylesheet" crossorigin href="/assets/main-DI8DxG3x.css">
62
+ </head>
63
+ <body>
64
+ <section id="landing">
65
+ <div>
66
+ <nav aria-label="Database clients">
67
+ <a href="/">Planche</a>
68
+ <a href="/sqlite-viewer/">SQLite viewer</a>
69
+ <a href="/mysql-client/">MySQL client</a>
70
+ <a href="/mariadb-client/" aria-current="page">MariaDB client</a>
71
+ <a href="/postgresql-client/">PostgreSQL client</a>
72
+ <a href="/sql-server-client/">SQL Server client</a>
73
+ <a href="/oracle-client/">Oracle client</a>
74
+ <a href="/neon-client/">Neon client</a>
75
+ <a href="/supabase-client/">Supabase client</a>
76
+ <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>
77
+ </nav>
78
+ <nav class="languages" aria-label="Languages">
79
+ <a href="/mariadb-client/" hreflang="en" lang="en" aria-current="true">English</a>
80
+ <a href="/ko/mariadb-client/" hreflang="ko" lang="ko">한국어</a>
81
+ <a href="/ja/mariadb-client/" hreflang="ja" lang="ja">日本語</a>
82
+ <a href="/zh/mariadb-client/" hreflang="zh" lang="zh">中文</a>
83
+ <a href="/de/mariadb-client/" hreflang="de" lang="de">Deutsch</a>
84
+ <a href="/fr/mariadb-client/" hreflang="fr" lang="fr">Français</a>
85
+ </nav>
86
+ <h1>MariaDB client that runs in your browser</h1>
87
+ <p>Planche is a free MariaDB GUI. It knows the MariaDB keyword set — sequences, <code>RETURNING</code>, system versioning and other MariaDB-only syntax — and runs in your browser with a one-line local agent instead of a desktop installer. Works with MariaDB 10.x and 11.x, including Galera and SkySQL.</p>
88
+ <a class="cta" href="/mariadb-client/">Open the MariaDB client</a>
89
+
90
+ <h2>Features</h2>
91
+ <ul>
92
+ <li>SQL editor with MariaDB keywords and autocomplete, multi-statement scripts, <code>DELIMITER</code> support</li>
93
+ <li>Editable result grid with previewed UPDATE statements</li>
94
+ <li>Schema tree: databases, tables, views, procedures, functions, events, triggers, columns, indexes</li>
95
+ <li>Table designer, DDL view, user management, process list, variables and status</li>
96
+ <li>ERD viewer from foreign keys</li>
97
+ <li>Read-only mode, production color, destructive-statement confirmation, manual transactions</li>
98
+ </ul>
99
+
100
+ <h2>How it connects</h2>
101
+ <p>Run <code>npx planche</code> in a terminal (Node 22+). It starts a tiny local agent on your machine that holds the MariaDB connection and opens this page already paired to it. The browser talks only to <code>127.0.0.1</code>; your host, user and password never go to any server. Remote databases can be reached through an <strong>SSH tunnel</strong> (password, key or ssh-agent, honoring <code>~/.ssh/config</code>).</p>
102
+ <p>Because the agent runs locally you can use Planche as a MariaDB GUI on macOS, Windows and Linux without installing a desktop application — just a browser and Node.</p>
103
+ <p>Also available: <a href="/sqlite-viewer/">SQLite viewer</a>, <a href="/mysql-client/">MySQL client</a>, <a href="/postgresql-client/">PostgreSQL client</a>, <a href="/sql-server-client/">SQL Server client</a>, <a href="/oracle-client/">Oracle client</a>, <a href="/neon-client/">Neon client</a>, <a href="/supabase-client/">Supabase client</a> and <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>.</p>
104
+ <h2>Free to use</h2>
105
+ <p>Planche is free to use, has no account or paywall, and does not collect your queries or data — connection profiles live only in your browser.</p>
106
+ <footer>© Planche. Free forever for personal and commercial use.</footer>
107
+ </div>
108
+ </section>
109
+ <div id="root"></div>
110
+ </body>
111
+ </html>
@@ -0,0 +1,112 @@
1
+ <!doctype html>
2
+ <!-- Generated by scripts/build-landing.mjs from landing/content.mjs — edit the content module, not this file. -->
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <title>Free MySQL Client in Your Browser — Web GUI for MySQL 5.7 / 8</title>
9
+ <meta name="description" content="Free MySQL GUI client that runs in the browser. Query editor, data grid editing, schema browser, users, processes, ERD and SSH tunnels. Connects through a local agent (npx planche); credentials stay on your machine." />
10
+ <link rel="canonical" href="https://planche.dev/mysql-client/" />
11
+ <link rel="alternate" hreflang="en" href="https://planche.dev/mysql-client/" />
12
+ <link rel="alternate" hreflang="ko" href="https://planche.dev/ko/mysql-client/" />
13
+ <link rel="alternate" hreflang="ja" href="https://planche.dev/ja/mysql-client/" />
14
+ <link rel="alternate" hreflang="zh" href="https://planche.dev/zh/mysql-client/" />
15
+ <link rel="alternate" hreflang="de" href="https://planche.dev/de/mysql-client/" />
16
+ <link rel="alternate" hreflang="fr" href="https://planche.dev/fr/mysql-client/" />
17
+ <link rel="alternate" hreflang="x-default" href="https://planche.dev/mysql-client/" />
18
+ <meta property="og:type" content="website" />
19
+ <meta property="og:site_name" content="Planche" />
20
+ <meta property="og:title" content="Free MySQL client in your browser" />
21
+ <meta property="og:description" content="Free MySQL GUI client that runs in the browser. Query editor, data grid editing, schema browser, users, processes, ERD and SSH tunnels. Connects through a local agent (npx planche); credentials stay on your machine." />
22
+ <meta property="og:url" content="https://planche.dev/mysql-client/" />
23
+ <meta property="og:image" content="https://planche.dev/og-image.png" />
24
+ <meta property="og:image:width" content="1200" />
25
+ <meta property="og:image:height" content="630" />
26
+ <meta property="og:image:alt" content="Free MySQL client in your browser" />
27
+ <meta property="og:locale" content="en_US" />
28
+ <meta property="og:locale:alternate" content="ko_KR" />
29
+ <meta property="og:locale:alternate" content="ja_JP" />
30
+ <meta property="og:locale:alternate" content="zh_CN" />
31
+ <meta property="og:locale:alternate" content="de_DE" />
32
+ <meta property="og:locale:alternate" content="fr_FR" />
33
+ <meta name="twitter:card" content="summary_large_image" />
34
+ <meta name="twitter:title" content="Free MySQL client in your browser" />
35
+ <meta name="twitter:description" content="Free MySQL GUI client that runs in the browser. Query editor, data grid editing, schema browser, users, processes, ERD and SSH tunnels. Connects through a local agent (npx planche); credentials stay on your machine." />
36
+ <meta name="twitter:image" content="https://planche.dev/og-image.png" />
37
+ <link rel="stylesheet" href="/landing.css" />
38
+ <script type="module" crossorigin src="/assets/rolldown-runtime-hePW80VL.js"></script>
39
+ <script type="module" crossorigin src="/assets/ui-store-BPY9VfQP.js"></script>
40
+ <script type="module" crossorigin src="/assets/button-DkRlMkru.js"></script>
41
+ <script type="module" crossorigin src="/assets/preload-helper-Czpn1I53.js"></script>
42
+ <script type="module" crossorigin src="/assets/i18n-C7R6hKCp.js"></script>
43
+ <script type="module" crossorigin src="/assets/editor.api2-JBjomUWM.js"></script>
44
+ <script type="module" crossorigin src="/assets/dist-BV6Hwye5.js"></script>
45
+ <script type="module" crossorigin src="/assets/dist-C2pydad-.js"></script>
46
+ <script type="module" crossorigin src="/assets/dist-C3MLFgG1.js"></script>
47
+ <script type="module" crossorigin src="/assets/app-storage-B6v72zLH.js"></script>
48
+ <script type="module" crossorigin src="/assets/connection-store-CJ_al8qv.js"></script>
49
+ <script type="module" crossorigin src="/assets/settings-store-DxKFgC4Z.js"></script>
50
+ <script type="module" crossorigin src="/assets/query-store-DlzOIWw1.js"></script>
51
+ <script type="module" crossorigin src="/assets/database-BIhkgl2O.js"></script>
52
+ <script type="module" crossorigin src="/assets/dbms-Cq4imB7l.js"></script>
53
+ <script type="module" crossorigin src="/assets/engine-DBTzC3si.js"></script>
54
+ <script type="module" crossorigin src="/assets/schema-nodes-n_QZJb21.js"></script>
55
+ <script type="module" crossorigin src="/assets/query-execution-CR2mkIdH.js"></script>
56
+ <script type="module" crossorigin src="/assets/use-engine-F2Y_trPz.js"></script>
57
+ <script type="module" crossorigin src="/assets/table-definition-Bs5VSn0X.js"></script>
58
+ <script type="module" crossorigin src="/assets/table-copy-2y2RNth1.js"></script>
59
+ <script type="module" crossorigin src="/assets/main-NJl8KiiX.js"></script>
60
+ <link rel="stylesheet" crossorigin href="/assets/editor-Br_kD0ds.css">
61
+ <link rel="stylesheet" crossorigin href="/assets/main-DI8DxG3x.css">
62
+ </head>
63
+ <body>
64
+ <section id="landing">
65
+ <div>
66
+ <nav aria-label="Database clients">
67
+ <a href="/">Planche</a>
68
+ <a href="/sqlite-viewer/">SQLite viewer</a>
69
+ <a href="/mysql-client/" aria-current="page">MySQL client</a>
70
+ <a href="/mariadb-client/">MariaDB client</a>
71
+ <a href="/postgresql-client/">PostgreSQL client</a>
72
+ <a href="/sql-server-client/">SQL Server client</a>
73
+ <a href="/oracle-client/">Oracle client</a>
74
+ <a href="/neon-client/">Neon client</a>
75
+ <a href="/supabase-client/">Supabase client</a>
76
+ <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>
77
+ </nav>
78
+ <nav class="languages" aria-label="Languages">
79
+ <a href="/mysql-client/" hreflang="en" lang="en" aria-current="true">English</a>
80
+ <a href="/ko/mysql-client/" hreflang="ko" lang="ko">한국어</a>
81
+ <a href="/ja/mysql-client/" hreflang="ja" lang="ja">日本語</a>
82
+ <a href="/zh/mysql-client/" hreflang="zh" lang="zh">中文</a>
83
+ <a href="/de/mysql-client/" hreflang="de" lang="de">Deutsch</a>
84
+ <a href="/fr/mysql-client/" hreflang="fr" lang="fr">Français</a>
85
+ </nav>
86
+ <h1>MySQL client that runs in your browser</h1>
87
+ <p>Planche is a free MySQL GUI — an alternative to MySQL Workbench, phpMyAdmin or paid desktop tools — with nothing to install except a one-line local agent. It works with MySQL 5.7, 8.x and compatible servers such as Amazon RDS, Aurora and PlanetScale.</p>
88
+ <a class="cta" href="/mysql-client/">Open the MySQL client</a>
89
+
90
+ <h2>Features</h2>
91
+ <ul>
92
+ <li>SQL editor with MySQL syntax highlighting, autocomplete, multi-statement scripts and <code>DELIMITER</code> support</li>
93
+ <li>Editable result grid; UPDATE statements are previewed before commit</li>
94
+ <li>Schema tree: databases, tables, views, procedures, functions, events, triggers, columns, indexes</li>
95
+ <li>Table designer, CREATE TABLE DDL, user management, process list, server variables and status</li>
96
+ <li>ERD viewer from foreign keys, with saved layouts</li>
97
+ <li>Guard rails: read-only connections, production color, destructive-statement confirmation, manual transactions</li>
98
+ <li>Query history and local snapshots of your editor tabs</li>
99
+ </ul>
100
+
101
+ <h2>How it connects</h2>
102
+ <p>Run <code>npx planche</code> in a terminal (Node 22+). It starts a tiny local agent on your machine that holds the MySQL connection and opens this page already paired to it. The browser talks only to <code>127.0.0.1</code>; your host, user and password never go to any server. Remote databases can be reached through an <strong>SSH tunnel</strong> (password, key or ssh-agent, honoring <code>~/.ssh/config</code>).</p>
103
+ <p>Because the agent runs locally you can use Planche as a MySQL GUI on macOS, Windows and Linux without installing a desktop application — just a browser and Node.</p>
104
+ <p>Also available: <a href="/sqlite-viewer/">SQLite viewer</a>, <a href="/mariadb-client/">MariaDB client</a>, <a href="/postgresql-client/">PostgreSQL client</a>, <a href="/sql-server-client/">SQL Server client</a>, <a href="/oracle-client/">Oracle client</a>, <a href="/neon-client/">Neon client</a>, <a href="/supabase-client/">Supabase client</a> and <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>.</p>
105
+ <h2>Free to use</h2>
106
+ <p>Planche is free to use, has no account or paywall, and does not collect your queries or data — connection profiles live only in your browser.</p>
107
+ <footer>© Planche. Free forever for personal and commercial use.</footer>
108
+ </div>
109
+ </section>
110
+ <div id="root"></div>
111
+ </body>
112
+ </html>
@@ -0,0 +1,111 @@
1
+ <!doctype html>
2
+ <!-- Generated by scripts/build-landing.mjs from landing/content.mjs — edit the content module, not this file. -->
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <title>Free Neon Postgres Client in Your Browser — GUI for Neon Databases</title>
9
+ <meta name="description" content="Free GUI client for Neon serverless Postgres that runs in the browser. Paste your Neon connection string and browse tables, run SQL, edit rows and view the ERD. Connects through a local agent (npx planche); credentials stay on your machine." />
10
+ <link rel="canonical" href="https://planche.dev/neon-client/" />
11
+ <link rel="alternate" hreflang="en" href="https://planche.dev/neon-client/" />
12
+ <link rel="alternate" hreflang="ko" href="https://planche.dev/ko/neon-client/" />
13
+ <link rel="alternate" hreflang="ja" href="https://planche.dev/ja/neon-client/" />
14
+ <link rel="alternate" hreflang="zh" href="https://planche.dev/zh/neon-client/" />
15
+ <link rel="alternate" hreflang="de" href="https://planche.dev/de/neon-client/" />
16
+ <link rel="alternate" hreflang="fr" href="https://planche.dev/fr/neon-client/" />
17
+ <link rel="alternate" hreflang="x-default" href="https://planche.dev/neon-client/" />
18
+ <meta property="og:type" content="website" />
19
+ <meta property="og:site_name" content="Planche" />
20
+ <meta property="og:title" content="Free Neon Postgres client in your browser" />
21
+ <meta property="og:description" content="Free GUI client for Neon serverless Postgres that runs in the browser. Paste your Neon connection string and browse tables, run SQL, edit rows and view the ERD. Connects through a local agent (npx planche); credentials stay on your machine." />
22
+ <meta property="og:url" content="https://planche.dev/neon-client/" />
23
+ <meta property="og:image" content="https://planche.dev/og-image.png" />
24
+ <meta property="og:image:width" content="1200" />
25
+ <meta property="og:image:height" content="630" />
26
+ <meta property="og:image:alt" content="Free Neon Postgres client in your browser" />
27
+ <meta property="og:locale" content="en_US" />
28
+ <meta property="og:locale:alternate" content="ko_KR" />
29
+ <meta property="og:locale:alternate" content="ja_JP" />
30
+ <meta property="og:locale:alternate" content="zh_CN" />
31
+ <meta property="og:locale:alternate" content="de_DE" />
32
+ <meta property="og:locale:alternate" content="fr_FR" />
33
+ <meta name="twitter:card" content="summary_large_image" />
34
+ <meta name="twitter:title" content="Free Neon Postgres client in your browser" />
35
+ <meta name="twitter:description" content="Free GUI client for Neon serverless Postgres that runs in the browser. Paste your Neon connection string and browse tables, run SQL, edit rows and view the ERD. Connects through a local agent (npx planche); credentials stay on your machine." />
36
+ <meta name="twitter:image" content="https://planche.dev/og-image.png" />
37
+ <link rel="stylesheet" href="/landing.css" />
38
+ <script type="module" crossorigin src="/assets/rolldown-runtime-hePW80VL.js"></script>
39
+ <script type="module" crossorigin src="/assets/ui-store-BPY9VfQP.js"></script>
40
+ <script type="module" crossorigin src="/assets/button-DkRlMkru.js"></script>
41
+ <script type="module" crossorigin src="/assets/preload-helper-Czpn1I53.js"></script>
42
+ <script type="module" crossorigin src="/assets/i18n-C7R6hKCp.js"></script>
43
+ <script type="module" crossorigin src="/assets/editor.api2-JBjomUWM.js"></script>
44
+ <script type="module" crossorigin src="/assets/dist-BV6Hwye5.js"></script>
45
+ <script type="module" crossorigin src="/assets/dist-C2pydad-.js"></script>
46
+ <script type="module" crossorigin src="/assets/dist-C3MLFgG1.js"></script>
47
+ <script type="module" crossorigin src="/assets/app-storage-B6v72zLH.js"></script>
48
+ <script type="module" crossorigin src="/assets/connection-store-CJ_al8qv.js"></script>
49
+ <script type="module" crossorigin src="/assets/settings-store-DxKFgC4Z.js"></script>
50
+ <script type="module" crossorigin src="/assets/query-store-DlzOIWw1.js"></script>
51
+ <script type="module" crossorigin src="/assets/database-BIhkgl2O.js"></script>
52
+ <script type="module" crossorigin src="/assets/dbms-Cq4imB7l.js"></script>
53
+ <script type="module" crossorigin src="/assets/engine-DBTzC3si.js"></script>
54
+ <script type="module" crossorigin src="/assets/schema-nodes-n_QZJb21.js"></script>
55
+ <script type="module" crossorigin src="/assets/query-execution-CR2mkIdH.js"></script>
56
+ <script type="module" crossorigin src="/assets/use-engine-F2Y_trPz.js"></script>
57
+ <script type="module" crossorigin src="/assets/table-definition-Bs5VSn0X.js"></script>
58
+ <script type="module" crossorigin src="/assets/table-copy-2y2RNth1.js"></script>
59
+ <script type="module" crossorigin src="/assets/main-NJl8KiiX.js"></script>
60
+ <link rel="stylesheet" crossorigin href="/assets/editor-Br_kD0ds.css">
61
+ <link rel="stylesheet" crossorigin href="/assets/main-DI8DxG3x.css">
62
+ </head>
63
+ <body>
64
+ <section id="landing">
65
+ <div>
66
+ <nav aria-label="Database clients">
67
+ <a href="/">Planche</a>
68
+ <a href="/sqlite-viewer/">SQLite viewer</a>
69
+ <a href="/mysql-client/">MySQL client</a>
70
+ <a href="/mariadb-client/">MariaDB client</a>
71
+ <a href="/postgresql-client/">PostgreSQL client</a>
72
+ <a href="/sql-server-client/">SQL Server client</a>
73
+ <a href="/oracle-client/">Oracle client</a>
74
+ <a href="/neon-client/" aria-current="page">Neon client</a>
75
+ <a href="/supabase-client/">Supabase client</a>
76
+ <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>
77
+ </nav>
78
+ <nav class="languages" aria-label="Languages">
79
+ <a href="/neon-client/" hreflang="en" lang="en" aria-current="true">English</a>
80
+ <a href="/ko/neon-client/" hreflang="ko" lang="ko">한국어</a>
81
+ <a href="/ja/neon-client/" hreflang="ja" lang="ja">日本語</a>
82
+ <a href="/zh/neon-client/" hreflang="zh" lang="zh">中文</a>
83
+ <a href="/de/neon-client/" hreflang="de" lang="de">Deutsch</a>
84
+ <a href="/fr/neon-client/" hreflang="fr" lang="fr">Français</a>
85
+ </nav>
86
+ <h1>Neon Postgres client that runs in your browser</h1>
87
+ <p>Planche is a free GUI for <strong>Neon</strong> serverless Postgres. Paste the connection string from the Neon console and you get a full SQL editor, schema browser, editable grid and ERD — with a browser and a one-line local agent, no desktop application.</p>
88
+ <a class="cta" href="/neon-client/">Open the Neon client</a>
89
+
90
+ <h2>Features</h2>
91
+ <ul>
92
+ <li>Paste <code>postgresql://…neon.tech/neondb?sslmode=require</code> — host, user, password and database fill in automatically</li>
93
+ <li>TLS always on, server certificate verified; no SSH or firewall configuration needed</li>
94
+ <li>Works with every Neon branch — each branch is just another connection profile</li>
95
+ <li>PostgreSQL-aware SQL editor, schema tree (schemas › tables, views, functions), editable result grid</li>
96
+ <li>CREATE TABLE DDL, ERD viewer from foreign keys, read-only and production guard rails</li>
97
+ <li>Query history and local snapshots</li>
98
+ </ul>
99
+
100
+ <h2>How it connects</h2>
101
+ <p>Run <code>npx planche</code> in a terminal (Node 22+). It starts a tiny local agent on your machine that opens the TLS connection to Neon and opens this page already paired to it. The browser talks only to <code>127.0.0.1</code>; your Neon password never goes to any server other than Neon. Cold starts on a suspended compute are simply awaited.</p>
102
+ <p>Neon is standard PostgreSQL, so everything from the <a href="/postgresql-client/">PostgreSQL client</a> applies, including dollar quoting, <code>search_path</code> switching and the full introspection of schemas, views and functions.</p>
103
+ <p>Also available: <a href="/sqlite-viewer/">SQLite viewer</a>, <a href="/mysql-client/">MySQL client</a>, <a href="/mariadb-client/">MariaDB client</a>, <a href="/postgresql-client/">PostgreSQL client</a>, <a href="/sql-server-client/">SQL Server client</a>, <a href="/oracle-client/">Oracle client</a>, <a href="/supabase-client/">Supabase client</a> and <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>.</p>
104
+ <h2>Free to use</h2>
105
+ <p>Planche is free to use, has no account or paywall, and does not collect your queries or data — connection profiles live only in your browser.</p>
106
+ <footer>© Planche. Free forever for personal and commercial use.</footer>
107
+ </div>
108
+ </section>
109
+ <div id="root"></div>
110
+ </body>
111
+ </html>
Binary file
@@ -0,0 +1,111 @@
1
+ <!doctype html>
2
+ <!-- Generated by scripts/build-landing.mjs from landing/content.mjs — edit the content module, not this file. -->
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <title>Free Oracle Database Client in Your Browser — Web GUI for Oracle</title>
9
+ <meta name="description" content="Free Oracle Database GUI client that runs in the browser. SQL and PL/SQL editor, editable data grid, schema browser, ERD and SSH tunnels. No Oracle Instant Client needed. Connects through a local agent (npx planche)." />
10
+ <link rel="canonical" href="https://planche.dev/oracle-client/" />
11
+ <link rel="alternate" hreflang="en" href="https://planche.dev/oracle-client/" />
12
+ <link rel="alternate" hreflang="ko" href="https://planche.dev/ko/oracle-client/" />
13
+ <link rel="alternate" hreflang="ja" href="https://planche.dev/ja/oracle-client/" />
14
+ <link rel="alternate" hreflang="zh" href="https://planche.dev/zh/oracle-client/" />
15
+ <link rel="alternate" hreflang="de" href="https://planche.dev/de/oracle-client/" />
16
+ <link rel="alternate" hreflang="fr" href="https://planche.dev/fr/oracle-client/" />
17
+ <link rel="alternate" hreflang="x-default" href="https://planche.dev/oracle-client/" />
18
+ <meta property="og:type" content="website" />
19
+ <meta property="og:site_name" content="Planche" />
20
+ <meta property="og:title" content="Free Oracle Database client in your browser" />
21
+ <meta property="og:description" content="Free Oracle Database GUI client that runs in the browser. SQL and PL/SQL editor, editable data grid, schema browser, ERD and SSH tunnels. No Oracle Instant Client needed. Connects through a local agent (npx planche)." />
22
+ <meta property="og:url" content="https://planche.dev/oracle-client/" />
23
+ <meta property="og:image" content="https://planche.dev/og-image.png" />
24
+ <meta property="og:image:width" content="1200" />
25
+ <meta property="og:image:height" content="630" />
26
+ <meta property="og:image:alt" content="Free Oracle Database client in your browser" />
27
+ <meta property="og:locale" content="en_US" />
28
+ <meta property="og:locale:alternate" content="ko_KR" />
29
+ <meta property="og:locale:alternate" content="ja_JP" />
30
+ <meta property="og:locale:alternate" content="zh_CN" />
31
+ <meta property="og:locale:alternate" content="de_DE" />
32
+ <meta property="og:locale:alternate" content="fr_FR" />
33
+ <meta name="twitter:card" content="summary_large_image" />
34
+ <meta name="twitter:title" content="Free Oracle Database client in your browser" />
35
+ <meta name="twitter:description" content="Free Oracle Database GUI client that runs in the browser. SQL and PL/SQL editor, editable data grid, schema browser, ERD and SSH tunnels. No Oracle Instant Client needed. Connects through a local agent (npx planche)." />
36
+ <meta name="twitter:image" content="https://planche.dev/og-image.png" />
37
+ <link rel="stylesheet" href="/landing.css" />
38
+ <script type="module" crossorigin src="/assets/rolldown-runtime-hePW80VL.js"></script>
39
+ <script type="module" crossorigin src="/assets/ui-store-BPY9VfQP.js"></script>
40
+ <script type="module" crossorigin src="/assets/button-DkRlMkru.js"></script>
41
+ <script type="module" crossorigin src="/assets/preload-helper-Czpn1I53.js"></script>
42
+ <script type="module" crossorigin src="/assets/i18n-C7R6hKCp.js"></script>
43
+ <script type="module" crossorigin src="/assets/editor.api2-JBjomUWM.js"></script>
44
+ <script type="module" crossorigin src="/assets/dist-BV6Hwye5.js"></script>
45
+ <script type="module" crossorigin src="/assets/dist-C2pydad-.js"></script>
46
+ <script type="module" crossorigin src="/assets/dist-C3MLFgG1.js"></script>
47
+ <script type="module" crossorigin src="/assets/app-storage-B6v72zLH.js"></script>
48
+ <script type="module" crossorigin src="/assets/connection-store-CJ_al8qv.js"></script>
49
+ <script type="module" crossorigin src="/assets/settings-store-DxKFgC4Z.js"></script>
50
+ <script type="module" crossorigin src="/assets/query-store-DlzOIWw1.js"></script>
51
+ <script type="module" crossorigin src="/assets/database-BIhkgl2O.js"></script>
52
+ <script type="module" crossorigin src="/assets/dbms-Cq4imB7l.js"></script>
53
+ <script type="module" crossorigin src="/assets/engine-DBTzC3si.js"></script>
54
+ <script type="module" crossorigin src="/assets/schema-nodes-n_QZJb21.js"></script>
55
+ <script type="module" crossorigin src="/assets/query-execution-CR2mkIdH.js"></script>
56
+ <script type="module" crossorigin src="/assets/use-engine-F2Y_trPz.js"></script>
57
+ <script type="module" crossorigin src="/assets/table-definition-Bs5VSn0X.js"></script>
58
+ <script type="module" crossorigin src="/assets/table-copy-2y2RNth1.js"></script>
59
+ <script type="module" crossorigin src="/assets/main-NJl8KiiX.js"></script>
60
+ <link rel="stylesheet" crossorigin href="/assets/editor-Br_kD0ds.css">
61
+ <link rel="stylesheet" crossorigin href="/assets/main-DI8DxG3x.css">
62
+ </head>
63
+ <body>
64
+ <section id="landing">
65
+ <div>
66
+ <nav aria-label="Database clients">
67
+ <a href="/">Planche</a>
68
+ <a href="/sqlite-viewer/">SQLite viewer</a>
69
+ <a href="/mysql-client/">MySQL client</a>
70
+ <a href="/mariadb-client/">MariaDB client</a>
71
+ <a href="/postgresql-client/">PostgreSQL client</a>
72
+ <a href="/sql-server-client/">SQL Server client</a>
73
+ <a href="/oracle-client/" aria-current="page">Oracle client</a>
74
+ <a href="/neon-client/">Neon client</a>
75
+ <a href="/supabase-client/">Supabase client</a>
76
+ <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>
77
+ </nav>
78
+ <nav class="languages" aria-label="Languages">
79
+ <a href="/oracle-client/" hreflang="en" lang="en" aria-current="true">English</a>
80
+ <a href="/ko/oracle-client/" hreflang="ko" lang="ko">한국어</a>
81
+ <a href="/ja/oracle-client/" hreflang="ja" lang="ja">日本語</a>
82
+ <a href="/zh/oracle-client/" hreflang="zh" lang="zh">中文</a>
83
+ <a href="/de/oracle-client/" hreflang="de" lang="de">Deutsch</a>
84
+ <a href="/fr/oracle-client/" hreflang="fr" lang="fr">Français</a>
85
+ </nav>
86
+ <h1>Oracle Database client that runs in your browser</h1>
87
+ <p>Planche is a free Oracle GUI — a lightweight alternative to SQL Developer or Toad — that needs only a browser and a one-line local agent. Works with Oracle Database 19c, 21c and 23ai (including Oracle Free), Autonomous Database and Oracle on Docker, with no Instant Client to install.</p>
88
+ <a class="cta" href="/oracle-client/">Open the Oracle client</a>
89
+
90
+ <h2>Features</h2>
91
+ <ul>
92
+ <li>SQL and PL/SQL editor: anonymous blocks and <code>/</code> terminators parsed correctly, trailing <code>;</code> handled for you</li>
93
+ <li>Schema-aware tree: schemas › tables, views, procedures, functions, triggers, columns, indexes</li>
94
+ <li>Editable result grid with previewed UPDATE statements; <code>FETCH FIRST n ROWS</code> limits applied to ad-hoc SELECTs</li>
95
+ <li>CREATE TABLE DDL, ERD viewer from foreign keys</li>
96
+ <li>Read-only connections, production color, destructive-statement confirmation, manual transactions</li>
97
+ <li>Query history and local snapshots</li>
98
+ </ul>
99
+
100
+ <h2>How it connects</h2>
101
+ <p>Run <code>npx planche</code> in a terminal (Node 22+). It starts a tiny local agent on your machine that holds the Oracle session (pure-JavaScript <code>oracledb</code> thin mode — nothing else to install) and opens this page already paired to it. The browser talks only to <code>127.0.0.1</code>; your host, user and password never go to any server. Remote databases can be reached through an <strong>SSH tunnel</strong>.</p>
102
+ <p>Connect with a host, port and service name (for example <code>FREEPDB1</code>); the current schema is switched with <code>ALTER SESSION SET CURRENT_SCHEMA</code> as you browse.</p>
103
+ <p>Also available: <a href="/sqlite-viewer/">SQLite viewer</a>, <a href="/mysql-client/">MySQL client</a>, <a href="/mariadb-client/">MariaDB client</a>, <a href="/postgresql-client/">PostgreSQL client</a>, <a href="/sql-server-client/">SQL Server client</a>, <a href="/neon-client/">Neon client</a>, <a href="/supabase-client/">Supabase client</a> and <a href="/cloudflare-d1-client/">Cloudflare D1 client</a>.</p>
104
+ <h2>Free to use</h2>
105
+ <p>Planche is free to use, has no account or paywall, and does not collect your queries or data — connection profiles live only in your browser.</p>
106
+ <footer>© Planche. Free forever for personal and commercial use.</footer>
107
+ </div>
108
+ </section>
109
+ <div id="root"></div>
110
+ </body>
111
+ </html>