repos / pico

pico services mono repo
git clone https://github.com/picosh/pico.git

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