<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ayda</title>
    <description>The latest articles on DEV Community by ayda (@ayda_5f7ea0f7f75e682e6d3c).</description>
    <link>https://dev.to/ayda_5f7ea0f7f75e682e6d3c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4229525%2Fad49d529-c432-4557-bf05-6c5cc23473d9.png</url>
      <title>DEV Community: ayda</title>
      <link>https://dev.to/ayda_5f7ea0f7f75e682e6d3c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayda_5f7ea0f7f75e682e6d3c"/>
    <language>en</language>
    <item>
      <title>Setting up Osintgram 2.0 on Kali (VMware) with HikerAPI: the problems I hit and how I fixed them</title>
      <dc:creator>ayda</dc:creator>
      <pubDate>Fri, 06 Nov 2026 02:31:56 +0000</pubDate>
      <link>https://dev.to/ayda_5f7ea0f7f75e682e6d3c/setting-up-osintgram-20-on-kali-vmware-with-hikerapi-the-problems-i-hit-and-how-i-fixed-them-gl0</link>
      <guid>https://dev.to/ayda_5f7ea0f7f75e682e6d3c/setting-up-osintgram-20-on-kali-vmware-with-hikerapi-the-problems-i-hit-and-how-i-fixed-them-gl0</guid>
      <description>&lt;p&gt;I recently set up Osintgram 2.0, an open-source Instagram OSINT tool with a local web UI, on a Kali Linux VM running in VMware, using HikerAPI as the data backend. Here is what the setup actually looked like, including the errors I ran into.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Python "externally-managed-environment"
&lt;/h2&gt;

&lt;p&gt;On current Kali, &lt;code&gt;pip install -r requirements.txt&lt;/code&gt; fails with PEP 668's externally-managed-environment error. The clean fix is a virtual environment:&lt;/p&gt;

&lt;p&gt;python3 -m venv venv &amp;amp;&amp;amp; source venv/bin/activate&lt;br&gt;
pip install -r requirements.txt&lt;/p&gt;

&lt;p&gt;I used &lt;code&gt;--break-system-packages&lt;/code&gt; at first, and it caused dependency conflicts with some preinstalled Kali tools. A venv avoids that.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;code&gt;make run&lt;/code&gt; could not find uvicorn
&lt;/h2&gt;

&lt;p&gt;uvicorn was installed in ~/.local/bin, which was not on my PATH. Running it as a module works:&lt;/p&gt;

&lt;p&gt;python3 -m uvicorn src.web.app:app --host 127.0.0.1 --port 8000&lt;/p&gt;

&lt;h2&gt;
  
  
  3. "Address already in use"
&lt;/h2&gt;

&lt;p&gt;Port 8000 was taken by a Docker container from another project. &lt;code&gt;sudo ss -ltnp | grep :8000&lt;/code&gt; showed docker-proxy as the owner, and &lt;code&gt;docker ps&lt;/code&gt; showed which container. You can either stop it or run the tool on another port.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Opening the UI from my host machine
&lt;/h2&gt;

&lt;p&gt;The UI binds to 127.0.0.1 and has no authentication, so I kept it that way and used an SSH tunnel instead of exposing it on the network:&lt;/p&gt;

&lt;p&gt;ssh -L 8000:127.0.0.1:8000 user@&lt;/p&gt;

&lt;p&gt;Then I opened &lt;a href="http://127.0.0.1:8000" rel="noopener noreferrer"&gt;http://127.0.0.1:8000&lt;/a&gt; in my host browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. "No backend configured"
&lt;/h2&gt;

&lt;p&gt;The UI needs a data source. Either set a HikerAPI token or log in with instagrapi. I used HikerAPI:&lt;/p&gt;

&lt;p&gt;export HIKERAPI_TOKEN="your_token"&lt;/p&gt;

&lt;p&gt;Keep the token out of shell history, screenshots and chat messages, and regenerate it if it ever leaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use a venv on modern Kali.&lt;/li&gt;
&lt;li&gt;Check for port conflicts if you run Docker projects.&lt;/li&gt;
&lt;li&gt;An SSH tunnel is a safe way to reach a localhost-only UI inside a VM.&lt;/li&gt;
&lt;li&gt;Only use OSINT tools on public data and within the law and the platform's terms.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linux</category>
      <category>python</category>
      <category>security</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
