Skip to content

Commit

Permalink
feat: add read receipts and hidden mode
Browse files Browse the repository at this point in the history
  • Loading branch information
cyb3rko committed Dec 20, 2024
1 parent bf9279c commit 5ac6325
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 1 deletion.
1 change: 1 addition & 0 deletions .env_template
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ GUARDIAN_PASSWORD=yourVerySecurePassword
GUARDIAN_MANAGEMENT_ROOM_ID=!ABCdefGHIjklMNOpqr:matrix.org
GUARDIAN_MANAGEMENT_ROOM_REPORTS=true
GUARDIAN_TEST_MODE=false
GUARDIAN_HIDDEN_MODE=false
GUARDIAN_VIRUS_TOTAL_KEY=
GUARDIAN_URL_FILTER=true
GUARDIAN_URL_CHECK_VIRUS_TOTAL=false
Expand Down
1 change: 1 addition & 0 deletions config.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ type Config struct {
// OPTIONAL //
mngtRoomReports bool // "GUARDIAN_MANAGEMENT_ROOM_REPORTS", default: true
testMode bool // "GUARDIAN_TEST_MODE", default: false
hiddenMode bool // "GUARDIAN_HIDDEN_MODE", default: false
virusTotalKey string // "GUARDIAN_VIRUS_TOTAL_KEY", default:
useUrlFilter bool // "GUARDIAN_URL_FILTER", default: true
useUrlCheckVt bool // "GUARDIAN_URL_CHECK_VIRUS_TOTAL", default: false
Expand Down
1 change: 1 addition & 0 deletions docker-compose-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ services:
# Optional (defaults filled in)
GUARDIAN_MANAGEMENT_ROOM_REPORTS: ${GUARDIAN_MANAGEMENT_ROOM_REPORTS}
GUARDIAN_TEST_MODE: ${GUARDIAN_TEST_MODE}
GUARDIAN_HIDDEN_MODE: ${GUARDIAN_HIDDEN_MODE}
GUARDIAN_VIRUS_TOTAL_KEY: ${GUARDIAN_VIRUS_TOTAL_KEY}
GUARDIAN_URL_FILTER: ${GUARDIAN_URL_FILTER}
GUARDIAN_URL_CHECK_VIRUS_TOTAL: ${GUARDIAN_URL_CHECK_VIRUS_TOTAL}
Expand Down
1 change: 1 addition & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ services:
# Optional (defaults filled in)
GUARDIAN_MANAGEMENT_ROOM_REPORTS: true
GUARDIAN_TEST_MODE: false
GUARDIAN_HIDDEN_MODE: false
GUARDIAN_VIRUS_TOTAL_KEY: ""
GUARDIAN_URL_FILTER: true
GUARDIAN_URL_CHECK_VIRUS_TOTAL: false
Expand Down
16 changes: 15 additions & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,12 @@ func onProtectedRoomMessage(client *mautrix.Client, ctx context.Context, evt *ev
reg := regexp.MustCompile(filter.RegexUrl)
urls := reg.FindAllString(evt.Content.AsMessage().Body, -1)
if len(urls) == 0 {
// TODO send read indicator
if !config.hiddenMode {
err := client.SendReceipt(ctx, evt.RoomID, evt.ID, event.ReceiptTypeRead, nil)
if err != nil {
return
}
}
return
}
if config.useUrlFilter && filter.IsUrlFiltered(database, urls) {
Expand All @@ -170,6 +175,9 @@ func onProtectedRoomMessage(client *mautrix.Client, ctx context.Context, evt *ev
redactMessage(client, ctx, evt, "found suspicious URL (FishFish)")
return
}
if config.hiddenMode {
return
}
_, err := client.SendReaction(ctx, evt.RoomID, evt.ID, "🛡️")
if err != nil {
return
Expand Down Expand Up @@ -243,12 +251,14 @@ func readConfig() Config {
mngtRoomId := util.GetEnv("GUARDIAN_MANAGEMENT_ROOM_ID", true, false)
mngtRoomReports := util.GetEnv("GUARDIAN_MANAGEMENT_ROOM_REPORTS", true, true)
testMode := util.GetEnv("GUARDIAN_TEST_MODE", true, true)
hiddenMode := util.GetEnv("GUARDIAN_HIDDEN_MODE", true, true)
virusTotalKey := util.GetEnv("GUARDIAN_VIRUS_TOTAL_KEY", true, false)
useUrlFilter := util.GetEnv("GUARDIAN_URL_FILTER", true, true)
useUrlCheckVt := util.GetEnv("GUARDIAN_URL_CHECK_VIRUS_TOTAL", true, true)
useUrlCheckFf := util.GetEnv("GUARDIAN_URL_CHECK_FISHFISH", true, true)
mngtRoomReportsBool := true
testModeBool := false
hiddenModeBool := false
useUrlFilterBool := true
useUrlCheckVtBool := false
useUrlCheckFfBool := false
Expand Down Expand Up @@ -285,6 +295,9 @@ func readConfig() Config {
testModeBool = true
fmt.Println("!!! Running in test mode !!!")
}
if hiddenMode == "true" {
hiddenModeBool = true
}
if useUrlFilter == "false" {
useUrlFilterBool = false
}
Expand All @@ -308,6 +321,7 @@ func readConfig() Config {
// OPTIONAL //
mngtRoomReports: mngtRoomReportsBool,
testMode: testModeBool,
hiddenMode: hiddenModeBool,
virusTotalKey: virusTotalKey,
useUrlFilter: useUrlFilterBool,
useUrlCheckVt: useUrlCheckVtBool,
Expand Down

0 comments on commit 5ac6325

Please sign in to comment.