Skip to content

Releases: lhridder/infrared

v1.3.5-beta

27 Jun 23:09
4d992af
Compare
Choose a tag to compare

Changelog

  • 3540007 disable deadline for valid status request
  • 4d992af experimental fix for big handshake packets giving OOM's
  • 35f15cf implement cache for if backend server is online and lower cache time to 10s from 30s
  • ccf54dc remove unused conn attribute from usernameCheck

v1.3.4-beta

08 Jun 21:27
5b47102
Compare
Choose a tag to compare

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

02 Jun 21:22
b006f16
Compare
Choose a tag to compare

Changelog

  • b006f16 fix loginCheck sending back invalid clientbound disconnect during play state for different versions by not switching to play state and sending login state clientbound disconnect
  • fd5c8a0 fix mojangcheck not being executed when a player is half verified through geoip

v1.3.2-beta

31 May 00:51
9479928
Compare
Choose a tag to compare

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

26 May 01:28
835f05c
Compare
Choose a tag to compare

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

14 May 21:11
12e2024
Compare
Choose a tag to compare

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

14 Apr 15:35
7af6ea9
Compare
Choose a tag to compare

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

18 Mar 21:44
e335926
Compare
Choose a tag to compare

Changelog

  • e335926 fix live config removing and editing: - change api to use .json - only watch .json files - add back removeCallback and changeCallback
  • 3866fea remove unneeded header
  • 70c0133 respond with 200 if / is queried on API port
  • 791cb7c update go version used by CI

v1.2.0-beta

13 Mar 14:47
4af34e7
Compare
Choose a tag to compare

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