63 Commits

Author SHA1 Message Date
Copilot
e449533a4a
Fix: reject malformed domain rules (#3917)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
2026-08-05 22:06:16 +08:00
MkQtS
21f09bcdba
main.go: remove outdated comment
[skip ci]
2026-08-05 21:00:05 +08:00
MkQtS
5dd30db805
main.go: support to trim subdomains with attrs (#3912) 2026-08-05 14:35:11 +08:00
Copilot
b49404a24e
Fix panic and rule loss in list parsing/resolution (#3905)
* Fix panic on empty inclusion attribute, rule loss in selective inclusion and other bugs

* Exercise domain/list-name validators in tests

* Consolidate parsed list state into ParsedList and simplify inclusion parsing

Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
2026-08-04 18:22:31 +08:00
MkQtS
462dc5706f
main.go: fix handling for empty list (#3861)
* main.go: fix handling for empty list

The length of plMap and finalMap are not equal in this case.

* main.go: avoid resolving empty lists repeatedly

When there's an empty list and included by n lists,
the empty list would be resolved (n+1) times.
Add a bool key to ParsedList to avoid this.

ParsedList.Name is not used, so remove it.
2026-07-21 16:54:40 +08:00
MkQtS
27f16b91a1
Improve codes (#3846)
* datdump: improve codes

- reuse strings.Builder

- no need to generate custom DomainRule type

* main.go: ignore empty list instead of quit
2026-07-14 14:12:05 +08:00
MkQtS
1db558b165
main.go: support to generate multiple custom dats (#3367)
This allows to remove any unwanted lists without modifying the domains
data, and you can generate multiple custom v2ray dat files in a single
command.

As long as the source data is consistent, any list remains in the trimed
dat contains the same rules comparing to the list in full dat.

Use the new option `datprofile` to specify the config json file path.
`outputname` will be ignored when `datprofile` is set.

Co-authored-by: database64128 <free122448@hotmail.com>
2026-03-18 18:32:05 +08:00
MkQtS
714a061ba3
main.go: improve codes (#3366)
* main.go: improve codes

* main.go: add parseInclusion

- seprate from parseEntry
- not allow affiliation for inclusion
2026-03-18 15:58:47 +08:00
MkQtS
42aafe324e
main.go: optimize attr filter (#3317)
[skip ci]
2026-03-02 14:15:40 +08:00
MkQtS
afb9e6cad0
main.go: clean up (#3310)
[skip ci]
2026-02-27 13:09:18 +08:00
MkQtS
db9c0fe466
main.go: improve codes (#3290) 2026-02-19 17:24:13 +08:00
MkQtS
311b281000
improve codes (#3246) 2026-02-04 15:03:04 +08:00
MkQtS
947556aa16
Improve codes (#3242)
* main.go: improve code

* main.go: move refMap from global variable to local

* main.go: allow tld to be a parent domain

* datdump: improve code
2026-02-03 22:38:18 +08:00
MkQtS
5c38f34456
Add cmd/datdump/main.go (#3213)
* Feat: add a new datdump tool

* Refactor: address code review comments

* Refactor: remove export all from main program

use datdump instead

* Refactor: allow spaces in exportlists

e.g. `--exportlists="lista, listb"`

* all: cleanup

* apply review suggestion

---------

Co-authored-by: database64128 <free122448@hotmail.com>
2026-01-24 23:11:35 +08:00
MkQtS
1bd07b2e76
Support to export all lists to a plain yml (#3211)
* Refactor: improve deduplicate

* Feat: support to export all lists to a plain yml

use: `--exportlists=_all_`

* Docs: add links for dlc plain yml

[skip ci]
2026-01-23 14:56:35 +08:00
MkQtS
676832d14a
Improve value checkers and docs (#3208)
* Refactor: improve value checkers

* Docs: small improvements

[skip ci]
2026-01-22 18:46:53 +08:00
MkQtS
ec95fedc45
Refactor main.go (#3119)
* Refactor: reduce the use of strings.TrimSpace

* Refactor: use string attr before toProto

* Refactor parseEntry

- add value/attribute checker(check missing space)
- allow multiple spaces
- sort attributes
- improve readablity

* Refactor exportPlainTextList

- remove unnecessary variable
- improve readablity

* Remove support for partial include

This reverts e640ac27834550c9182c486ea180bbd3b0d4ba75

It is problematic and I will implement a new one

* Refactor: promote refMap

* Feat: add support for partial include

- refactor inclusion logic
- add basic deduplicate

* Refactor exporting plaintext list

* Feat: add support for affiliation

A domain rule is always added to the list corresponding to the filename
it resides in. Additionally, you can now add affiliations to a domain
rule, and the rule will be added to the list specified by the
affiliation. Each affiliation begins with `&` and followed by the name
of the affiliation.

This helps us to reduce the number of data files without compromising
functionality, and avoid writing a same rule in different files.

* Feat: add advanced deduplicate for subdomains

only for domain/full subdomains without attr

* Refactor: import and use slices

* Refactor: improve code
2026-01-20 20:58:32 +08:00
チセ
6f3acc3ba9
Chore: remove unused key-value attribute feature (#3076)
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
2025-12-20 19:38:46 +08:00
Loyalsoldier
4d45b17cd8
Chore: refine code (#3067) 2025-12-17 00:45:09 +08:00
Loyalsoldier
d8bd29ce92
Fix: incorrect lowercase for regexp rules (#3066) 2025-12-17 00:17:43 +08:00
Loyalsoldier
72eb885658
Refine: extract rule type (#3065) 2025-12-17 00:10:33 +08:00
风扇滑翔翼
93bfcfd142
Feat: check regexp before build (#3064)
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
2025-12-16 23:40:25 +08:00
Loyalsoldier
a5f824ce52
Chore: update dependencies (#2856) 2025-09-06 09:12:08 +08:00
rp-hello
d9c7ca5536
update domains&tools (#1821)
* update data/bytedance

* update data/kuaishou

* update ecombdapi.com

* update tools

---------

Co-authored-by: local@localhost <local@localhost>
2023-09-23 16:14:15 +08:00
Loyalsoldier
410d519b0f
Chore: use v2ray v5 2022-03-25 17:23:17 +08:00
kpcyrd
6ccee886e3
Reproducible Builds: Sort protoList before marshal (#605) 2021-08-16 09:48:12 +08:00
Loyalsoldier
584886fb9e
Fix: create multiple level path (#431) 2021-03-03 18:41:23 +08:00
Loyalsoldier
9d4eca1363
Fix: option description (#423) 2021-02-25 14:30:58 +08:00
Loyalsoldier
36f0a37aea
Fix: compatible with Go v1.16 (#422)
The flag `--insecure` in go get command has been deprecated in Go v1.16

Fixes #421
Fixes #420
2021-02-25 12:35:05 +08:00
wevsty
e640ac2783
Extend the include syntax (#391) 2021-02-04 19:45:06 +08:00
Loyalsoldier
c8ac979dbd
Remove gfwlist generation (#324) 2020-12-26 16:17:47 +08:00
loyalsoldier
aac127532b
Update dependencies 2020-11-15 13:45:42 +08:00
Loyalsoldier
92439ca317
Refine & exclude rules with @cn attribute (#236) 2020-09-29 10:11:49 +08:00
Kslr
9515303ce4
generate gfwlist.txt (#215)
* generate gfwlist.pac
2020-09-20 16:24:17 +08:00
Loyalsoldier
debbefc4cd
Refine: case insensitive & trim space (#193) 2020-09-05 07:08:33 +08:00
Loyalsoldier
a98b29b562
Comply with go regexp & user defined regular expression prefix (#164)
To avoid further confusion like this: https://github.com/v2fly/domain-list-community/issues/163
2020-08-19 20:44:54 +08:00
Loyalsoldier
4130e0a5b9
Fix: colon exist while no attr at the end of line (#86) 2020-07-28 09:37:59 +08:00
loyalsoldier
670629a255
Feat: export lists in plaintext format 2020-07-28 09:13:25 +08:00
loyalsoldier
e67dfbdaa8
Refine: exit with exit code 1 2020-07-27 21:52:56 +08:00
Kslr
98d615815c
Merge pull request #77 from Loyalsoldier/fix-inclusion-name
Fix: inclusion file name not capitalized
2020-07-27 19:22:22 +08:00
Loyalsoldier
31595ff3f9
Fix: attribute prefix (#79) 2020-07-27 10:53:16 +08:00
loyalsoldier
d9c3c837fb
Fix: inclusion file name not capitalized 2020-07-27 08:40:18 +08:00
loyalsoldier
9339d3f433
Fix: return copylock value 2020-07-21 18:29:15 +08:00
Loyalsoldier
d900ba3a1e
Fix: change source from v2ray to v2fly 2020-07-21 08:06:27 +08:00
loyalsoldier
22ea807fd1
Refine build process
- Detect and set $GOPATH explicitly
- Print more explicit errors
- Refine output
- Fail fast
2020-07-17 20:01:08 +08:00
Loyalsoldier
b4c4b4ddf9
Refine datapath flag description 2020-04-29 15:48:24 +08:00
loyalsoldier
1271c8c4e2 Feat: add --datapath flag for custom data folder 2020-04-29 13:46:32 +08:00
loyalsoldier
78a6fa316b Remove speedtest related code due to #285 2020-04-06 00:46:00 +08:00
Richard Chen
94e0310748
Revert "add UA"
This reverts commit 157b7292a3f7d7e94f8e4c11ff84d613afa16c34.
2020-02-09 18:26:35 +08:00
Richard Chen
157b7292a3
add UA 2020-02-09 18:20:07 +08:00