├── .github └── workflows │ └── main.yml ├── .gitignore ├── .npmignore ├── LICENSE.txt ├── README.md ├── app ├── .eslintrc.cjs ├── .gitignore ├── .npmignore ├── .prettierrc ├── package-lock.json ├── package.json ├── patches │ └── svelte+3.43.0.patch ├── src │ ├── app.html │ ├── global.d.ts │ ├── hooks.ts │ ├── lib │ │ ├── AddrInput.svelte │ │ ├── Arc.svelte │ │ ├── Attachments.svelte │ │ ├── BooleanField.svelte │ │ ├── Checkbox.svelte │ │ ├── ChipField.svelte │ │ ├── CircularGraph.svelte │ │ ├── CircularProgress.svelte │ │ ├── Compose │ │ │ ├── AddrInput.svelte │ │ │ ├── Compose.svelte │ │ │ ├── Window.svelte │ │ │ └── compose.ts │ │ ├── Dashboard │ │ │ ├── AccountButton.svelte │ │ │ ├── Dashboard.svelte │ │ │ ├── Drawer.svelte │ │ │ ├── DrawerMailbox.svelte │ │ │ └── Top.svelte │ │ ├── DatePicker.svelte │ │ ├── Dialog.svelte │ │ ├── Editor │ │ │ ├── Bar.svelte │ │ │ ├── CodeEditor.svelte │ │ │ ├── Color.svelte │ │ │ ├── ColorCell.svelte │ │ │ ├── ColorGroup.svelte │ │ │ ├── Editor.svelte │ │ │ ├── FileItem.svelte │ │ │ ├── FontFamily.svelte │ │ │ ├── FontSize.svelte │ │ │ ├── SignatureBar.svelte │ │ │ ├── SignatureEditor.svelte │ │ │ ├── Upload.svelte │ │ │ ├── iframe.css │ │ │ └── material-colors.ts │ │ ├── Formy │ │ │ ├── Formy.svelte │ │ │ └── ValidationError.svelte │ │ ├── Keyed.svelte │ │ ├── Mailbox │ │ │ ├── Mailbox.svelte │ │ │ ├── Message.svelte │ │ │ └── Top.svelte │ │ ├── Menu │ │ │ ├── Menu.svelte │ │ │ └── MenuItem.svelte │ │ ├── MoveTo.svelte │ │ ├── Navigating.svelte │ │ ├── Notify │ │ │ ├── Notifier.svelte │ │ │ └── notify.ts │ │ ├── Password.svelte │ │ ├── Popup.svelte │ │ ├── PopupButton.svelte │ │ ├── PopupIcon.svelte │ │ ├── PopupSelector.svelte │ │ ├── PortalPopup.svelte │ │ ├── Ripple.svelte │ │ ├── Search │ │ │ ├── SearchResult.svelte │ │ │ └── SearchTop.svelte │ │ ├── Select.svelte │ │ ├── Switch.svelte │ │ ├── Tab │ │ │ └── TabTop.svelte │ │ ├── TextField.svelte │ │ ├── TransitionPage.svelte │ │ ├── actions.ts │ │ ├── events.ts │ │ ├── fileIcons.ts │ │ ├── intertab.ts │ │ ├── locale.ts │ │ ├── signature.ts │ │ ├── types.d.ts │ │ └── util.ts │ ├── routes │ │ ├── [...notfound].svelte │ │ ├── __error.svelte │ │ ├── __layout.svelte │ │ ├── index.svelte │ │ ├── login │ │ │ ├── __layout.reset.svelte │ │ │ └── index.svelte │ │ ├── mailbox │ │ │ └── [mailbox] │ │ │ │ ├── index.svelte │ │ │ │ └── message │ │ │ │ └── [message].svelte │ │ ├── me.svelte │ │ ├── offline │ │ │ ├── __layout.reset.svelte │ │ │ └── index.svelte │ │ ├── search.svelte │ │ └── signature.svelte │ ├── service-worker.ts │ └── sessMap.ts ├── static │ ├── file-icons │ │ ├── 3g2.svg │ │ ├── 3ga.svg │ │ ├── 3gp.svg │ │ ├── 7z.svg │ │ ├── aa.svg │ │ ├── aac.svg │ │ ├── ac.svg │ │ ├── accdb.svg │ │ ├── accdt.svg │ │ ├── ace.svg │ │ ├── adn.svg │ │ ├── ai.svg │ │ ├── aif.svg │ │ ├── aifc.svg │ │ ├── aiff.svg │ │ ├── ait.svg │ │ ├── amr.svg │ │ ├── ani.svg │ │ ├── apk.svg │ │ ├── app.svg │ │ ├── applescript.svg │ │ ├── asax.svg │ │ ├── asc.svg │ │ ├── ascx.svg │ │ ├── asf.svg │ │ ├── ash.svg │ │ ├── ashx.svg │ │ ├── asm.svg │ │ ├── asmx.svg │ │ ├── asp.svg │ │ ├── aspx.svg │ │ ├── asx.svg │ │ ├── au.svg │ │ ├── aup.svg │ │ ├── avi.svg │ │ ├── axd.svg │ │ ├── aze.svg │ │ ├── bak.svg │ │ ├── bash.svg │ │ ├── bat.svg │ │ ├── bin.svg │ │ ├── blank.svg │ │ ├── bmp.svg │ │ ├── bowerrc.svg │ │ ├── bpg.svg │ │ ├── browser.svg │ │ ├── bz2.svg │ │ ├── bzempty.svg │ │ ├── c.svg │ │ ├── cab.svg │ │ ├── cad.svg │ │ ├── caf.svg │ │ ├── cal.svg │ │ ├── catalog.json │ │ ├── cd.svg │ │ ├── cdda.svg │ │ ├── cer.svg │ │ ├── cfg.svg │ │ ├── cfm.svg │ │ ├── cfml.svg │ │ ├── cgi.svg │ │ ├── chm.svg │ │ ├── class.svg │ │ ├── cmd.svg │ │ ├── code-workspace.svg │ │ ├── codekit.svg │ │ ├── coffee.svg │ │ ├── coffeelintignore.svg │ │ ├── com.svg │ │ ├── compile.svg │ │ ├── conf.svg │ │ ├── config.svg │ │ ├── cpp.svg │ │ ├── cptx.svg │ │ ├── cr2.svg │ │ ├── crdownload.svg │ │ ├── crt.svg │ │ ├── crypt.svg │ │ ├── cs.svg │ │ ├── csh.svg │ │ ├── cson.svg │ │ ├── csproj.svg │ │ ├── css.svg │ │ ├── csv.svg │ │ ├── cue.svg │ │ ├── cur.svg │ │ ├── dart.svg │ │ ├── dat.svg │ │ ├── data.svg │ │ ├── db.svg │ │ ├── dbf.svg │ │ ├── deb.svg │ │ ├── default.svg │ │ ├── dgn.svg │ │ ├── dist.svg │ │ ├── diz.svg │ │ ├── dll.svg │ │ ├── dmg.svg │ │ ├── dng.svg │ │ ├── doc.svg │ │ ├── docb.svg │ │ ├── docm.svg │ │ ├── docx.svg │ │ ├── dot.svg │ │ ├── dotm.svg │ │ ├── dotx.svg │ │ ├── download.svg │ │ ├── dpj.svg │ │ ├── ds_store.svg │ │ ├── dsn.svg │ │ ├── dtd.svg │ │ ├── dwg.svg │ │ ├── dxf.svg │ │ ├── editorconfig.svg │ │ ├── el.svg │ │ ├── elf.svg │ │ ├── eml.svg │ │ ├── enc.svg │ │ ├── eot.svg │ │ ├── eps.svg │ │ ├── epub.svg │ │ ├── eslintignore.svg │ │ ├── exe.svg │ │ ├── f4v.svg │ │ ├── fax.svg │ │ ├── fb2.svg │ │ ├── fla.svg │ │ ├── flac.svg │ │ ├── flv.svg │ │ ├── fnt.svg │ │ ├── folder.svg │ │ ├── fon.svg │ │ ├── gadget.svg │ │ ├── gdp.svg │ │ ├── gem.svg │ │ ├── gif.svg │ │ ├── gitattributes.svg │ │ ├── gitignore.svg │ │ ├── go.svg │ │ ├── gpg.svg │ │ ├── gpl.svg │ │ ├── gradle.svg │ │ ├── gz.svg │ │ ├── h.svg │ │ ├── handlebars.svg │ │ ├── hbs.svg │ │ ├── heic.svg │ │ ├── hlp.svg │ │ ├── hs.svg │ │ ├── hsl.svg │ │ ├── htm.svg │ │ ├── html.svg │ │ ├── ibooks.svg │ │ ├── icns.svg │ │ ├── ico.svg │ │ ├── ics.svg │ │ ├── idx.svg │ │ ├── iff.svg │ │ ├── ifo.svg │ │ ├── image.svg │ │ ├── img.svg │ │ ├── iml.svg │ │ ├── in.svg │ │ ├── inc.svg │ │ ├── indd.svg │ │ ├── inf.svg │ │ ├── info.svg │ │ ├── ini.svg │ │ ├── inv.svg │ │ ├── iso.svg │ │ ├── j2.svg │ │ ├── jar.svg │ │ ├── java.svg │ │ ├── jpe.svg │ │ ├── jpeg.svg │ │ ├── jpg.svg │ │ ├── js.svg │ │ ├── json.svg │ │ ├── jsp.svg │ │ ├── jsx.svg │ │ ├── key.svg │ │ ├── kf8.svg │ │ ├── kmk.svg │ │ ├── ksh.svg │ │ ├── kt.svg │ │ ├── kts.svg │ │ ├── kup.svg │ │ ├── less.svg │ │ ├── lex.svg │ │ ├── licx.svg │ │ ├── lisp.svg │ │ ├── lit.svg │ │ ├── lnk.svg │ │ ├── lock.svg │ │ ├── log.svg │ │ ├── lua.svg │ │ ├── m.svg │ │ ├── m2v.svg │ │ ├── m3u.svg │ │ ├── m3u8.svg │ │ ├── m4.svg │ │ ├── m4a.svg │ │ ├── m4r.svg │ │ ├── m4v.svg │ │ ├── map.svg │ │ ├── master.svg │ │ ├── mc.svg │ │ ├── md.svg │ │ ├── mdb.svg │ │ ├── mdf.svg │ │ ├── me.svg │ │ ├── mi.svg │ │ ├── mid.svg │ │ ├── midi.svg │ │ ├── mk.svg │ │ ├── mkv.svg │ │ ├── mm.svg │ │ ├── mng.svg │ │ ├── mo.svg │ │ ├── mobi.svg │ │ ├── mod.svg │ │ ├── mov.svg │ │ ├── mp2.svg │ │ ├── mp3.svg │ │ ├── mp4.svg │ │ ├── mpa.svg │ │ ├── mpd.svg │ │ ├── mpe.svg │ │ ├── mpeg.svg │ │ ├── mpg.svg │ │ ├── mpga.svg │ │ ├── mpp.svg │ │ ├── mpt.svg │ │ ├── msg.svg │ │ ├── msi.svg │ │ ├── msu.svg │ │ ├── nef.svg │ │ ├── nes.svg │ │ ├── nfo.svg │ │ ├── nix.svg │ │ ├── npmignore.svg │ │ ├── ocx.svg │ │ ├── odb.svg │ │ ├── ods.svg │ │ ├── odt.svg │ │ ├── ogg.svg │ │ ├── ogv.svg │ │ ├── ost.svg │ │ ├── otf.svg │ │ ├── ott.svg │ │ ├── ova.svg │ │ ├── ovf.svg │ │ ├── p12.svg │ │ ├── p7b.svg │ │ ├── pages.svg │ │ ├── part.svg │ │ ├── partial.svg │ │ ├── pcd.svg │ │ ├── pdb.svg │ │ ├── pdf.svg │ │ ├── pem.svg │ │ ├── pfx.svg │ │ ├── pgp.svg │ │ ├── ph.svg │ │ ├── phar.svg │ │ ├── php.svg │ │ ├── pid.svg │ │ ├── pkg.svg │ │ ├── pl.svg │ │ ├── plist.svg │ │ ├── pm.svg │ │ ├── png.svg │ │ ├── po.svg │ │ ├── pom.svg │ │ ├── pot.svg │ │ ├── potx.svg │ │ ├── pps.svg │ │ ├── ppsx.svg │ │ ├── ppt.svg │ │ ├── pptm.svg │ │ ├── pptx.svg │ │ ├── prop.svg │ │ ├── ps.svg │ │ ├── ps1.svg │ │ ├── psd.svg │ │ ├── psp.svg │ │ ├── pst.svg │ │ ├── pub.svg │ │ ├── py.svg │ │ ├── pyc.svg │ │ ├── qt.svg │ │ ├── ra.svg │ │ ├── ram.svg │ │ ├── rar.svg │ │ ├── raw.svg │ │ ├── rb.svg │ │ ├── rdf.svg │ │ ├── rdl.svg │ │ ├── reg.svg │ │ ├── resx.svg │ │ ├── retry.svg │ │ ├── rm.svg │ │ ├── rom.svg │ │ ├── rpm.svg │ │ ├── rpt.svg │ │ ├── rsa.svg │ │ ├── rss.svg │ │ ├── rst.svg │ │ ├── rtf.svg │ │ ├── ru.svg │ │ ├── rub.svg │ │ ├── sass.svg │ │ ├── scss.svg │ │ ├── sdf.svg │ │ ├── sed.svg │ │ ├── sh.svg │ │ ├── sit.svg │ │ ├── sitemap.svg │ │ ├── skin.svg │ │ ├── sldm.svg │ │ ├── sldx.svg │ │ ├── sln.svg │ │ ├── sol.svg │ │ ├── sphinx.svg │ │ ├── sql.svg │ │ ├── sqlite.svg │ │ ├── step.svg │ │ ├── stl.svg │ │ ├── svg.svg │ │ ├── swd.svg │ │ ├── swf.svg │ │ ├── swift.svg │ │ ├── swp.svg │ │ ├── sys.svg │ │ ├── tar.svg │ │ ├── tax.svg │ │ ├── tcsh.svg │ │ ├── tex.svg │ │ ├── tfignore.svg │ │ ├── tga.svg │ │ ├── tgz.svg │ │ ├── tif.svg │ │ ├── tiff.svg │ │ ├── tmp.svg │ │ ├── tmx.svg │ │ ├── torrent.svg │ │ ├── tpl.svg │ │ ├── ts.svg │ │ ├── tsv.svg │ │ ├── ttf.svg │ │ ├── twig.svg │ │ ├── txt.svg │ │ ├── udf.svg │ │ ├── vb.svg │ │ ├── vbproj.svg │ │ ├── vbs.svg │ │ ├── vcd.svg │ │ ├── vcf.svg │ │ ├── vcs.svg │ │ ├── vdi.svg │ │ ├── vdx.svg │ │ ├── vmdk.svg │ │ ├── vob.svg │ │ ├── vox.svg │ │ ├── vscodeignore.svg │ │ ├── vsd.svg │ │ ├── vss.svg │ │ ├── vst.svg │ │ ├── vsx.svg │ │ ├── vtx.svg │ │ ├── war.svg │ │ ├── wav.svg │ │ ├── wbk.svg │ │ ├── webinfo.svg │ │ ├── webm.svg │ │ ├── webp.svg │ │ ├── wma.svg │ │ ├── wmf.svg │ │ ├── wmv.svg │ │ ├── woff.svg │ │ ├── woff2.svg │ │ ├── wps.svg │ │ ├── wsf.svg │ │ ├── xaml.svg │ │ ├── xcf.svg │ │ ├── xfl.svg │ │ ├── xlm.svg │ │ ├── xls.svg │ │ ├── xlsm.svg │ │ ├── xlsx.svg │ │ ├── xlt.svg │ │ ├── xltm.svg │ │ ├── xltx.svg │ │ ├── xml.svg │ │ ├── xpi.svg │ │ ├── xps.svg │ │ ├── xrb.svg │ │ ├── xsd.svg │ │ ├── xsl.svg │ │ ├── xspf.svg │ │ ├── xz.svg │ │ ├── yaml.svg │ │ ├── yml.svg │ │ ├── z.svg │ │ ├── zip.svg │ │ └── zsh.svg │ ├── global.css │ ├── icons │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 180.png │ │ ├── 192.png │ │ ├── 256.png │ │ ├── 32.png │ │ ├── 512.png │ │ ├── 57.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ └── src │ │ │ ├── @.jpg │ │ │ ├── @.png │ │ │ └── @.xcf │ └── manifest.json ├── svelte.config.js └── tsconfig.json ├── config.sample.toml ├── package-lock.json ├── package.json ├── pm2.config.js ├── raven-webmail.png ├── raven.js └── server ├── .gitignore ├── .npmignore ├── src ├── api.ts ├── cli.ts ├── client.ts ├── config.ts ├── env.ts ├── events.ts ├── i18n │ ├── i18n.ts │ ├── locale.ts │ └── src │ │ ├── en.ts │ │ ├── es.ts │ │ └── it.ts ├── metadata.ts ├── server.ts ├── session.ts ├── sveltekit-dev-proxy.ts ├── types.d.ts └── util.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | config.toml 3 | locales/ 4 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | config.toml 3 | locales/ 4 | -------------------------------------------------------------------------------- /app/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parser: '@typescript-eslint/parser', 4 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], 5 | plugins: ['svelte3', '@typescript-eslint'], 6 | ignorePatterns: ['*.cjs'], 7 | overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], 8 | settings: { 9 | 'svelte3/typescript': () => require('typescript') 10 | }, 11 | parserOptions: { 12 | sourceType: 'module', 13 | ecmaVersion: 2019 14 | }, 15 | env: { 16 | browser: true, 17 | es2017: true, 18 | node: true 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /package 3 | /.svelte-kit 4 | /build/ 5 | -------------------------------------------------------------------------------- /app/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /package 3 | /.svelte-kit -------------------------------------------------------------------------------- /app/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100 6 | } 7 | -------------------------------------------------------------------------------- /app/src/global.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import type { Locale } from "../../server/src/i18n/locale"; 4 | 5 | interface SessionData { 6 | lang: string 7 | locale: Locale 8 | } 9 | -------------------------------------------------------------------------------- /app/src/lib/Editor/ColorCell.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 18 | 19 | cmd(variant, color)} 22 | > 23 | 24 | -------------------------------------------------------------------------------- /app/src/lib/Editor/iframe.css: -------------------------------------------------------------------------------- 1 | .editor-content { 2 | font-family: Calibri, Helvetica, sans-serif; 3 | font-size: 16px; 4 | height: 100%; 5 | width: 100%; 6 | } 7 | 8 | .editor-content > body { 9 | height: 100%; 10 | width: 100%; 11 | outline: 0; 12 | border: 0; 13 | padding: 1.5rem; 14 | box-sizing: border-box; 15 | margin: 0; 16 | } 17 | 18 | .editor-content { 19 | scrollbar-width: thin; 20 | } 21 | 22 | .editor-content::-webkit-scrollbar{ 23 | width: 0.5rem; 24 | } 25 | 26 | .editor-content::-webkit-scrollbar-track{ 27 | background: #ddd; 28 | } 29 | 30 | .editor-content::-webkit-scrollbar-thumb{ 31 | background: #aaa; 32 | } 33 | 34 | .editor-content::-webkit-scrollbar-thumb:hover{ 35 | background: #888; 36 | } 37 | -------------------------------------------------------------------------------- /app/src/lib/Keyed.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | {#each [0] as _ (key)} 6 | 7 | {/each} -------------------------------------------------------------------------------- /app/src/lib/Menu/Menu.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/lib/Notify/notify.ts: -------------------------------------------------------------------------------- 1 | import Notifier from "./Notifier.svelte"; 2 | 3 | let instance: Notifier | null; 4 | 5 | export const getNotifier = (): Notifier => { 6 | 7 | if(instance == null){ 8 | instance = new Notifier({target: document.body}); 9 | } 10 | 11 | return instance; 12 | } 13 | 14 | export const _error = (message: string) => { 15 | getNotifier().error(message) 16 | } 17 | 18 | export const _message = (message: string) => { 19 | getNotifier().message(message); 20 | } 21 | 22 | export default getNotifier; -------------------------------------------------------------------------------- /app/src/lib/TransitionPage.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 12 | 13 | {#key key} 14 |
15 | 16 |
17 | {/key} -------------------------------------------------------------------------------- /app/src/lib/locale.ts: -------------------------------------------------------------------------------- 1 | import { session } from "$app/stores"; 2 | import { derived } from "svelte/store"; 3 | import type { Readable } from "svelte/store"; 4 | import type { Locale } from "../../../server/src/i18n/locale"; 5 | 6 | export const locale: Readable = derived(session, $session => $session.locale); -------------------------------------------------------------------------------- /app/src/lib/signature.ts: -------------------------------------------------------------------------------- 1 | import { browser } from "$app/env"; 2 | import { writable } from "svelte/store"; 3 | 4 | import { RAVEN_SIGNATURE_META_KEY } from "../../../server/src/metadata"; 5 | 6 | export { RAVEN_SIGNATURE_META_KEY }; 7 | 8 | const signature = writable(""); 9 | 10 | if(!browser) { 11 | signature.set = () => console.warn("[Signature]: trying to set to signature store on server side, ignoring"); 12 | signature.update = () => console.warn("[Signature]: trying to update to signature store on server side, ignoring"); 13 | } 14 | 15 | export { signature }; -------------------------------------------------------------------------------- /app/src/routes/[...notfound].svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | 22 | 23 |
24 |

404 Not found

25 |

Oops! this page doesn't exists anymore

26 | 27 | Take me to my inbox 28 | 29 | 30 |
-------------------------------------------------------------------------------- /app/src/routes/__layout.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/routes/index.svelte: -------------------------------------------------------------------------------- 1 | 19 | 20 |

You dont have any mailbox :(

-------------------------------------------------------------------------------- /app/src/routes/mailbox/[mailbox]/index.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 19 | 20 | 21 | {mailbox.unseen ? `(${mailbox.unseen}) ` : ""}{mailboxName(mailbox)} 22 | 23 | 24 | {#key mailbox.id} 25 | 26 | {/key} -------------------------------------------------------------------------------- /app/src/routes/offline/__layout.reset.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 27 | 28 |
29 |
30 | 31 |
32 | 33 |
34 | 35 |
36 |
-------------------------------------------------------------------------------- /app/src/routes/offline/index.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | {$locale.Offline_title} 13 | 14 | 15 | 25 | 26 |
27 |

{$locale.Offline_title}

28 |

{$locale.Offline_message}

29 | 33 |
-------------------------------------------------------------------------------- /app/src/sessMap.ts: -------------------------------------------------------------------------------- 1 | export const sessMap = new WeakMap(); -------------------------------------------------------------------------------- /app/static/file-icons/3g2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/3ga.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/3gp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/7z.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aac.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ac.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ace.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ai.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aif.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aifc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aiff.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ait.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/amr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/apk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/asax.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/asc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ascx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/asf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ashx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/asm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/asmx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/asp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aspx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/asx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/au.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aup.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/avi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/axd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/aze.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/bak.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/bash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/bat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/blank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/bmp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/bpg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/bz2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/bzempty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/c.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cab.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/caf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cfm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cfml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cgi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/chm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cmd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/code-workspace.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/codekit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/coffeelintignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/com.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/compile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cpp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cptx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cr2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/crdownload.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/crt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/crypt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/csh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cson.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/csproj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/css.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/csv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cue.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/cur.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/deb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/default.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dist.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dll.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dmg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dng.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/doc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/docb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/docm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/docx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dotm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dotx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/download.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dsn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/dtd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/el.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/elf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/eml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/enc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/eps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/eslintignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/f4v.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/fla.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/flac.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/flv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gadget.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gif.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gitattributes.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gitignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gpg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gpl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gradle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/gz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/h.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/heic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/hlp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/hs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/hsl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/htm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/html.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/icns.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ico.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ics.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/idx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/iff.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ifo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/img.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/in.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/indd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/inv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/iso.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/jpe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/jpeg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/jpg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/js.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/key.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ksh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/kt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/kts.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/kup.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/lex.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/licx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/lisp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/log.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/lua.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/m2v.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/m3u.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/m3u8.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/m4a.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/m4r.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/m4v.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/map.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/master.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/md.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mdf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/me.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/midi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mkv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mng.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mod.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mov.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mp2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mp3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mp4.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpeg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpga.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/mpt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/msi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/msu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/nef.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/nes.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/nfo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/nix.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/npmignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ods.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/odt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ogg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ogv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ost.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ott.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/p12.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/p7b.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pcd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pem.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pfx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pgp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pkg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/png.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/po.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pom.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/potx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ppsx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ppt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pptm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pptx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/psd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/psp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pst.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/pub.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/qt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ra.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/raw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rdf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rdl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/reg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/resx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/retry.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rom.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rpm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rpt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rsa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rss.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rst.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rtf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/rub.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/sh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/sit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/sitemap.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/skin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/sldm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/sldx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/sln.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/svg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/swd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/swf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/swift.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tcsh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tex.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tfignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tga.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tgz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tif.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tiff.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tmx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tpl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ts.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/tsv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/ttf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/twig.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/txt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/udf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vbproj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vcd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vcf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vcs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vdx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vob.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vscodeignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vsd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vss.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vst.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vsx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/vtx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/wav.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/wbk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/webm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/webp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/wma.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/wmf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/wmv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/wps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/wsf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xaml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xfl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xlm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xls.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xlsm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xlsx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xlt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xltm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xltx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xpi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xrb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xsd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xsl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xspf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/xz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/yaml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/yml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/z.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/zip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/file-icons/zsh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/static/icons/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/114.png -------------------------------------------------------------------------------- /app/static/icons/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/120.png -------------------------------------------------------------------------------- /app/static/icons/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/128.png -------------------------------------------------------------------------------- /app/static/icons/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/144.png -------------------------------------------------------------------------------- /app/static/icons/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/152.png -------------------------------------------------------------------------------- /app/static/icons/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/16.png -------------------------------------------------------------------------------- /app/static/icons/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/180.png -------------------------------------------------------------------------------- /app/static/icons/192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/192.png -------------------------------------------------------------------------------- /app/static/icons/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/256.png -------------------------------------------------------------------------------- /app/static/icons/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/32.png -------------------------------------------------------------------------------- /app/static/icons/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/512.png -------------------------------------------------------------------------------- /app/static/icons/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/57.png -------------------------------------------------------------------------------- /app/static/icons/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/60.png -------------------------------------------------------------------------------- /app/static/icons/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/64.png -------------------------------------------------------------------------------- /app/static/icons/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/72.png -------------------------------------------------------------------------------- /app/static/icons/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/76.png -------------------------------------------------------------------------------- /app/static/icons/src/@.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/src/@.jpg -------------------------------------------------------------------------------- /app/static/icons/src/@.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/src/@.png -------------------------------------------------------------------------------- /app/static/icons/src/@.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/app/static/icons/src/@.xcf -------------------------------------------------------------------------------- /app/svelte.config.js: -------------------------------------------------------------------------------- 1 | import preprocess from 'svelte-preprocess'; 2 | import adapter from "@sveltejs/adapter-node"; 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | preprocess: preprocess({ 7 | sourceMap: true 8 | }), 9 | 10 | kit: { 11 | trailingSlash: "never", 12 | target: '#svelte', 13 | prerender: { enabled: false }, 14 | ssr: false, 15 | files: { 16 | hooks: "./src/hooks.ts", 17 | serviceWorker: "./src/service-worker.ts", 18 | }, 19 | adapter: adapter({ precompress: false }), 20 | } 21 | }; 22 | 23 | export default config; -------------------------------------------------------------------------------- /pm2.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | apps: [{ 3 | name: "raven-webmail", 4 | script: "node raven.js start", 5 | exec_mode: "fork", 6 | instances: 1, 7 | wait_ready: false, 8 | time: true, 9 | log_date_format: "YYYY-MM-DD HH:mm:SS UTC-3", 10 | merge_logs: true, 11 | max_memory_restart: '300M', 12 | kill_timeout : 10_000, 13 | env: { NODE_ENV: "production" } 14 | }] 15 | } -------------------------------------------------------------------------------- /raven-webmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/raven-webmail.png -------------------------------------------------------------------------------- /raven.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | global.__RAVEN_IMPORT_SVELTEKIT__ = () => import("./app/build/middlewares.js"); 3 | require("source-map-support").install(); 4 | require("./server/dist/cli.js"); 5 | -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- 1 | /dist/ -------------------------------------------------------------------------------- /server/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ramiroaisen/raven-webmail/3c6ea01cc485d2818c7f0eac31910a991434ca37/server/.npmignore -------------------------------------------------------------------------------- /server/src/env.ts: -------------------------------------------------------------------------------- 1 | const bool = (v: string | undefined): boolean => { 2 | return v === "1" || v?.toLowerCase() === "true"; 3 | } 4 | 5 | export const DISPLAY_ERRORS = bool(process.env.RAVEN_DISPLAY_ERRORS); 6 | export const SVELTEKIT_DEV = bool(process.env.RAVEN_SVELTEKIT_DEV); 7 | export const SVELTEKIT_PORT = Number(process.env.RAVEN_SVELTEKIT_PORT) || 3000; 8 | -------------------------------------------------------------------------------- /server/src/events.ts: -------------------------------------------------------------------------------- 1 | export const Event = () => { 2 | 3 | type Handler = (evnet: T) => void; 4 | 5 | let _id = 0; 6 | 7 | const map = new Map(); 8 | 9 | const on = (handler: Handler) => { 10 | const id = ++_id; 11 | map.set(id, handler); 12 | return () => { 13 | map.delete(id) 14 | } 15 | } 16 | 17 | const dispatch = (v: T) => { 18 | for(const handler of map.values()) { 19 | handler(v); 20 | } 21 | } 22 | 23 | return { on, dispatch }; 24 | } 25 | 26 | export type AuthEvent = { 27 | sid: string 28 | username: string | null 29 | } 30 | 31 | // see api /watch comment 32 | // export const Auth = Event(); 33 | -------------------------------------------------------------------------------- /server/src/i18n/locale.ts: -------------------------------------------------------------------------------- 1 | import type en from "./src/en"; 2 | export type Locale = typeof en; -------------------------------------------------------------------------------- /server/src/metadata.ts: -------------------------------------------------------------------------------- 1 | export const RAVEN_SIGNATURE_META_KEY = "ravenSignatureHTML"; -------------------------------------------------------------------------------- /server/src/session.ts: -------------------------------------------------------------------------------- 1 | import ExpressSession from "express-session"; 2 | import MongoSession from "connect-mongodb-session"; 3 | import { Config } from "./config"; 4 | 5 | const MongoStore = MongoSession(ExpressSession); 6 | 7 | export const session = (config: Config) => ExpressSession({ 8 | name: "raven.sid", 9 | secret: config.secret_token, 10 | saveUninitialized: false, 11 | resave: true, 12 | cookie: { maxAge: 7 * 24 * 60 * 60 * 1000 }, 13 | store: new MongoStore({ 14 | uri: config.mongodb_url, 15 | collection: "sessions-v2" 16 | }) 17 | }) -------------------------------------------------------------------------------- /server/src/types.d.ts: -------------------------------------------------------------------------------- 1 | import { RequestHandler } from "express"; 2 | import { Authentication } from "./client"; 3 | import { Config } from "./config"; 4 | import { Locales } from "./i18n/i18n"; 5 | 6 | declare module "express-session" { 7 | interface SessionData { 8 | authentication?: Authentication | null 9 | } 10 | } 11 | 12 | export type Kit = { 13 | assetsMiddleware: RequestHandler, 14 | kitMiddleware: RequestHandler, 15 | prerenderedMiddleware: RequestHandler 16 | } 17 | 18 | declare global { 19 | const __RAVEN__: { config: Config } 20 | const __RAVEN_IMPORT_SVELTEKIT__: () => Promise 21 | } --------------------------------------------------------------------------------