123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package tcpprox
- import "imuslab.com/zoraxy/mod/database"
- const (
- ProxyMode_Listen = 0
- ProxyMode_Transport = 1
- ProxyMode_Starter = 2
- )
- type ProxyRelayConfig struct {
- UUID string
- Name string
- Running bool
- PortA int
- PortB int
- Mode int
- Timeout int
- StopChan chan bool
- }
- type Options struct {
- Database *database.Database
- }
- type Manager struct {
-
- Options *Options
- Configs []*ProxyRelayConfig
-
- Connections int
- AccumulatedByteTransfered int64
- }
- func NewTCProxy(options *Options) *Manager {
- options.Database.NewTable("tcprox")
- previousRules := []*ProxyRelayConfig{}
- if options.Database.KeyExists("tcprox", "rules") {
- options.Database.Read("tcprox", "rules", &previousRules)
- }
- return &Manager{
- Options: options,
- Configs: previousRules,
- Connections: 0,
- }
- }
- func (m *Manager) NewConfig(config *ProxyRelayConfig) error {
- return nil
- }
- func (m *Manager) RemoveConfig(configUUID string) error {
- return nil
- }
- func (m *Manager) SaveConfigToDatabase() {
- m.Options.Database.Write("tcprox", "rules", m.Configs)
- }
|