All Projects → meyer1994 → ipgit

meyer1994 / ipgit

Licence: other
Inter Planetary Git

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to ipgit

Vipfs
Vue.js + IPFS = VIPFS. Create unstoppable applications
Stars: ✭ 242 (+290.32%)
Mutual labels:  ipfs
dynamic-data-and-capabilities
[ARCHIVED] Dynamic Data and Capabilities in IPFS Working Group
Stars: ✭ 57 (-8.06%)
Mutual labels:  ipfs
prometheus-spec
Censorship-resistant trustless protocols for smart contract, generic & high-load computing & machine learning on top of Bitcoin
Stars: ✭ 24 (-61.29%)
Mutual labels:  ipfs
metabin
Advanced data sharing ecosystem - main repo
Stars: ✭ 15 (-75.81%)
Mutual labels:  ipfs
insta-share
Instant File Sharing powered by IPFS Networks. Build with Vue 3 and ViteJS
Stars: ✭ 53 (-14.52%)
Mutual labels:  ipfs
geesome-node
🦈 Your self-hosted decentralized Messenger, Social network, Media file storage on top of IPFS! Freely communicate in encrypted chat groups, share images, video, text or any data without a risk of censorship or blocking.
Stars: ✭ 90 (+45.16%)
Mutual labels:  ipfs
Dweb.page
Your Gateway to the Distributed Web
Stars: ✭ 239 (+285.48%)
Mutual labels:  ipfs
pinion
📌Pin orbit-db stores and ipfs hashes
Stars: ✭ 29 (-53.23%)
Mutual labels:  ipfs
photos
"Fx Fotos" is an opensource gallery app in react native with the same smoothness and features of Google Photos and Apple Photos. It is backend gnostic and connects to decentralized backends like "box", "Dfinity", "Filecoin" and "Crust".
Stars: ✭ 620 (+900%)
Mutual labels:  ipfs
ipfs-api-mount
Mount IPFS directory as local FS.
Stars: ✭ 16 (-74.19%)
Mutual labels:  ipfs
go-ipfs
Ungx-ed fork of go-ipfs
Stars: ✭ 31 (-50%)
Mutual labels:  ipfs
go-ipfs-plugin-i2p-gateway
A plugin for presenting an IPFS gateway over i2p
Stars: ✭ 14 (-77.42%)
Mutual labels:  ipfs
qd-messages-ts
No ads, no tracking. Just a lightning fast peer-to-peer cross-platform messenger that doesn’t sell you out.
Stars: ✭ 22 (-64.52%)
Mutual labels:  ipfs
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+725.81%)
Mutual labels:  ipfs
go-ipns
Utilities for creating, parsing, and validating IPNS records
Stars: ✭ 35 (-43.55%)
Mutual labels:  ipfs
Pathephone Desktop
Distributed audio player
Stars: ✭ 240 (+287.1%)
Mutual labels:  ipfs
.com
Digital garden built using Next13, Typescript, and a bunch of goodies
Stars: ✭ 186 (+200%)
Mutual labels:  ipfs
go-ipld-eth-import
🌐 Bring Ethereum to IPFS 🌐
Stars: ✭ 24 (-61.29%)
Mutual labels:  ipfs
Aya
your globally distributed waifu storage
Stars: ✭ 32 (-48.39%)
Mutual labels:  ipfs
orbit-db-cli
CLI for orbit-db
Stars: ✭ 60 (-3.23%)
Mutual labels:  ipfs

Inter Planetary GIT

build standard-readme compliant

Because it is possible!

Table of Contents

About

I think web 3.0 future is promising. I like the idea of a distributed web. As a consequence, I like IPFS. It is such a cool concept. However, in my opinion, most people do not use it because it is hard to do so. Go? Running a Docker container in my machine? What? Can't I just use it as a simple tool or service?

Yes, you can.

This is why I created this, extremely simple and limited, web application. It is just an endpoint. A git remote, for the tech savy. You can configure with one bash command and just use it. See the (small) example below:

$ git remote add ipfs http://ipgit.herokuapp.com/
$ git push ipfs
remote: Resolving deltas: 100% (53/53), done.
remote: IPFS hash:
remote: QmU8wwg65D2MpbumSKPTWUhydmAin5jmXbwNhxUWzyeXs1

It works the other way around as well. If you want, you can use it to clone git repositories that are stored in IPFS.

$ git clone https://ipgit.herokuapp.com/QmZUnAU4Vn7DvDHEnJ1dz2uV2dimf79HNXdffgY9MbQGWP
Cloning into 'QmZUnAU4Vn7DvDHEnJ1dz2uV2dimf79HNXdffgY9MbQGWP'...
$ ls QmZUnAU4Vn7DvDHEnJ1dz2uV2dimf79HNXdffgY9MbQGWP/
Dockerfile  Makefile  app.py  git.py  heroku.yml  post-update  requirements.txt  sender.py

That is it! No installation, no requirements. Just plain old git.

Your files will be pinned by default. However, because heroku shuts down the after some inactivity time, it is not guarantee that your files will be there when you need them. You should try pinning them into some file pinning service to avoid loosing it.

Install

This project uses fastapi and uvicorn for server interactions. IPFS needs to be running on the local machine for the server to start. And, obviously, you will need git installed.

$ pip install -r requirements.txt

Usage

To run a local version of this project, just execute:

$ ipfs daemon --init
$ uvicor app:app --reload
$ make local  # optional

make local adds a local remote on http://localhost:8000 for development. When developing, you can simply test your modification by calling git push local.

Thanks

This project would not have been possible without the code in the following repositories. They helped me understand a lot about git http backend.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].