v0.3.0
版本发布时间: 2024-06-09 13:21:07
andydunstall/piko最新发布版本:v0.6.2(2024-08-15 14:43:34)
v0.3.0 contains a rewrite of the agent to server protocol. Instead of forwarding individual HTTP requests and responses, the protocol transports raw TCP bytes multiplexed over a single outbound connection from the upstream to the server.
This has a few major benefits:
- It supports non-HTTP protocols in the future (particularly TCP)
- It supports WebSockets
- It supports a Go SDK in the future where clients can listen for connections from Piko like any other TCP listener (such as
net.Listener
in Go) - It makes the agent and server much simpler as they can treat the 'connection' to the upstream as any other TCP connection (even though the connection is actually multiplexed over the upstreams outbound connection to Piko)
This release also adds TLS support, both for the server and for the agent to configure custom root CAs to verify the servers TLS certificates. It also refactors the piko agent
command line and configuration.
What's Changed
- docs: add logo by @andydunstall in https://github.com/andydunstall/piko/pull/46
- client: add go sdk interface by @andydunstall in https://github.com/andydunstall/piko/pull/47
- agentv2: add agent cli and configuration by @andydunstall in https://github.com/andydunstall/piko/pull/48
- agentv2: add endpoint interface by @andydunstall in https://github.com/andydunstall/piko/pull/49
- agentv2: add endpoint reverse proxy by @andydunstall in https://github.com/andydunstall/piko/pull/50
- conn: add websocket options by @andydunstall in https://github.com/andydunstall/piko/pull/52
- tls: add tls support by @andydunstall in https://github.com/andydunstall/piko/pull/53
- agentv2: add heartbeats by @andydunstall in https://github.com/andydunstall/piko/pull/54
- docs: update logo by @andydunstall in https://github.com/andydunstall/piko/pull/55
- client: register endpoint listener by @andydunstall in https://github.com/andydunstall/piko/pull/56
- serverv2: add reverse proxy to forward requests to upstream by @andydunstall in https://github.com/andydunstall/piko/pull/57
- agentv2: handle listener connections by @andydunstall in https://github.com/andydunstall/piko/pull/58
- add docker package by @andydunstall in https://github.com/andydunstall/piko/pull/59
- tests: use httptest.Server by @andydunstall in https://github.com/andydunstall/piko/pull/60
- serverv2: add reverse proxy by @andydunstall in https://github.com/andydunstall/piko/pull/61
- agentv2: add pkg/mux by @andydunstall in https://github.com/andydunstall/piko/pull/62
- agentv2: add connection per listener by @andydunstall in https://github.com/andydunstall/piko/pull/63
- agentv2: add config options by @andydunstall in https://github.com/andydunstall/piko/pull/64
- serverv2: rewrite reverse proxy by @andydunstall in https://github.com/andydunstall/piko/pull/65
- serverv2: load balance among connected upstreams by @andydunstall in https://github.com/andydunstall/piko/pull/66
- piko: integrate agent/server v2 by @andydunstall in https://github.com/andydunstall/piko/pull/67
- admin: add request forwarding by @andydunstall in https://github.com/andydunstall/piko/pull/68
- status: add upstream endpoints status command by @andydunstall in https://github.com/andydunstall/piko/pull/69
- server: add usage reporting by @andydunstall in https://github.com/andydunstall/piko/pull/70
Full Changelog: https://github.com/andydunstall/piko/compare/v0.2.0...v0.3.0
1、 piko-darwin-amd64 22.53MB
2、 piko-darwin-arm64 21.83MB
3、 piko-linux-amd64 22.48MB
4、 piko-linux-arm64 21.55MB