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
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

wrap.go 1.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package wrappers
  2. import (
  3. "io"
  4. "net"
  5. )
  6. type Wrap interface {
  7. LogDebug(msg string, data ...interface{})
  8. LogInfo(msg string, data ...interface{})
  9. LogWarn(msg string, data ...interface{})
  10. LogError(msg string, data ...interface{})
  11. LocalAddr() *net.TCPAddr
  12. RemoteAddr() *net.TCPAddr
  13. }
  14. type WrapWriter interface {
  15. io.Writer
  16. Wrap
  17. }
  18. type WrapCloser interface {
  19. io.Closer
  20. Wrap
  21. }
  22. type WrapWriteCloser interface {
  23. io.Closer
  24. WrapWriter
  25. }
  26. type WrapStreamReader interface {
  27. io.Reader
  28. Wrap
  29. }
  30. type WrapStreamReadCloser interface {
  31. io.Closer
  32. WrapStreamReader
  33. }
  34. type WrapStreamReadWriter interface {
  35. io.Writer
  36. WrapStreamReader
  37. }
  38. type WrapStreamWriteCloser interface {
  39. io.Closer
  40. io.Writer
  41. Wrap
  42. }
  43. type WrapStreamReadWriteCloser interface {
  44. io.Closer
  45. WrapStreamReadWriter
  46. }
  47. type WrapPacketReader interface {
  48. Read() ([]byte, error)
  49. Wrap
  50. }
  51. type WrapPacketWriter interface {
  52. io.Writer
  53. Wrap
  54. }
  55. type WrapPacketReadWriter interface {
  56. io.Writer
  57. WrapPacketReader
  58. }
  59. type WrapBlockReadCloser interface {
  60. io.Closer
  61. WrapPacketReader
  62. }
  63. type WrapPacketWriteCloser interface {
  64. io.Writer
  65. io.Closer
  66. Wrap
  67. }
  68. type WrapPacketReadWriteCloser interface {
  69. io.Closer
  70. WrapPacketReadWriter
  71. }