Releases: lhridder/infrared
Releases · lhridder/infrared
v1.3.5-beta
v1.3.4-beta
Changelog
- ae7a243 Implement new 1.19 encryptionResponse and loginStart into protocol package
- 398883b add 1.19 todo and fix error when ip is cached as false
- 71d2d60 add protocolversion to session object and send with UnmarshalServerBoundEncryptionRequest seperate verifyToken check from signature check
- 39d33b0 fix handleLoginRequest not getting login packet because it was already read before
- af85cdb give encryptionResponse reader protocolversion to determine output
- bd5095b simplify EncryptionResponse and rename EncryptedSecretKey to SharedSecret
- 1c16273 typing mistake in README.md
- 5b47102 update todo to only need signature
v1.3.3-beta
v1.3.2-beta
Changelog
- fb6dab6 add option for an icon for unknown domain status reponses and improve readme about genericPing config fields
- 509a7ba add option for genericJoinResponse
- 73e643b add option for rejoinMessage
- 153813d add proper error handling when loading config.json and geoip file
- 9479928 only run ci on new tags again
v1.3.1-beta
Changelog
- e5a2ac3 improve code structure - implement gateway.handleUnknown to react to unknown hostnames - implement gateway.geoCheck to separate geo checks from the serve() function - implement gateway.usernameCheck to separate username checks from the serve() function - implement gateway.loginCheck to separate encryption checks from the serve() function - implement handleStatusConnection and handleJoinConnection to separate them - Fix encryption check not sending a valid disconnect - Fix double kick when uncached ip and under attack - Add check to see if username player sent and mojang sent are identical - Add Session struct to keep track of connection elements - Correct ClientBoundDisconnectPacketID
- 835f05c remove unneeded realip println
v1.3.0-release
Changelog
- 0928c62 Add default options for GlobalConfig like is done with ProxyConfig
- e99a14a Make connection treshold for underAttack variable in the global config
- 12e2024 cache offline status for backend server
- a274aac fix: status packet for offline backend was not being sent because handleStatusRequest was waiting for the ServerBoundRequest packet from the client which was already sent
- 00d4f5d update README.md
v1.2.2-beta
Changelog
- 93e5c4a Update README.md
- 7af6ea9 fix: have cached status packet send along correct description attribute instead of just text
- 707f870 improve status caching - add ServerBoundStatusRequest check - change cacheResponse from packet to ClientBoundStatusResponse - check for error when unmarshalling cached response
- f1d9e74 inject correct protocol version into cached status reponse packet to make client happy
- a1e0de9 update returned messages when adding proxy
v1.2.1-beta
v1.2.0-beta
Changelog
- ee94b1f - change variables to gateway instance - start encryption and check for failed encryption response - generate keys when starting - add 2 packets to protocol for use with encryption
- b941346 - lower connection deadline - set ulimit on start - catch invalid packets better to prometheus - introduce ErrInvalidPacketLength - remove unneeded error check
- 3416646 - move GeoIP, Redis and MojangAPI loaders from proxy.go to gateway.go - remove prometheus comment - fix hacky closed connection check (thx snowp) - have serve() function not panic and recover with a closed connection - catch redis errors - catch mojangapi errors
- c4e3837 Add infrared_handshakes, remove infrared_proxies, and fix logouts
- 91cfb73 Added further prometheus explanation
- 930587c Added grafana dashboard json, picture and README
- fea1f95 Fix case differences
- 4211dec Fixed missing ) in grafana README
- 3d2ee25 If my boss asks you dont got this from me ;)
- be1c362 Improved Prometheus Exporter README part
- c08597a Only load mojang api when GeoIP is active
- 429e31c Update README.md
- 239fb4d Update README.md
- 18fa158 add debug log mode and set lower timeout on connections
- 576ab54 add geoip to status requests in prometheus exporter check if hostname supplied is a valid ipaddress or fqdn return error if loginHandshake can't be read
- 6e37a26 add permanent underAttack mode for testing
- 221ccb0 add prometheus to global config
- 2d9c241 add realIP check to status cache just in case
- 293c266 added registering of multiple domains
- abf59b7 backport http api from upstream - change to mux from chi - actually close prometheus counter for proxy after deletion - add get route for a list of proxies - add get route to get a single proxy - remove add proxy without name route - add ApiEnabled and ApiBind to global config - add API docs to README
- 77f9b31 backport receiveProxyProtocol fix from upstream
- 4af34e7 change ci to build more often and remove test ci
- 00b45c9 change no proxy with domain message
- 669fc22 changed username lookup check to only be active when underAttack is false
- 38eabd1 check if onlinestatus is configured before checking motd cache
- e70b57e chore: update minecraft version
- 89e1acd dont run encryption check for every player while underAttack
- 88c1266 dont send unknown domain responses during attacks fix treshold logs
- c5347cd fix status requests when geoip is turned off
- 7b77bc7 fix: forge and realip incompatibility (#88)
- e7e9ba9 have username lookups cache as half and improve console logs
- 2d85177 ignore config folder
- 324dbdf implement antibot - add attack treshold (connections/second) - add redis cache for ips and usernames - implement mojang api for username lookups - expand geoip checks - implement first join kicks during attacks - send disconnect packet for unknown proxy - remove sniffUsername function and spread across proxy.go and gateway.go - add blocked connections (with types) to prometheus exporter - add underAttack boolean to prometheus exporter
- 5240fa9 implement geoip lookups
- a3b55a7 implement session authentication - add sha1.go for creating notchHash - add clientbound_loginsuccess.go to finish login sequence - add clientbound_disconnect.go in the play package to close the connection after finishing the login sequence - remove Unmarshal function from clientbound_encryptionrequest.go as it's not needed - add cancelled_authentication to log blocked authentication attempts
- 2d4ab12 implement status caching - add cacheTime and cacheResponse to Proxy struct - add clientbound_pong.go and serverbound_ping.go for 'spoofing' ping packets - implement proxyProtocol when updating cache
- 82cfb05 improve encryption checks - add cfb8.go (from plasma) to actually add cipher to the connection - improved error return messages - change ip caching system to have 3 modes (false,half and true) - read login packet earlier - check verifyToken - use decrypted shared secret to cipher connection and send encrypted disconnect packet back
- 7acc6ec log country to prometheus for unknown server pings (when not under attack) fix ping response to unknown status packets
- 11e5099 log invalid connections to prometheus
- 88a089c log invalid status and login requests to prometheus too
- e70b4c9 make default response variable through config.json
- e086cc9 passthrough DomainName in status request when updating cache
- 0dd561f reimplement case difference checking for serverAddress in prometheus exporter
- 226a232 remove docker and callbacks and always send cached response
- 75101f8 remove prometheus flags from main.go
- 2252816 remove ulimit edit again
- b87b5bf return some errors instead of just logging
- ae8e1fa send across client protocol version when caching
- d1e1c75 should fix it
- 846d400 stop sending prometheus metric if proxy is closed/removed
- 9cb1d22 store permanent under attack in prometheus too
- cf2b949 throw away host spam by modded clients
- d66972c update README.md - add example global config - fix table formatting
- 835aaf5 update README.md with useful info and used sources
- 49a0fbe update go-proxyproto
- bebaa8d update readme - update summary with removed docker and callbacks - remove docker and callbacks from example config and config layout
- f189aa4 update readme with new checks
- c5508e8 update readme with new infrared_hanshakes types
- 3b86e44 update to 1.18 protocol
- e5ee60e using it at your own risk
- b74c500 whitelist ip if player passes name check