Skip to content

Commit 49298a9

Browse files
committed
fix: update to v3 log urls
2 parents a3af521 + d1afe1a commit 49298a9

9 files changed

Lines changed: 652 additions & 223 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Changelog Reminder
2+
3+
on: pull_request
4+
5+
jobs:
6+
remind:
7+
name: Changelog Reminder
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@master
12+
- name: Changelog Reminder
13+
uses: peterjgrainger/action-changelog-reminder@v1.3.0
14+
with:
15+
changelog_regex: '/CHANGELOG.md'
16+
customPrMessage: "We couldn't find any modification to the CHANGELOG.md file. If your changes are not suitable for the changelog, that's fine. Otherwise please add them to the changelog!"
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL"
13+
14+
on:
15+
push:
16+
branches: [ "master" ]
17+
pull_request:
18+
# The branches below must be a subset of the branches above
19+
branches: [ "master" ]
20+
schedule:
21+
- cron: '43 9 * * 0'
22+
23+
jobs:
24+
analyze:
25+
name: Analyze
26+
runs-on: ubuntu-latest
27+
permissions:
28+
actions: read
29+
contents: read
30+
security-events: write
31+
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
language: [ 'go' ]
36+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v3
42+
43+
# Initializes the CodeQL tools for scanning.
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v2
46+
with:
47+
languages: ${{ matrix.language }}
48+
# If you wish to specify custom queries, you can do so here or in a config file.
49+
# By default, queries listed here will override any specified in a config file.
50+
# Prefix the list here with "+" to use these queries and those in the config file.
51+
52+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
53+
# queries: security-extended,security-and-quality
54+
55+
56+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
57+
# If this step fails, then you should remove it and run the build manually (see below)
58+
- name: Autobuild
59+
uses: github/codeql-action/autobuild@v2
60+
61+
# ℹ️ Command-line programs to run using the OS shell.
62+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
63+
64+
# If the Autobuild fails above, remove it and uncomment the following three lines.
65+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
66+
67+
# - run: |
68+
# echo "Run, Build Application using script"
69+
# ./location_of_script_within_repo/buildscript.sh
70+
71+
- name: Perform CodeQL Analysis
72+
uses: github/codeql-action/analyze@v2

