Skip to content

Commit

Permalink
optional store traffic time
Browse files Browse the repository at this point in the history
  • Loading branch information
alireza0 committed Apr 25, 2024
1 parent abb869c commit 9a02e65
Show file tree
Hide file tree
Showing 10 changed files with 41 additions and 6 deletions.
8 changes: 7 additions & 1 deletion backend/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,13 @@ func (a *APP) Start() error {
if err != nil {
return err
}
err = a.cronJob.Start(loc)

trafficAge, err := a.SettingService.GetTrafficAge()
if err != nil {
return err
}

err = a.cronJob.Start(loc, trafficAge)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions backend/cronjob/cronJob.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func NewCronJob() *CronJob {
return &CronJob{}
}

func (c *CronJob) Start(loc *time.Location) error {
func (c *CronJob) Start(loc *time.Location, trafficAge int) error {
c.cron = cron.New(cron.WithLocation(loc), cron.WithSeconds())
c.cron.Start()

Expand All @@ -24,7 +24,7 @@ func (c *CronJob) Start(loc *time.Location) error {
// Start expiry job
c.cron.AddJob("@every 1m", NewDepleteJob())
// Start deleting old stats
c.cron.AddJob("@daily", NewDelStatsJob())
c.cron.AddJob("@daily", NewDelStatsJob(trafficAge))
}()

return nil
Expand Down
9 changes: 6 additions & 3 deletions backend/cronjob/delStatsJob.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,17 @@ import (

type DelStatsJob struct {
service.StatsService
trafficAge int
}

func NewDelStatsJob() *DelStatsJob {
return &DelStatsJob{}
func NewDelStatsJob(ta int) *DelStatsJob {
return &DelStatsJob{
trafficAge: ta,
}
}

func (s *DelStatsJob) Run() {
err := s.StatsService.DelOldStats(30)
err := s.StatsService.DelOldStats(s.trafficAge)
if err != nil {
logger.Warning("Deleting old statistics failed: ", err)
return
Expand Down
5 changes: 5 additions & 0 deletions backend/service/setting.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ var defaultValueMap = map[string]string{
"webPath": "/app/",
"webURI": "",
"sessionMaxAge": "0",
"trafficAge": "30",
"timeLocation": "Asia/Tehran",
"subListen": "",
"subPort": "2096",
Expand Down Expand Up @@ -204,6 +205,10 @@ func (s *SettingService) GetSessionMaxAge() (int, error) {
return s.getInt("sessionMaxAge")
}

func (s *SettingService) GetTrafficAge() (int, error) {
return s.getInt("trafficAge")
}

func (s *SettingService) GetTimeLocation() (*time.Location, error) {
l, err := s.getString("timeLocation")
if err != nil {
Expand Down
1 change: 1 addition & 0 deletions frontend/src/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ export default {
sslCert: "SSL Certificate Path",
webUri: "Panel URI",
sessionAge: "Session Maximum Age",
trafficAge: "Traffic Maximum Age",
timeLoc: "Timezone Location",
subEncode: "Enable Encoding",
subInfo: "Enable Client Info",
Expand Down
1 change: 1 addition & 0 deletions frontend/src/locales/fa.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ export default {
sslCert: "مسیر فایل گواهی",
webUri: "آدرس نهایی پنل",
sessionAge: "بیشینه زمان لاگین ماندن",
trafficAge: "بیشینه زمان ذخیره ترافیک",
timeLoc: "منطقه زمانی",
subEncode: "رمزگذاری",
subInfo: "نمایش اطلاعات کاربر",
Expand Down
1 change: 1 addition & 0 deletions frontend/src/locales/vi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ export default {
sslCert: "Đường dẫn chứng chỉ SSL",
webUri: "URI bảng điều khiển",
sessionAge: "Tuổi tối đa của phiên",
trafficAge: "Tuổi lưu thông tối đa",
timeLoc: "Vị trí múi giờ",
subEncode: "Kích hoạt mã hóa",
subInfo: "Kích hoạt thông tin khách hàng",
Expand Down
1 change: 1 addition & 0 deletions frontend/src/locales/zhcn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ export default {
sslCert: "SSL 证书 (cert) 路径",
webUri: "面板 URI",
sessionAge: "会话最大连接数",
trafficAge: "流量最大年龄",
timeLoc: "时区",
subEncode: "启用编码",
subInfo: "启用用户信息",
Expand Down
1 change: 1 addition & 0 deletions frontend/src/locales/zhtw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ export default {
sslCert: "SSL 證書 (cert) 路徑",
webUri: "面板 URI",
sessionAge: "會話最大連接數",
trafficAge: "流量最大年齡",
timeLoc: "時區",
subEncode: "啟用編碼",
subInfo: "啟用用戶信息",
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/views/Settings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@
type="number"
v-model.number="sessionMaxAge"
:label="$t('setting.sessionAge')"
:suffix="$t('date.h')"
hide-details
></v-text-field>
</v-col>
<v-col cols="12" sm="6" md="4">
<v-text-field
type="number"
v-model.number="trafficAge"
:label="$t('setting.trafficAge')"
:suffix="$t('date.d')"
hide-details
></v-text-field>
</v-col>
Expand Down Expand Up @@ -152,6 +162,7 @@ const settings = ref({
webPath: "/app/",
webURI: "",
sessionMaxAge: "0",
trafficAge: "30",
timeLocation: "Asia/Tehran",
subListen: "",
subPort: "2096",
Expand Down Expand Up @@ -246,6 +257,11 @@ const sessionMaxAge = computed({
set: (v:number) => { settings.value.sessionMaxAge = v.toString() }
})
const trafficAge = computed({
get: () => { return parseInt(settings.value.trafficAge) },
set: (v:number) => { settings.value.trafficAge = v.toString() }
})
const subPort = computed({
get: () => { return parseInt(settings.value.subPort) },
set: (v:number) => { settings.value.subPort = v.toString() }
Expand Down

0 comments on commit 9a02e65

Please sign in to comment.