Pico

Web services over SSH, including blogging with Prose, microsites with Pages, and a pastebin with Pastes. The services use public-key cryptography by default with no browser-based tracking and minimal logging.

Open Source

Pico Source Code

Author

picosh

Description

The ultimate ssh powered services for developers

Homepage

https://pico.sh

Repository

  • LicenseMIT
  • Created24 Aug 22
  • Primary languageGo
  • Size6,498 KB
  • Stars1,329
  • Forks43
  • Watchers1,329

Language Usage

Language Usage

Project Health

Recent Commits

  • Eric Bower(30 Aug 26)

    fix(caddy): revert postgres storage backend We are reciving reports of issues loading sites and our postgresql server is struggling to keep up with load

  • Eric Bower(30 Aug 26)

    fix(pipe): flaky test

  • Eric Bower(30 Aug 26)

    fix(pgs): better pico+ error message when uploading

  • Eric Bower(30 Aug 26)

    fix(caddy): pgs _metric for ash header_up

  • Eric Bower(30 Aug 26)

    fix(caddy): subdomain for nue/ash pgs

  • Eric Bower(30 Aug 26)

    chore: add cdn to pgs-caddy

  • Eric Bower(24 Aug 26)

    chore(tui): check for pgs feature flag

  • Eric Bower(17 Aug 26)

    docs: agent

  • Eric Bower(17 Aug 26)

    refactor: remove github actions

  • Eric Bower(17 Aug 26)

    chore(pgs): check for pgs feature flag

  • Eric Bower(15 Aug 26)

    fix(pipe): cleanly terminate pipe sessions when peer disconnects Previously, when one party in a bidirectional `pipe` disconnected, the broker treated the remaining client as an active publisher (because its direction is `InputOutput`), leaving the remaining client hanging in a half-closed state with frozen terminal input. - broker: unblock `Connect()` immediately when `client.Done` closes and trigger `client.Cleanup()` on read/write errors - client: close underlying `ReadWriter` in `Cleanup()` if it implements `io.Closer` - pipe/cli: implement `Close()` on `throttledMonitorRW`

  • Eric Bower(13 Aug 26)

    chore(ci): better default zmx session prefix

  • Eric Bower(13 Aug 26)

    fix(httpscache): flaky test

  • Eric Bower(13 Aug 26)

    chore(pgs): uploader tests confirming pico+ only

  • Eric Bower(11 Aug 26)

    refactor(pgs): validate pico+ before uploading so we don't create empty projects

  • Eric Bower(10 Aug 26)

    fix(caddy): add postgres storage backend for distributed ACME challenges This updates the Caddy Dockerfile to compile with the `github.com/yroc92/postgres-storage` module and configures `Caddyfile.pgs` to use it via the existing `DATABASE_URL` environment variable. Previously, Caddy instances on independent nodes (e.g., US and EU) used their own local filesystem for ACME storage. This caused on-demand TLS to hang or time out for custom domains when Let's Encrypt's ACME verification challenge was randomly routed by DNS to a node that didn't initiate the request. By using a central Postgres database for storage, all Caddy nodes now share certificate state and can seamlessly answer ACME challenges initiated by any other node in the cluster.

  • Eric Bower(10 Aug 26)

    chore(register): add some logging around blocking ips

  • Eric Bower(08 Aug 26)

    chore: add more tests and ensure block and keepalive work with wildcards

  • Eric Bower(08 Aug 26)

    feat(pipe): subscribe to wildcard topics Our pipe service now supports wildcard topics `ssh pipe sub metric-drain*`. This allows users to publish to multiple topics and have them drain into a single subscriber. ssh pipe pub metric-drain-x ssh pipe pub metric-drain-y ssh pipe sub "metric-drain*"

  • Eric Bower(08 Aug 26)

    docs: rm bd from agents file

  • Eric Bower(07 Aug 26)

    fix(pgs): correctly set storage max in uploader

  • Eric Bower(01 Aug 26)

    docs(runbooks): delete account

  • Eric Bower(01 Aug 26)

    fix: scp <file> pgs.sh:/<project> works

  • Eric Bower(31 Jul 26)

    docs: runbook

  • Eric Bower(26 Jul 26)

    fix(prose): use correct filepath for prose images

  • Eric Bower(23 Jul 26)

    fix(pgs): missing cfg

  • Eric Bower(23 Jul 26)

    revert(pgs): add file max logic

  • Eric Bower(23 Jul 26)

    chore(pgs): service now requires pico+

  • Eric Bower(17 Jul 26)

    chore: ban ip runbook

  • Eric Bower(17 Jul 26)

    fix: missing pico-ssh in ci script

Pico Website

Website

pico.sh · pico.sh

The ultimate ssh powered services for developers

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address141.148.85.132
  • LocationAshburn,Virginia,United States of America,NA
  • ISPOracle Corporation
  • ASNAS31898

Associated Countries

  • USUS

Safety Score

Website marked as safe

100%

Blacklist Check

pico.sh was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

Pico Docker

Container Info

Apprise-api

[Apprise-api](https://github.com/caronc/apprise-api) Takes advantage of [Apprise](https://github.com/caronc/apprise) through your network with a user-friendly API. * Send notifications to more than 100 services. * An incredibly lightweight gateway to Apprise. * A production ready micro-service at your disposal. * A Simple Website to verify and test your configuration with. Apprise API was designed to easily fit into existing (and new) eco-systems that are looking for a simple notification solution.

#Monitoring

View on DockerHub

linuxserver/apprise-api:latest

Run Command

docker run -d \
  -p 8000:8000/tcp \
  -e PUID=${PUID} \
  -e PGID=${PGID} \
  -e TZ=${TZ} \
  -e APPRISE_ATTACH_SIZE=${APPRISE_ATTACH_SIZE} \
  -v /srv/lsio/apprise-api/config:/config \
  -v /srv/lsio/apprise-api/attachments:/attachments \
  --restart=unless-stopped \
  linuxserver/apprise-api:latest

Compose File

version: 3.8
services:
  apprise-api-container:
    image: "linuxserver/apprise-api:latest"
    ports:
      - "8000:8000/tcp"
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Etc/UTC
      APPRISE_ATTACH_SIZE: 0
    volumes:
      - "/srv/lsio/apprise-api/config:/config"
      - "/srv/lsio/apprise-api/attachments:/attachments"
    restart: unless-stopped

Environment Variables

  • Var NameDefault
  • PUID1000
  • PGID1000
  • TZEtc/UTC
  • APPRISE_ATTACH_SIZE0

Port List

  • 8000:8000/tcp

Volume Mounting

  • Container PathHost Bind
  • /config/srv/lsio/apprise-api/config
  • /attachments/srv/lsio/apprise-api/attachments

Pico Reviews

More Blogging Platforms

About the Data: Pico

Change History

Edit Pico Data

You can edit Pico's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

You can access Pico's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/pico

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share Pico

Help your friends compare Blogging Platforms, and pick privacy-respecting software and services.
Share Pico and Awesome Privacy with your network!