close

Pico

pico.sh
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

BERJAYA picosh

Description

The ultimate ssh powered services for developers

Homepage

https://pico.sh

License

MIT

Created

24 Aug 22

Last Updated

11 May 26

Latest version

v3.28.1

Primary Language

Go

Size

6,330 KB

Stars

1,290

Forks

40

Watchers

1,290

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • BERJAYA Eric Bower (11 May 26)

    chore: pico.sh ci script

  • BERJAYA Eric Bower (11 May 26)

    fix(pgs): _headers should override default cache-control Closes: https://github.com/picosh/pico/issues/215

  • BERJAYA Eric Bower (11 May 26)

    feat(tui): analytics now displays device breakdown You can see mobile vs desktop

  • BERJAYA Eric Bower (11 May 26)

    docs: runbooks

  • BERJAYA Eric Bower (11 May 26)

    fix: script

  • BERJAYA Eric Bower (11 May 26)

    chore: script to find orphaned buckets

  • BERJAYA Eric Bower (06 May 26)

    fix(auth): mime type can include charset e.g. text/html; charset=utf-8

  • BERJAYA Eric Bower (05 May 26)

    chore(visits): new indexes and parallel queries

  • BERJAYA Eric Bower (05 May 26)

    chore: remove dev artifacts

  • BERJAYA Eric Bower (03 May 26)

    refactor(visits): aggregate visit tables Previously we had an analytics_visits table that held all the raw visit data. This mean our analytics UI was constantly executing queries across 18 mil records which was extremely slow. This change aggregates those analytics every month and then deletes all the raw data. We keep 2 months worth of raw data and then everything else gets pushed into the aggregate tables.

  • BERJAYA Eric Bower (04 May 26)

    chore: script reap edits

  • BERJAYA Eric Bower (03 May 26)

    fix: reap should look skip anyone that has pico+

  • BERJAYA Eric Bower (03 May 26)

    chore: delete old analytics

  • BERJAYA Eric Bower (03 May 26)

    chore: sql query to reap unused accounts References: https://pico.prose.sh/ann-036-reap-inactive-accounts

  • BERJAYA Eric Bower (28 Apr 26)

    fix(httpcache): cdn accept encoding Two bugs combined to produce the broken behavior: Bug 1: CDN forwarded Accept-Encoding to upstream (cmd/pgs/cdn/main.go) proxyServe.ServeHTTP cloned the incoming request (including its Accept-Encoding: zstd header sent by Caddy) and forwarded it to ash.pgs.sh. The upstream responded with a zstd-compressed body + content-encoding: zstd. The CDN then cached that compressed blob. Caddy (sitting in front of the CDN) can't transcode zstd→nothing, so clients received raw zstd bytes named .xml. Fix: proxyReq.Header.Del("Accept-Encoding") before the upstream round-trip. The CDN should store one uncompressed representation per URL; Caddy handles per-client content encoding on egress. Bug 2: matchVary was looking in the wrong place (pkg/httpcache/serve.go, rw.go) When the response included Vary: Accept-Encoding, matchVary looked for Accept-Encoding in the response headers map — but Accept-Encoding is a request header and was never there. The cachedValue == "" branch silently continued, causing every request to match regardless of what encoding it accepted. Fix: ToCacheValue now accepts the *http.Request and snapshots the Vary-relevant request header values into a new CacheValue.VaryRequestHeaders map[string]string field. matchVary now compares the incoming request's headers against that snapshot instead of looking in response headers. Legacy entries with no VaryRequestHeaders are treated as misses so they repopulate correctly.

  • BERJAYA Eric Bower (22 Apr 26)

    fix(pgs): dupe headers

  • BERJAYA Eric Bower (22 Apr 26)

    chore(pgs): configurable max items for lru

  • BERJAYA Eric Bower (22 Apr 26)

    chore: lint

  • BERJAYA Eric Bower (22 Apr 26)

    chore: disable flaky test

  • BERJAYA Eric Bower (22 Apr 26)

    chore(httpcache): cache-status cleanup and random bug fixes

  • BERJAYA Eric Bower (21 Apr 26)

    chore: normalize header keys

  • BERJAYA Eric Bower (21 Apr 26)

    chore: disable imgproxy tests We don't have them setup properly atm

  • BERJAYA Eric Bower (21 Apr 26)

    refactor(storage): no need for metadata just need content type

  • BERJAYA Eric Bower (21 Apr 26)

    chore: rm dead code

  • BERJAYA Eric Bower (21 Apr 26)

    refactor(storage): put accepts ObjectInfo instead of FileEntry This is a symmetric change so everything uses the same objects

  • BERJAYA Eric Bower (21 Apr 26)

    feat(pgs): record metrics for compressed file types

  • BERJAYA Eric Bower (21 Apr 26)

    fix(pgs): check handler fast bail when domain is empty

  • BERJAYA Eric Bower (20 Apr 26)

    refactor(httpcache): ignore routes should use no-store

  • BERJAYA Eric Bower (20 Apr 26)

    fix(httpcache): verified heuristically cachable status codes

  • BERJAYA Eric Bower (20 Apr 26)

    refactor(pgs): use http.ServeContent refactor: new image proxy object that uses httputil reverse proxy

Pico Website

Website

BERJAYA hacker labs · pico.sh

Open source and managed web services leveraging SSH

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address 141.148.85.132
  • Location Ashburn, Virginia, United States of America, NA
  • ISP Oracle Corporation
  • ASN AS31898

Associated Countries

  • US US

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 Reviews

More Blogging Platforms

About the Data: Pico

Change History

API

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

https://api.awesome-privacy.xyz/social/blogging-platforms/pico

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger 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!

View Blogging Platforms (6)