Releases: synthient/go-synthient
v2.3.1
Bug fixes
Honeypot feed snapshots now resolve correctly
FeedSnapshots, FeedSnapshotMeta, and DownloadFeedSnapshot routed honeypot streams (honeypot_http, honeypot_https, honeypot_dns, honeypot_adb) to /feeds/<name>/export, which returned 404 even though those names are documented as valid. They now map to the helio/<protocol> path the API serves. The proxies, anonymizers, and torrents streams are unaffected.
Documentation & tests
- Documented
DomainandGetDomain. - Corrected the README Go version requirement (1.25, matching
go.mod) and documented the per-feed download helpers (DownloadProxy,DownloadHeliosTLS, etc.). - Added tests covering feed request-path routing.
v2.3.0
What's new
gRPC schema introspection
Client.GRPCSchema uses gRPC server reflection to fetch and topologically resolve all protobuf file descriptors from a Synthient gRPC endpoint:
result, err := client.GRPCSchema(ctx, nil)Also exports NormalizeGRPCEndpoint and ExplainGRPCError for CLI applications that need custom endpoint handling or human-readable error messages. See the README for full usage.
Dependencies
- Added
google.golang.org/grpcandgoogle.golang.org/protobufas direct dependencies (required forGRPCSchema)
v2.2.0
Breaking changes
All Download* functions gained a filename string parameter between hour and requestOptions.
DownloadProxy(date, hour, filename, opts)DownloadAnonymizer(date, hour, filename, opts)DownloadTorrent(date, hour, filename, opts)DownloadHeliosHTTP(date, hour, filename, opts)DownloadHeliosTLS(date, hour, filename, opts)DownloadFeedSnapshot(stream, date, hour, filename, opts)
Pass a non-empty filename to write the snapshot directly to disk — no manual os.Create / io.Copy needed. Pass "" to get back the raw io.ReadCloser as before.
v2.1.0
What's new
Typed Download functions for each stream
Each real-time stream now has a matching Download* function that fetches the corresponding Parquet snapshot without needing to pass a raw stream name string.
Firehose
DownloadProxy(date, hour, opts)— proxy feed snapshotDownloadAnonymizer(date, hour, opts)— anonymizer feed snapshotDownloadTorrent(date, hour, opts)— torrent feed snapshot
Helios
DownloadHeliosHTTP(date, hour, opts)— Helios HTTP capture snapshotDownloadHeliosTLS(date, hour, opts)— Helios TLS capture snapshot
All five accept "latest" or a YYYY-MM-DD date, an optional hour pointer for hourly snapshots, and follow the 307 redirect to the presigned URL automatically. The caller must close the returned io.ReadCloser.
Examples
Added example programs for each new function under _examples/enterprise/firehose/ and _examples/enterprise/helios/.
v2.0.0
Initial release.
What's included
IP & domain lookup
GetIP— single IP enrichment (network, location, intelligence)GetIPs— bulk IP lookupGetDomain— domain traffic statistics and geo distribution
Account
GetAccount— profile, scopes, and lookup quota
Parquet snapshot feeds
FeedSnapshots— paginated list of daily and hourly snapshotsFeedSnapshotMeta— checksum, row count, size, and parquet schema for a snapshotDownloadFeedSnapshot— stream a parquet snapshot file (follows 307 redirect)
Real-time firehose streams (iter.Seq2)
StreamProxy— live proxy IP observationsStreamAnonymizer— live VPN/Tor/relay range observationsStreamTorrent— live DHT/tracker peer sightings
Helios sensor streams (iter.Seq2)
StreamHeliosHTTP— HTTP request captures (method, URI, headers, raw bytes)StreamHeliosTLS— TLS ClientHello captures (cipher suites, extensions, handshake flags)