[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:flowsint":3},"\u003Ch1>Flowsint\u003C\u002Fh1>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Freconurge\u002Fflowsint\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache--2.0-blue.svg\" alt=\"License\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Freconurge\u002Fflowsint\u002Fblob\u002FHEAD\u002FETHICS.md\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fethical-use-blue.svg\" alt=\"Ethical Software\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fdextmorgn\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy%20Me%20a%20coffee-support-FFDD00?logo=buy-me-a-coffee&amp;logoColor=black\" alt=\"Buy Me A Coffee\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fko-fi.com\u002FP5P01W3GPJ\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKo--fi-support-F16061?logo=ko-fi&amp;logoColor=white\" alt=\"Ko-fi\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FaST9HMQr\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join%20Server-5865F2?logo=discord&amp;logoColor=white\" alt=\"Discord\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Flowsint is an open-source OSINT graph exploration tool designed for ethical investigation, transparency, and verification.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Ethics:\u003C\u002Fstrong> Please read \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Freconurge\u002Fflowsint\u002Fblob\u002FHEAD\u002FETHICS.md\" rel=\"nofollow ugc noopener\">ETHICS.md\u003C\u002Fa> for responsible use guidelines.\u003C\u002Fp>\n\u003Cimg width=\"1439\" height=\"899\" alt=\"hero-dark\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F01eb128e-bef4-486e-9276-c4da58f829ae\" \u002F>\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Feaabfa81-d7b3-414d-8cf7-f69b4e37bab6\" rel=\"nofollow ugc noopener\">https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Feaabfa81-d7b3-414d-8cf7-f69b4e37bab6\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F7457d94a-cf1d-4a97-949f-f9b1d8d92644\" rel=\"nofollow ugc noopener\">https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F7457d94a-cf1d-4a97-949f-f9b1d8d92644\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F65c3f26e-7132-4853-be45-21b8933688bd\" rel=\"nofollow ugc noopener\">https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F65c3f26e-7132-4853-be45-21b8933688bd\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2>Contributing\u003C\u002Fh2>\n\u003Cp>Flowsint is still in early development and definetly needs the help of the community! Feel free to raise issues, propose features, etc.\u003C\u002Fp>\n\u003Ch2>Get started\u003C\u002Fh2>\n\u003Cp>Don't want to read ? Got it. Here's your install instructions:\u003C\u002Fp>\n\u003Ch3>Linux \u002F macOS\u003C\u002Fh3>\n\u003Ch4>1. Install pre-requisites\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Docker\u003C\u002Fli>\n\u003Cli>Make\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>2. Run install command\u003C\u002Fh4>\n\u003Cpre>\u003Ccode class=\"language-bash\">git clone https:\u002F\u002Fgithub.com\u002Freconurge\u002Fflowsint.git\ncd flowsint\nmake prod\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Windows\u003C\u002Fh3>\n\u003Cp>No Make needed. Works in both \u003Cstrong>Command Prompt (cmd)\u003C\u002Fstrong> and \u003Cstrong>PowerShell\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>1. Install pre-requisites\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.docker.com\u002Fdesktop\u002Fsetup\u002Finstall\u002Fwindows-install\u002F\" rel=\"nofollow ugc noopener\">Docker Desktop\u003C\u002Fa> (make sure it is \u003Cstrong>running\u003C\u002Fstrong> before the next step)\u003C\u002Fli>\n\u003Cli>Git\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>2. Clone and set up environment files\u003C\u002Fh4>\n\u003Cpre>\u003Ccode class=\"language-bat\">git clone https:\u002F\u002Fgithub.com\u002Freconurge\u002Fflowsint.git\ncd flowsint\n\ncopy .env.example .env\ncopy .env.example flowsint-api\\.env\ncopy .env.example flowsint-core\\.env\ncopy .env.example flowsint-app\\.env\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>3. Start\u003C\u002Fh4>\n\u003Cpre>\u003Ccode class=\"language-bat\">docker compose -f docker-compose.prod.yml up -d\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This pulls the pre-built images from GitHub Container Registry — no local build needed.\u003C\u002Fp>\n\u003Ch3>First login\u003C\u002Fh3>\n\u003Cp>Then go to \u003Ca href=\"http:\u002F\u002Flocalhost:5173\u002Fregister\" rel=\"nofollow ugc noopener\">http:\u002F\u002Flocalhost:5173\u002Fregister\u003C\u002Fa> and create an account. There are no credentials or account by default.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>✅ OSINT investigations need a high level of privacy. Everything is stored on your machine.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Deploy on a network (team \u002F server)\u003C\u002Fh3>\n\u003Cp>The same setup works out of the box on a server: the frontend serves the UI \u003Cstrong>and\u003C\u002Fstrong> proxies all API calls internally, so no extra configuration is needed for clients.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">git clone https:\u002F\u002Fgithub.com\u002Freconurge\u002Fflowsint.git\ncd flowsint\ncp .env.example .env\n# Edit .env — see \"Before exposing to a network\" below\ndocker compose -f docker-compose.prod.yml up -d\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Anyone on the network can then access Flowsint at \u003Ccode>http:\u002F\u002F&lt;server-ip&gt;:5173\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Before exposing to a network, change the default secrets in \u003Ccode>.env\u003C\u002Fcode>:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>AUTH_SECRET\u003C\u002Fcode> — signs authentication tokens. Generate one: \u003Ccode>openssl rand -hex 32\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>MASTER_VAULT_KEY_V1\u003C\u002Fcode> — encrypts stored API keys. Generate one: \u003Ccode>python3 -c \"import os, base64; print('base64:' + base64.b64encode(os.urandom(32)).decode())\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>NEO4J_PASSWORD\u003C\u002Fcode> — Neo4j database password.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Also add your server hostname\u002FIP to the Host-header allowlist\u003C\u002Fstrong> in \u003Ccode>flowsint-app\u002Fnginx.conf\u003C\u002Fcode> (look for \u003Ccode>map $http_host $is_flowsint_host\u003C\u002Fcode>). The default allowlist accepts only \u003Ccode>localhost\u003C\u002Fcode> \u002F \u003Ccode>127.0.0.1\u003C\u002Fcode> \u002F \u003Ccode>[::1]\u003C\u002Fcode>, which defends single-user installs against DNS rebinding; LAN and public deploys must opt-in their own hostname. Two commented-out template lines in the same map block show the format.\u003C\u002Fp>\n\u003Cp>Only port \u003Ccode>5173\u003C\u002Fcode> is exposed to the network. PostgreSQL, Redis, Neo4j and the API are bound to \u003Ccode>127.0.0.1\u003C\u002Fcode> on the server and reachable only through the frontend proxy.\u003C\u002Fp>\n\u003Cp>To pin a specific version instead\u003C\u002Fp>\n",1784240407214]