SkillAgentSearch skills...

Vxinst

Blazing fast embedder for instagram posts

Install / Use

/learn @bitwise74/Vxinst

README

This project is not associated with Instagram or Meta in any way.

What is this?

VxInst is an open-source, blazing fast server that scrapes the direct URL to a video from instagram's CDN to fix embedding in apps like discord.

[!TIP] If you're looking for the public API stuff, go to the wiki

How can I use it?

Simply add vx to instagram URLs like so:

https://vxinst.com/...

This will attempt to embed the instagram video:<br> image<br>

[!TIP] Clicking the VxInst URL will redirect you to the original post

Self-hosting

🍏 Mac and Linux 🐧

<details> <summary>Click to show</summary>

You can either compile the binary from source or download a precompiled binary from the releases tab.<br>

Compilation

# Clone the repository
git clone --depth=1 https://github.com/Reishimanfr/vxinst

# Cd into the directory
cd vxinst

# Compile the code
go build -ldflags "-s -w" -tags=jsoniter -o vxinsta

Check out the examples on how to run VxInst

</details>

🪟 Windows

<details> <summary>Click to show</summary>

There are no precompiled binaries for windows meaning you'll need to compile the code from source.

# Clone the repository
git clone --depth=1 https://github.com/Reishimanfr/vxinst

# Cd into the directory
cd vxinst

# Compile the code
go build -ldflags "-s -w" -tags=jsoniter -o vxinst.exe
</details>

🐋 Docker

<details> <summary>Click to show</summary>
# Copy the example docker-compose file
cp docker-compose.yml.example docker-compose.yml

# Edit the docker-compose file
vim docker-compose.yml

# Start the container
docker-compose up -d
</details>

⚙️ Configuration

The server can be configured using either command-line flags or environment variables. Flags take precedence over environment variables.

| Flag | Environment Variable | Default | Description | |-----------------------|-----------------------|----------|----------------------------------------------------------| | --port | PORT | 8080 | Port to run the server on | | --gin-logs | GIN_LOGS | false | Enable gin debug logs | | --secure | SECURE | false | Use a secure connection | | --log-level | LOG_LEVEL | info | Logging verbosity level [debug, error, warn, info] | | --cert-file | CERT_FILE | | Path to the SSL certificate (needed with secure mode) | | --key-file | KEY_FILE | | Path to the SSL key (needed with secure mode) | | --sentry-dsn | SENTRY_DSN | | Sentry DSN used for telemetry | | --cache-lifetime | CACHE_LIFETIME | 60 | Time to keep cache for (in minutes) | | --memory-lifetime | MEMORY_LIFETIME | 7 | Time to keep memory cache for (in days) | | --redis-enable | REDIS_ENABLE | false | Enables redis for caching (memory if set to false) | | --redis-address | REDIS_ADDR | | Address to redis database | | --redis-passwd | REDIS_PASSWD | | Password for redis database | | --redis-db | REDIS_DB | -1 | Redis database to use | | --proxies | PROXIES | | Proxies to make request with. Provide multiple to cycle | | --proxy-scrape-html | PROXY_SCRAPE_HTML | false | Sets if proxies should scrape HTML. May use up bandwidth | | --insta-cookie | INSTA_COOKIE | | User cookie for API calls with for age restricted posts |
| --insta-xigappid | INSTA_XIGAPPID | | X-IG-App-ID for API calls | | --insta-browser-agent | INSTA_BROWSER_AGENT | * | <Firefox, Linux, X11> |

* = Mozilla/5.0 (X11; Linux x86_64; rv:135.0) Gecko/20100101 Firefox/135.0

📚 Examples on running VxInst

Run on the default port with no TLS

./vxinst

Run with TLS enabled, a proxy attached, redis for cache and instagram credentials (recommended)

./vxinst \
        --secure
        --cert-file="/path/to/your/ssl/certificate"
        --key=file="/path/to/your/ssl/key"
        --proxies="http://yourproxyiphere:someport"
        --redis-enable
        --redis-address="127.0.0.1:6379"
        --redis-passwd="my_very_safe_password"
        --redis-db=0
        --insta-cookie="your instagram cookie here"
        --insta-xigappid="x-ig-app-id here"

📋 Task list

  • [x] ~~Find a way to fix some reels not embedding~~
  • [x] Add Open Graph embeds to videos
  • [ ] Add additional info (like the amount of likes) to the Open Graph embed
  • [ ] Add monitoring dashboard capabilities
  • [x] Create deployment scripts (for docker and some services)
  • [x] Create an action to automatically compile the binary and release it
  • [ ] Fix reels with usernames at the beginning not working (/:username/reel/:postId)
View on GitHub
GitHub Stars14
CategoryDevelopment
Updated1mo ago
Forks1

Languages

Go

Security Score

95/100

Audited on Feb 6, 2026

No findings