repos / pico

pico services - prose.sh, pastes.sh, imgs.sh, feeds.sh, pgs.sh
git clone https://github.com/picosh/pico.git

  1# pico.sh - hacker labs
  2
  3> [!IMPORTANT]\
  4> Read our docs at [pico.sh](https://pico.sh).
  5
  6Open source and managed web services leveraging SSH.
  7
  8The secret ingredient to all our services is how we let users publish content
  9without needing to install anything. We accomplish this with the SSH tools you
 10already have installed on your system.
 11
 12Want to publish a blog post? Use rsync, scp, or sftp. Want to publish a website?
 13Use rsync, scp, or sftp. Want to share a code snippet with a colleague? Use
 14rsync, scp, or sftp. Hopefully you see the trend.
 15
 16- [tuns](https://pico.sh/tuns): https/wss/tcp tunnels to localhost using only
 17- [pages](https://pico.sh/pgs): A static site hosting platform using SSH for
 18  site deployments. SSH.
 19- [pipes](https://pipe.pico.sh): Authenticated `*nix` pipes over SSH
 20- [prose](https://pico.sh/prose): A blog platform using SSH for content
 21  management.
 22- [pastes](https://pico.sh/pastes): Upload code snippets using rsync, scp, and
 23  sftp.
 24- [feeds](https://pico.sh/feeds): An RSS email notification service using SSH.
 25
 26## Deploy a site with a single command
 27
 28Upload your static site to us:
 29
 30```bash
 31rsync -rv ./public/ pgs.sh:/mysite/
 32```
 33
 34Now your site is available with TLS handled for you:
 35https://{user}-mysite.pgs.sh We also automatically handle TLS for your custom
 36domains!
 37
 38## Access localhost using https
 39
 40if you have a local webserver on localhost:8000, activate an SSH tunnel to us:
 41
 42```bash
 43ssh -R dev:80:localhost:8000 tuns.sh
 44```
 45
 46Now your local dev server is availble on the web: https://dev.tuns.sh
 47
 48## Authenticated *nix pipes over ssh
 49
 50Have one terminal listen for an event and another terminal send the event:
 51
 52```bash
 53# term 1
 54ssh pipe.pico.sh sub mytopic
 55# term 2
 56echo "Hello world!" | ssh pipe.pico.sh pub mytopic
 57```
 58
 59The `sub` will receive "Hello world!"
 60
 61## Publish blog articles with a single command
 62
 63Create your first post, (e.g. `hello-world.md`):
 64
 65```md
 66# hello world!
 67
 68This is my first blog post.
 69
 70Cya!
 71```
 72
 73Upload the post to us:
 74
 75```bash
 76scp hello-world.md prose.sh:/
 77```
 78
 79Congrats! You just published a blog article, accessible here:
 80https://{user}.prose.sh/hello-world
 81
 82## Easily share code snippets
 83
 84Pipe some stdout to us:
 85
 86```bash
 87git diff | ssh pastes.sh changes.patch
 88```
 89
 90And instantly share your code snippets: https://{user}.pastes.sh/changes.patch
 91
 92## Receive email notifications for your favorite rss feeds
 93
 94Create a blogs.txt file:
 95
 96```
 97=: email rss@myemail.com
 98=: digest_interval 1day
 99=> https://pico.prose.sh/rss
100=> https://erock.prose.sh/rss
101```
102
103Then upload it to us:
104
105```bash
106scp blogs.txt feeds.pico.sh:/
107```
108
109After the daily interval has been reached, you will receive an email with your
110feeds!
111
112## Ready to join?
113
114https://pico.sh/getting-started