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.
19 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- [docker registry](https://pico.sh/imgs): Docker image registry using SSH for
26 authentication.
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## Publish blog articles with a single command
51
52Create your first post, (e.g. `hello-world.md`):
53
54```md
55# hello world!
56
57This is my first blog post.
58
59Cya!
60```
61
62Upload the post to us:
63
64```bash
65scp hello-world.md prose.sh:/
66```
67
68Congrats! You just published a blog article, accessible here:
69https://{user}.prose.sh/hello-world
70
71## Push and pull docker images using SSH
72
73Open a tunnel to our docker registry:
74
75```bash
76ssh -L 1338:localhost:80 -N imgs.sh
77```
78
79Now you are authenticated! You are now able to push and pull like normal:
80
81```bash
82docker push localhost:1338/alpine:latest
83docker pull localhost:1338/alpine:latest
84```
85
86All images sent to us are private and scoped to your user automatically.
87
88## Easily share code snippets
89
90Pipe some stdout to us:
91
92```bash
93git diff | ssh pastes.sh changes.patch
94```
95
96And instantly share your code snippets: https://{user}.pastes.sh/changes.patch
97
98## Receive email notifications for your favorite rss feeds
99
100Create a blogs.txt file:
101
102```
103=: email rss@myemail.com
104=: digest_interval 1day
105=> https://pico.prose.sh/rss
106=> https://erock.prose.sh/rss
107```
108
109Then upload it to us:
110
111```bash
112scp blogs.txt feeds.pico.sh:/
113```
114
115After the daily interval has been reached, you will receive an email with your
116feeds!
117
118## Ready to join?
119
120https://pico.sh/getting-started