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