Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package antireplay
  2. import (
  3. "sync"
  4. "github.com/9seconds/mtg/config"
  5. "github.com/allegro/bigcache"
  6. )
  7. var (
  8. Cache *cache
  9. initOnce sync.Once
  10. )
  11. func Init() {
  12. initOnce.Do(func() {
  13. c1, err := bigcache.NewBigCache(bigcache.Config{
  14. Shards: 1024,
  15. LifeWindow: config.C.AntiReplayEvictionTime,
  16. Hasher: hasher{},
  17. HardMaxCacheSize: config.C.AntiReplayMaxSize,
  18. })
  19. if err != nil {
  20. panic(err)
  21. }
  22. c2, err := bigcache.NewBigCache(bigcache.Config{
  23. Shards: 1024,
  24. LifeWindow: config.C.AntiReplayEvictionTime,
  25. Hasher: hasher{},
  26. HardMaxCacheSize: config.C.AntiReplayMaxSize,
  27. })
  28. if err != nil {
  29. panic(err)
  30. }
  31. Cache = &cache{
  32. obfuscated2: c1,
  33. tls: c2,
  34. }
  35. })
  36. }