<feed xmlns='http://www.w3.org/2005/Atom'>
<title>silentct, branch main</title>
<subtitle>Mirror of https://git.glasklar.is/rgdd/silentct</subtitle>
<id>https://git.rgdd.se/silentct/atom?h=main</id>
<link rel='self' href='https://git.rgdd.se/silentct/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/'/>
<updated>2025-10-05T07:05:30+00:00</updated>
<entry>
<title>ci: Add missing dependency git</title>
<updated>2025-10-05T07:05:30+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-10-05T06:58:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=e3a631e7c86562553598d7fb2e8cf27df100e2fb'/>
<id>urn:sha1:e3a631e7c86562553598d7fb2e8cf27df100e2fb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ci: Add missing -y in apt install</title>
<updated>2025-10-05T07:05:30+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-10-05T06:55:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=8f2a740237d4db8453e27ca2037f198d87d836f3'/>
<id>urn:sha1:8f2a740237d4db8453e27ca2037f198d87d836f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>monitor: Retry get-sth and proof fetching</title>
<updated>2025-10-05T07:05:28+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-05-11T18:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=fcd0a8252e3ab27662be2a781073b80a03f31573'/>
<id>urn:sha1:fcd0a8252e3ab27662be2a781073b80a03f31573</id>
<content type='text'>
Should ensure we don't get into a position where we always fail to get
3x queries that succeed in a row when trying to persist chunks.
</content>
</entry>
<entry>
<title>metrics: Add human-meaningful log_name label</title>
<updated>2025-05-11T18:23:33+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-05-11T18:07:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=f073493c3d11a4d743f0ee1c3f4b423c51f60e29'/>
<id>urn:sha1:f073493c3d11a4d743f0ee1c3f4b423c51f60e29</id>
<content type='text'>
Use log metadata description if available, otherwise fall back on log
URL without the https:// suffix.

Keeping log_id for now at least - seems useful for scripts.
</content>
</entry>
<entry>
<title>cmd/silentct-mon: Remove log list mention from usage</title>
<updated>2025-03-02T11:25:33+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-03-02T11:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=5285be7f31ea8c043566e4e9f1ed5acd50168837'/>
<id>urn:sha1:5285be7f31ea8c043566e4e9f1ed5acd50168837</id>
<content type='text'>
Part of #21, thanks vexelnet!
</content>
</entry>
<entry>
<title>Document log list in README</title>
<updated>2025-03-02T11:25:31+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-03-02T11:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=43105d27d470757a19184beeb18e1347a9f236bb'/>
<id>urn:sha1:43105d27d470757a19184beeb18e1347a9f236bb</id>
<content type='text'>
This was only documented in the lengthier design doc before, and the
option of doing "remove_logs" and "static_logs" had not been documented.

Part of #21, thanks vexelnet!
</content>
</entry>
<entry>
<title>cmd/silentct-mon: Clarify -m option</title>
<updated>2025-03-02T10:28:44+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-03-02T10:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=48bb0066e511f2fc9288391d8c5159d8a604e879'/>
<id>urn:sha1:48bb0066e511f2fc9288391d8c5159d8a604e879</id>
<content type='text'>
Part of #21, thanks vexelnet!
</content>
</entry>
<entry>
<title>prometheus: Refine based on input from anarcat</title>
<updated>2025-01-18T15:34:14+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-18T12:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=8a17817c61f14a727a1017a5bcd4b1ea82964528'/>
<id>urn:sha1:8a17817c61f14a727a1017a5bcd4b1ea82964528</id>
<content type='text'>
https://gitlab.torproject.org/tpo/tpa/team/-/issues/40677
</content>
</entry>
<entry>
<title>fix: Ensure rate-limits are on for get-entries</title>
<updated>2025-01-06T12:30:52+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-06T12:21:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=2d3b1f2cb0c05385c1702f1a7d74fa08d52c262f'/>
<id>urn:sha1:2d3b1f2cb0c05385c1702f1a7d74fa08d52c262f</id>
<content type='text'>
Backoff on 4XX and 5XX.  See related issue:
https://github.com/google/certificate-transparency-go/issues/898

Test manually hints:

```
$ cat srv.py
from http.server import HTTPServer, BaseHTTPRequestHandler

class RequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(429)
        self.send_header("Content-Type", "text/plain")
        self.end_headers()
        self.wfile.write(b"429 something something...")

    def do_POST(self):
        self.do_GET()

    def do_PUT(self):
        self.do_GET()

    def do_DELETE(self):
        self.do_GET()

if __name__ == "__main__":
    server_address = ('localhost', 9090)
    httpd = HTTPServer(server_address, RequestHandler)
    print("Server running on http://localhost:9090")
    httpd.serve_forever()
```

And a transport for http.Client that redirects to localhost:

```
type statusRR struct {
	inner http.RoundTripper
}

func (s *statusRR) RoundTrip(req *http.Request) (*http.Response, error) {
	if strings.Contains(req.URL.Path, "ct/v1/get-entries") {
		req.URL.Scheme = "http"
		req.URL.Host = "localhost:9090"
	}
	rsp, err := s.inner.RoundTrip(req)
	return rsp, err
}
```
</content>
</entry>
<entry>
<title>fix: Ensure backoff for get-sth and proof fetching</title>
<updated>2025-01-05T13:59:09+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-05T13:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=ee5c55d82ad70353e8203f6729d4325b59741bfa'/>
<id>urn:sha1:ee5c55d82ad70353e8203f6729d4325b59741bfa</id>
<content type='text'>
Our get-entries fetcher already backs-off exponentially.
</content>
</entry>
</feed>