.github/workflows/docker_build.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Docker Image CI
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*.*.*"
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Check out code into the Go module directory
14+
uses: actions/checkout@v2
15+
16+
- name: Set build tag as env var
17+
run: echo "TAG=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
18+
19+
- name: Docker login
20+
run: docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }}
21+
22+
- name: Build the Docker image
23+
run: docker build . --file Dockerfile --tag ${{ secrets.DOCKERHUB_USERNAME }}/certstream-server-go:latest --tag ${{ secrets.DOCKERHUB_USERNAME }}/certstream-server-go:${{ env.TAG }}
24+
25+
- name: Push the Docker image
26+
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/certstream-server-go --all-tags

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
### Added
10+
### Changed
11+
### Fixed
12+
### Docs
13+
14+
## [1.1.0] - 2022-10-19
15+
Fix for missing loglist urls.
16+
17+
### Fixed
18+
Fixed the connection issue due to the offline google loglist urls.
19+
20+
## [1.0.0] - 2022-08-08
21+
Initial release! First stable version of certstream-server-go is published as v1.0.0
22+
23+
[unreleased]: https://github.com/d-Rickyy-b/certstream-server-go/compare/v1.1.0...HEAD
24+
[1.1.0]: https://github.com/d-Rickyy-b/certstream-server-go/tree/v1.1.0
25+
[1.0.0]: https://github.com/d-Rickyy-b/certstream-server-go/tree/v1.0.0

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
![test](https://github.com/d-Rickyy-b/certstream-server-go/blob/master/docs/img/certstream-server-go_logo.png?raw=true)
1+
![certstream-server-go logo](https://github.com/d-Rickyy-b/certstream-server-go/blob/master/docs/img/certstream-server-go_logo.png?raw=true)
22

33
# Certstream Server Go
4+
[![build](https://github.com/d-Rickyy-b/certstream-server-go/actions/workflows/release_build.yml/badge.svg)](https://github.com/d-Rickyy-b/certstream-server-go/actions/workflows/release_build.yml)
5+
[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/0rickyy0/certstream-server-go?label=docker&sort=semver)](https://hub.docker.com/repository/docker/0rickyy0/certstream-server-go)
46

57
This project aims to be a drop-in replacement for the [official certstream server](https://github.com/CaliDog/certstream-server/) by Calidog. This tool aggregates, parses, and streams certificate data from multiple [certificate transparency logs](https://www.certificate-transparency.org/what-is-ct) via websocket connections to the clients.
68

@@ -18,6 +20,14 @@ I quickly thought about running my own instance of certstream. I didn't want to
1820
## Getting started
1921
Setting up an instance of the certstream server is simple. You can either download and compile the code by yourself or use one of our [precompiled binaries](https://github.com/d-Rickyy-b/certstream-server-go/releases).
2022

23+
### Docker
24+
There's also a prebuild [Docker image](https://hub.docker.com/repository/docker/0rickyy0/certstream-server-go) available.
25+
You can use it by running this command:
26+
27+
`docker run -v /path/to/config.yaml:/app/config.yaml -p 8080:8080 0rickyy0/certstream-server-go -d`
28+
29+
If you don't mount your own config file, the default config (config.sample.yaml) will be used.
30+
2131
## Connecting
2232
certstream-server-go offers multiple endpoints to connect to.
2333

@@ -30,7 +40,7 @@ certstream-server-go offers multiple endpoints to connect to.
3040
You can connect to the certstream-server by opening a **websocket connection** to any of the aforementioned endpoints.
3141
After you're connected, certificate information will be streamed to your websocket.
3242

33-
The server requires you to send a ping message at least every `ping_interval` seconds. If the server did not receive a ping message for `ping_interval` seconds, the server will disconnect you. The server will **not** send out ping messages to your client.
43+
The server requires you to send a ping message at least every 60 seconds (it's recommended to use an interval of 30s for pings). If the server did not receive a ping message for more than this time, the server will disconnect you. The server will **not** send out ping messages to your client.
3444

3545
### Example
3646
To receive a live example of any of the endpoints, just send a HTTP GET request to the endpoints with `/example.json` appended to the endpoint. So for example `/full-stream/example.json`. This example shows the lite format of a certificate update.

config.sample.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
webserver:
2-
listen_addr: "127.0.0.1"
2+
listen_addr: "0.0.0.0"
33
listen_port: 8080
44
full_url: "/full-stream"
55
lite_url: "/"

go.mod

Lines changed: 75 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -3,105 +3,107 @@ module go-certstream-server
33
go 1.18
44

55
require (
6-
github.com/VictoriaMetrics/metrics v1.19.3
6+
github.com/VictoriaMetrics/metrics v1.22.2
77
github.com/go-chi/chi v1.5.4
8-
github.com/google/certificate-transparency-go v1.1.2
8+
github.com/google/certificate-transparency-go v1.1.3
99
github.com/gorilla/websocket v1.5.0
10-
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
10+
gopkg.in/yaml.v3 v3.0.1
1111
)
1212

1313
require (
14-
bitbucket.org/creachadair/shell v0.0.6 // indirect
15-
cloud.google.com/go v0.93.3 // indirect
14+
bitbucket.org/creachadair/shell v0.0.7 // indirect
15+
cloud.google.com/go/compute v1.10.0 // indirect
16+
github.com/benbjohnson/clock v1.3.0 // indirect
1617
github.com/beorn7/perks v1.0.1 // indirect
1718
github.com/bgentry/speakeasy v0.1.0 // indirect
18-
github.com/census-instrumentation/opencensus-proto v0.3.0 // indirect
19-
github.com/cespare/xxhash v1.1.0 // indirect
20-
github.com/cespare/xxhash/v2 v2.1.1 // indirect
21-
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 // indirect
22-
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed // indirect
19+
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
20+
github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect
21+
github.com/cespare/xxhash/v2 v2.1.2 // indirect
22+
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe // indirect
23+
github.com/cncf/xds/go v0.0.0-20220520190051-1e77728a1eaa // indirect
2324
github.com/coreos/go-semver v0.3.0 // indirect
24-
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
25-
github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
25+
github.com/coreos/go-systemd/v22 v22.4.0 // indirect
26+
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
2627
github.com/dustin/go-humanize v1.0.0 // indirect
27-
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0 // indirect
28-
github.com/envoyproxy/protoc-gen-validate v0.3.0-java // indirect
29-
github.com/form3tech-oss/jwt-go v3.2.3+incompatible // indirect
30-
github.com/fullstorydev/grpcurl v1.8.2 // indirect
28+
github.com/envoyproxy/go-control-plane v0.10.3 // indirect
29+
github.com/envoyproxy/protoc-gen-validate v0.6.13 // indirect
30+
github.com/form3tech-oss/jwt-go v3.2.5+incompatible // indirect
31+
github.com/fullstorydev/grpcurl v1.8.7 // indirect
32+
github.com/go-logr/logr v1.2.3 // indirect
33+
github.com/go-logr/stdr v1.2.2 // indirect
3134
github.com/gogo/protobuf v1.3.2 // indirect
32-
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
35+
github.com/golang/glog v1.0.0 // indirect
3336
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
3437
github.com/golang/mock v1.6.0 // indirect
3538
github.com/golang/protobuf v1.5.2 // indirect
36-
github.com/google/btree v1.0.1 // indirect
37-
github.com/google/trillian v1.4.0 // indirect
39+
github.com/google/btree v1.1.2 // indirect
40+
github.com/google/trillian v1.5.0 // indirect
3841
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
3942
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
4043
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
41-
github.com/inconshreveable/mousetrap v1.0.0 // indirect
42-
github.com/jhump/protoreflect v1.9.0 // indirect
43-
github.com/jonboulle/clockwork v0.2.2 // indirect
44-
github.com/json-iterator/go v1.1.11 // indirect
45-
github.com/mattn/go-runewidth v0.0.9 // indirect
46-
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
44+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.12.0 // indirect
45+
github.com/inconshreveable/mousetrap v1.0.1 // indirect
46+
github.com/jhump/protoreflect v1.13.0 // indirect
47+
github.com/jonboulle/clockwork v0.3.0 // indirect
48+
github.com/json-iterator/go v1.1.12 // indirect
49+
github.com/mattn/go-runewidth v0.0.14 // indirect
50+
github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect
4751
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
48-
github.com/modern-go/reflect2 v1.0.1 // indirect
52+
github.com/modern-go/reflect2 v1.0.2 // indirect
4953
github.com/olekukonko/tablewriter v0.0.5 // indirect
50-
github.com/prometheus/client_golang v1.11.0 // indirect
51-
github.com/prometheus/client_model v0.2.0 // indirect
52-
github.com/prometheus/common v0.26.0 // indirect
53-
github.com/prometheus/procfs v0.6.0 // indirect
54-
github.com/russross/blackfriday/v2 v2.0.1 // indirect
55-
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
56-
github.com/sirupsen/logrus v1.7.0 // indirect
54+
github.com/prometheus/client_golang v1.13.0 // indirect
55+
github.com/prometheus/client_model v0.3.0 // indirect
56+
github.com/prometheus/common v0.37.0 // indirect
57+
github.com/prometheus/procfs v0.8.0 // indirect
58+
github.com/rivo/uniseg v0.4.2 // indirect
59+
github.com/russross/blackfriday/v2 v2.1.0 // indirect
60+
github.com/sirupsen/logrus v1.9.0 // indirect
5761
github.com/soheilhy/cmux v0.1.5 // indirect
58-
github.com/spf13/cobra v1.1.3 // indirect
62+
github.com/spf13/cobra v1.6.0 // indirect
5963
github.com/spf13/pflag v1.0.5 // indirect
60-
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
61-
github.com/urfave/cli v1.22.4 // indirect
64+
github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 // indirect
65+
github.com/transparency-dev/merkle v0.0.1 // indirect
66+
github.com/urfave/cli v1.22.10 // indirect
6267
github.com/valyala/fastrand v1.1.0 // indirect
6368
github.com/valyala/histogram v1.2.0 // indirect
6469
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
6570
go.etcd.io/bbolt v1.3.6 // indirect
66-
go.etcd.io/etcd/api/v3 v3.5.0 // indirect
67-
go.etcd.io/etcd/client/pkg/v3 v3.5.0 // indirect
68-
go.etcd.io/etcd/client/v2 v2.305.0 // indirect
69-
go.etcd.io/etcd/client/v3 v3.5.0 // indirect
70-
go.etcd.io/etcd/etcdctl/v3 v3.5.0 // indirect
71-
go.etcd.io/etcd/etcdutl/v3 v3.5.0 // indirect
72-
go.etcd.io/etcd/pkg/v3 v3.5.0 // indirect
73-
go.etcd.io/etcd/raft/v3 v3.5.0 // indirect
74-
go.etcd.io/etcd/server/v3 v3.5.0 // indirect
75-
go.etcd.io/etcd/tests/v3 v3.5.0 // indirect
76-
go.etcd.io/etcd/v3 v3.5.0 // indirect
77-
go.opentelemetry.io/contrib v0.20.0 // indirect
78-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 // indirect
79-
go.opentelemetry.io/otel v0.20.0 // indirect
80-
go.opentelemetry.io/otel/exporters/otlp v0.20.0 // indirect
81-
go.opentelemetry.io/otel/metric v0.20.0 // indirect
82-
go.opentelemetry.io/otel/sdk v0.20.0 // indirect
83-
go.opentelemetry.io/otel/sdk/export/metric v0.20.0 // indirect
84-
go.opentelemetry.io/otel/sdk/metric v0.20.0 // indirect
85-
go.opentelemetry.io/otel/trace v0.20.0 // indirect
86-
go.opentelemetry.io/proto/otlp v0.7.0 // indirect
87-
go.uber.org/atomic v1.7.0 // indirect
88-
go.uber.org/multierr v1.6.0 // indirect
89-
go.uber.org/zap v1.17.0 // indirect
90-
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 // indirect
91-
golang.org/x/mod v0.4.2 // indirect
92-
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420 // indirect
93-
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a // indirect
94-
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069 // indirect
95-
golang.org/x/text v0.3.6 // indirect
96-
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
97-
golang.org/x/tools v0.1.5 // indirect
98-
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
71+
go.etcd.io/etcd/api/v3 v3.5.5 // indirect
72+
go.etcd.io/etcd/client/pkg/v3 v3.5.5 // indirect
73+
go.etcd.io/etcd/client/v2 v2.305.5 // indirect
74+
go.etcd.io/etcd/client/v3 v3.5.5 // indirect
75+
go.etcd.io/etcd/etcdctl/v3 v3.5.5 // indirect
76+
go.etcd.io/etcd/etcdutl/v3 v3.5.5 // indirect
77+
go.etcd.io/etcd/pkg/v3 v3.5.5 // indirect
78+
go.etcd.io/etcd/raft/v3 v3.5.5 // indirect
79+
go.etcd.io/etcd/server/v3 v3.5.5 // indirect
80+
go.etcd.io/etcd/tests/v3 v3.5.5 // indirect
81+
go.etcd.io/etcd/v3 v3.5.5 // indirect
82+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 // indirect
83+
go.opentelemetry.io/otel v1.11.0 // indirect
84+
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.0 // indirect
85+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.0 // indirect
86+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.0 // indirect
87+
go.opentelemetry.io/otel/sdk v1.11.0 // indirect
88+
go.opentelemetry.io/otel/trace v1.11.0 // indirect
89+
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
90+
go.uber.org/atomic v1.10.0 // indirect
91+
go.uber.org/multierr v1.8.0 // indirect
92+
go.uber.org/zap v1.23.0 // indirect
93+
golang.org/x/crypto v0.0.0-20221012134737-56aed061732a // indirect
94+
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
95+
golang.org/x/net v0.0.0-20221017152216-f25eb7ecb193 // indirect
96+
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect
97+
golang.org/x/sys v0.1.0 // indirect
98+
golang.org/x/text v0.4.0 // indirect
99+
golang.org/x/time v0.1.0 // indirect
100+
golang.org/x/tools v0.1.12 // indirect
99101
google.golang.org/appengine v1.6.7 // indirect
100-
google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8 // indirect
101-
google.golang.org/grpc v1.40.0 // indirect
102-
google.golang.org/protobuf v1.27.1 // indirect
102+
google.golang.org/genproto v0.0.0-20221018160656-63c7b68cfc55 // indirect
103+
google.golang.org/grpc v1.50.1 // indirect
104+
google.golang.org/protobuf v1.28.1 // indirect
103105
gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect
104106
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
105107
gopkg.in/yaml.v2 v2.4.0 // indirect
106-
sigs.k8s.io/yaml v1.2.0 // indirect
108+
sigs.k8s.io/yaml v1.3.0 // indirect
107109
)

0 commit comments

Comments
 (0)