gistit-0.2.3 is not a library.
A feature packed, hash based code
snippet sharing tool focused on ease of use and simplicity.
:star: Features
- TUI support - send and preview gistits without leaving the terminal. (uses bat) :bat:
- Easy to use - command line API made for humans, shell completion and fancy spinners. :man_artist:
- Open source - Independent web application and server, open source top to bottom.
- Integrated - Integration with GitHub Gists.
- Handy - system clipboard integration that actually works.
- Peer to peer - peer to peer file sharing via libp2p. The network stach behind IPFS. :globe_with_meridians:
Feature requests
Windows support comming soon
CLI
Basic Usage
You can send a local file or stdin.
# Local file
$ gistit myfile.txt
# Stdin
$ ls | gistit
# Additional info
$ ls | gistit -a "Matthew McConaughey" -d "My ls, lol"
Post to GitHub Gists.
$ gistit myfile.txt --github
# A browser window will open to authorize Github OAuth.
# Hit **authorize** and wait for the CLI to resume automatically.
Copy hash to system clipboard.
$ gistit myfile.txt -c
# Hash is now on your clipboard
Fetching gistits
# Fetch and preview
$ gistit f 8765d324ddd800f1112e77fece3d3ff2
# Fetch and save to local data directory
$ gistit f 8765d324ddd800f1112e77fece3d3ff2 --save
P2p
Peer to peer file sharing is opt in. Simply install gistit-daemon
and start the background process.
# Start
$ gistit node --start
# Check network status
$ gistit node --status
# Stop
$ gistit node --stop
If gistit-daemon
is running sending and fetching gistits will be automatically done via IPFS network.
Installation
Compiled binaries
Check releases
With <my favorite package manager here>
- AUR - Upcomming
- You tell me
From crates.io
cargo install gistit gistit-daemon
From source (msrv 1.58)
# Clone
$ git clone https://github.com/fabricio7p/gistit.git
# Move
$ cd gistit
# Build
$ cargo build --release
Your binary will be inside target/release
folder.
License
Licensed under either of MIT or Apache-2.0 at your option.