A Public Suffix List is a collection of Top Level Domains (TLDs) suffixes.
TLDs include Global Top Level Domains (gTLDs) like .com
and .net
;
Country Top Level Domains (ccTLDs) like .de
and .cn
;
and Brand Top Level Domains like .apple
and .google
.
Brand TLDs allows users to register their own top level domain that exist at the same level as ICANN's gTLDs.
Brand TLDs are sometimes referred to as Vanity Domains.
Browsers, web clients and other user agents can use a public suffix list to:
Libpsl...
Find more information about the Public Suffix List here.
Download the Public Suffix List here.
The original DAFSA code is from the Chromium Project.
You find the current API documentation here.
#include <stdio.h>
#include <libpsl.h>
int main(int argc, char **argv)
{
const char *domain = "www.example.com";
const char *cookie_domain = ".com";
const psl_ctx_t *psl = psl_builtin();
int is_public, is_acceptable;
is_public = psl_is_public_suffix(psl, domain);
printf("%s %s a public suffix.\n", domain, is_public ? "is" : "is not");
is_acceptable = psl_is_cookie_domain_acceptable(psl, domain, cookie_domain);
printf("cookie domain '%s' %s acceptable for domain '%s'.\n",
cookie_domain, is_acceptable ? "is" : "is not", domain);
return 0;
}
Libpsl comes with a tool 'psl' that gives you access to most of the library API via command line.
$ psl --help
prints the usage.
The DAFSA format is a compressed representation of strings. Here we use it to reduce the whole PSL to about 32k in size.
Generate psl.dafsa
from list/public_suffix_list.dat
$ src/psl-make-dafsa --output-format=binary list/public_suffix_list.dat psl.dafsa
Test the result (example)
$ tools/psl --load-psl-file psl.dafsa aeroclub.aero
Libpsl is made available under the terms of the MIT license.
See the LICENSE file that accompanies this distribution for the full text of the license.
src/psl-make-dafsa and src/lookup_string_in_fixed_set.c are licensed under the term written in src/LICENSE.chromium.
You should have python2.7+ installed.
Download project and prepare sources with
git clone https://github.com/rockdaboot/libpsl
./autogen.sh
./configure
make
make check
If you prefer a meson
build
meson builddir
ninja -C builddir
ninja -C builddir test
There is also an unofficial MSVC nmake build configuration in msvc/
. Please
see README.MSVC.md on building libpsl with Visual Studio via NMake or Meson.
To join the mailing list send an email to
libpsl-bugs+subscribe@googlegroups.com
and follow the instructions provided by the answer mail.
Or click join.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型