Skip to content

NonsensicalOne/0gram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

0gram – Lightweight Instagram Alternative Front-End

Please know that I don't have much time so development can be slow

Static Badge GitHub Issues Stars GitHub Issues or Pull Requests


Screenshots

Homepage Profile Post preview

πŸš€ Features

  • Minimalist Instagram UI clone
  • Easy to self-host

πŸ› οΈ Self-Hosting Guide

Part 1: Configuration

0gram requires active session headers from a dedicated Instagram account to function correctly.

1. Create a Dedicated Instagram Account

It is crucial that you do not use your personal or primary Instagram account.

  • Account Safety: To avoid having your main account flagged or banned by Instagram, create a new, separate account exclusively for 0gram.
  • Verification: The new account must be verified with both an email address and a phone number. Instagram may restrict accounts that it detects as bots. You can use online phone verification services for this step if needed.

2. Extract Session Headers

Once your dedicated account is created and you are logged in via a web browser:

  1. Navigate to any Instagram profile page (e.g., https://instagram.com/ichisansfw).
  2. Open your browser's Developer Tools (Ctrl+Shift+I on Windows/Linux, Cmd+Shift+I on Mac).
  3. Select the Network tab.
  4. image
  5. Refresh the page to capture network requests.
  6. In the filter/search bar of the Network tab, search for the text query.
  7. image
  8. Right-click on the resulting request, navigate to Copy, and select Copy as Node.js fetch.
  9. image
  10. Paste the copied code into a temporary text editor. You will only need the headers object from this code block.

3. Create the headers.json File

  1. In the root directory of the 0gram project, create a new file and name it headers.json.

  2. Copy the headers object you extracted and paste it into this file, following the format below.

    {
      // Paste all the header key-value pairs here. For example:
      accept: "text/html,application/xhtml+xml,xml;q=0.9,image/webp,*/*;q=0.8",
      "accept-language": "en-US,en;q=0.5",
      "sec-fetch-dest": "document",
      // ... and all other headers from the copied data
    }
  3. Save the file. Your configuration is now complete.


Part 2: Installation and Execution

Choose one of the following methods to install and run the application.

Method A: Using Golang

Run the application directly on your machine using Node.js.

go run .

The application will be available at http://localhost:3000.

Method B: Using Docker

Use Docker to run 0gram in an isolated container.

# 1. Build the Docker image from the Dockerfile
docker build -t 0gram .

# 2. Run the image in a new container
docker run -it -p 3000:3000 0gram

The application will be available at http://localhost:3000.


πŸ’¬ Contributing

Pull requests are welcome! Feel free to open an issue or submit a PR.


πŸ“ License

This project is licensed under the AGPLv3 License – see the LICENSE file for details.

About

Alternative front-end for Instagram

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published