Help
RSS
API
Feed
Maltego
Contact
Domain > draft.linw1995.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2020-07-22
104.27.163.69
(
ClassC
)
2025-12-09
66.33.60.194
(
ClassC
)
Port 443
HTTP/1.1 200 OKAccept-Ranges: bytesAccess-Control-Allow-Origin: *Age: 0Cache-Control: public, max-age0, must-revalidateContent-Disposition: inlineContent-Type: text/html; charsetutf-8Date: Tue, 09 Dec 2025 17:42:49 GMTEtag: b175310d56dddf66c0d11ba887576c10Last-Modified: Tue, 09 Dec 2025 17:42:49 GMTServer: VercelStrict-Transport-Security: max-age63072000X-Vercel-Cache: HITX-Vercel-Id: pdx1:pdx1:pdx1::jmlj4-1765302168752-5d526b881b2eTransfer-Encoding: chunked !DOCTYPE html>html langzh>head> title>linw1995's blog/title> meta http-equivcontent-type contenttext/html; charsetutf-8> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1> meta namerobots contentnoodp/> link relstylesheet href/style.css> link relstylesheet href/color/blue.css> link relstylesheet href/font-hack.css> meta namedescription content> meta propertyog:description content> meta propertyog:title contentlinw1995s blog> meta propertyog:type contentwebsite> meta propertyog:url content/> meta nametwitter:card contentsummary_large_image> meta nametwitter:description content> meta nametwitter:title contentlinw1995s blog> meta propertytwitter:domain content/> meta propertytwitter:url content/> link relalternate typeapplication/atom+xml titlelinw1995's blog Atom Feed href/atom.xml /> link relshortcut icon typeimage/png href/favicon.png> /head>body class>div classcontainer> header classheader> div classheader__inner> div classheader__logo> a href/ styletext-decoration: none;> div classlogo> linw1995 /div> /a> /div> ul classmenu menu--desktop menu--language-selector> li classmenu__trigger>Chinese ▾/li> li> ul classmenu__dropdown> li>a href/en/>English/a>/li> /ul> /li>/ul>/div> nav classmenu> ul classmenu__inner> li classactive>a href/>blog/a>/li> li>a href/tags>tags/a>/li> li>a href/about>about me/a>/li> li>a hrefhttps://old-blog.linw1995.com/ target_blank relnoopener noreferrer>old blog/a>/li> li>a hrefhttps://github.com/linw1995 target_blank relnoopener noreferrer>github/a>/li> /ul> /nav> /header> div classcontent> div classposts> div classpost on-list> h1 classpost-title>a href/nvim-lsp-project-config/>Neovim 项目级 LSP 配置/a>/h1> div classpost-meta-inline> span classpost-date> 2025-06-25 /span> /div> span classpost-tags-inline> :: tags: a classpost-tag href/tags/golang/>#golang/a> a classpost-tag href/tags/neovim/>#neovim/a>/span> div classpost-content> h2 idqian-yan>前言/h2>p>最近在编写 Golang 代码时,为了在构建时隔离某些代码中的常量,需要使用 Golang 内置的 build tags 功能。因此,需要为 gopls 配置特定的启动参数,以便正确解析代码。然而,gopls 的配置需要在项目级别完成,全局配置可能会影响其他项目。/p>p>那么,该如何进行配置呢?/p> /div> div> !-- ︎ -- force text style - some devices render this as emoji --> a classread-more button href/nvim-lsp-project-config/> span classbutton__text>Read more/span> span classbutton__icon>↩︎/span> /a> /div> /div> div classpost on-list> h1 classpost-title>a href/rust-cross-compilation-tips/>Rust 跨平台构建贴士/a>/h1> div classpost-meta-inline> span classpost-date> 2025-04-02 /span> /div> span classpost-tags-inline> :: tags: a classpost-tag href/tags/nixos/>#nixos/a> a classpost-tag href/tags/rust/>#rust/a>/span> div classpost-content> h2 idshi-yong-nix-flake-da-jian-ji-chu-de-rust-kua-ping-tai-gou-jian-huan-jing>使用 Nix Flake 搭建基础的 Rust 跨平台构建环境/h2>ol>li>p>新增 flake.nix 文件,并执行 code>git add flake.nix/code> 。/p>pre data-langnix stylebackground-color:#2b303b;color:#c0c5ce; classlanguage-nix >code classlanguage-nix data-langnix>span>{/span>span> /span>span stylecolor:#d08770;>inputs /span>span> {/span>span> /span>span stylecolor:#d08770;>utils/span>span>./span>span stylecolor:#d08770;>url /span>span> "/span>span stylecolor:#a3be8c;>github:numtide/flake-utils/span>span>";/span>span> /span>span stylecolor:#d08770;>nixpkgs/span>span>./span>span stylecolor:#d08770;>url /span>span> "/span>span stylecolor:#a3be8c;>github:NixOS/nixpkgs/nixos-24.11/span>span>";/span>span> };/span>span>/span>span> /span>span stylecolor:#d08770;>outputs /span>span> {/span>span> nixpkgs,/span>span> utils,/span>span> .../span>span> /span>span stylecolor:#8fa1b3;>}/span>span>:/span>span> /span>span stylecolor:#bf616a;>utils/span>span>./span>span stylecolor:#bf616a;>lib/span>span>./span>span stylecolor:#bf616a;>eachDefaultSystem/span>span> (/span>span> system: /span>span stylecolor:#b48ead;>let/span>span> /span>span stylecolor:#d08770;>pkgs /span>span> /span>span stylecolor:#96b5b4;>import /span>span stylecolor:#bf616a;>nixpkgs /span>span>{/span>span stylecolor:#b48ead;>inherit /span>span stylecolor:#d08770;>system/span>span>;};/span>span> /span>span stylecolor:#d08770;>lib /span>span> /span>span stylecolor:#bf616a;>pkgs/span>span>./span>span stylecolor:#bf616a;>lib/span>span>;/span>span> /span>span stylecolor:#b48ead;>in /span>span>{/span>span> /span>span stylecolor:#d08770;>devShells /span>span>/span>span> {/span>span> /span>span stylecolor:#d08770;>default /span>span> /span>span stylecolor:#bf616a;>pkgs/span>span>./span>span stylecolor:#bf616a;>mkShell /span>span>{/span>span> /span>span stylecolor:#d08770;>nativeBuildInputs /span>span> /span>span stylecolor:#b48ead;>with /span>span stylecolor:#bf616a;>pkgs/span>span>; /span>span> /span>span stylecolor:#bf616a;>pkg-config/span>span> /span>span stylecolor:#bf616a;>gcc/span>span> ;/span>span> };/span>span> }/span>span> // /span>span stylecolor:#d08770;>builtins/span>span>./span>span stylecolor:#bf616a;>listToAttrs /span>span>(/span>span stylecolor:#96b5b4;>map /span>span>(target: {/span>span> /span>span stylecolor:#d08770;>name /span>span> /span>span stylecolor:#bf616a;>target/span>span>;/span>span> /span>span stylecolor:#d08770;>value /span>span> /span>span stylecolor:#b48ead;>let/span>span> /span>span stylecolor:#d08770;>cross /span>span> /span>span stylecolor:#96b5b4;>import /span>span stylecolor:#bf616a;>nixpkgs /span>span>{/span>span> /span>span stylecolor:#b48ead;>inherit /span>span stylecolor:#d08770;>system/span>span>;/span>span> /span>span stylecolor:#d08770;>crossSystem /span>span> {/span>span stylecolor:#d08770;>config /span>span> /span>span stylecolor:#bf616a;>target/span>span>;};/span>span> };/span>span> /span>span stylecolor:#d08770;>cpkgs /span>span> /span>span stylecolor:#bf616a;>cross/span>span>./span>span stylecolor:#bf616a;>pkgsMusl/span>span>;/span>span> /span>span stylecolor:#b48ead;>in /span>span>(/span>span stylecolor:#bf616a;>cross/span>span>./span>span stylecolor:#bf616a;>mkShell /span>span>{/span>span> /span>span stylecolor:#d08770;>nativeBuildInputs /span>span> /span>span stylecolor:#b48ead;>with /span>span stylecolor:#bf616a;>pkgs/span>span>; /span>span> /span>span stylecolor:#bf616a;>pkg-config/span>span> /span>span stylecolor:#bf616a;>gcc /span>span stylecolor:#65737e;># proc macro 等编译过程,需要原架构 toolchians/span>span> ;/span>span> /span>span stylecolor:#d08770;>env /span>span> /span>span stylecolor:#b48ead;>let/span>span> /span>span stylecolor:#d08770;>normalized /span>span> /span>span stylecolor:#bf616a;>lib/span>span>./span>span stylecolor:#bf616a;>strings/span>span>./span>span stylecolor:#bf616a;>toUpper /span>span>(/span>span stylecolor:#d08770;>builtins/span>span>./span>span stylecolor:#bf616a;>replaceStrings /span>span>"/span>span stylecolor:#a3be8c;>-/span>span>" "/span>span stylecolor:#a3be8c;>_/span>span>" /span>span stylecolor:#bf616a;>target/span>span>);/span>span> /span>span stylecolor:#b48ead;>in/span>span> /span>span stylecolor:#b48ead;>with /span>span stylecolor:#bf616a;>cpkgs/span>span>; {/span>span> /span>span stylecolor:#65737e;># https://doc.rust-lang.org/cargo/reference/environment-variables.html#configuration-environment-variables/span>span> "/span>span stylecolor:#a3be8c;>CARGO_TARGET_/span>span stylefont-style:italic;color:#ab7967;>${/span>span stylefont-style:italic;color:#bf616a;>normalized/span>span stylefont-style:italic;color:#ab7967;>}/span>span stylecolor:#a3be8c;>_LINKER/span>span>" "/span>span stylefont-style:italic;color:#ab7967;>${/span>span stylefont-style:italic;color:#bf616a;>stdenv/span>span stylefont-style:italic;color:#c0c5ce;>./span>span stylefont-style:italic;color:#bf616a;>cc/span>span stylefont-style:italic;color:#c0c5ce;>./span>span stylefont-style:italic;color:#bf616a;>targetPrefix/span>span stylefont-style:italic;color:#ab7967;>}/span>span stylecolor:#a3be8c;>cc/span>span>";/span>span> };/span>span> });/span>span> }) "/span>span stylecolor:#a3be8c;>x86_64-unknown-linux-musl/span>span>" "/span>span stylecolor:#a3be8c;>aarch64-unknown-linux-musl/span>span>");/span>span> }/span>span> );/span>span>}/span>/code>/pre>/li>li>p>执行构建/p>pre data-langbash stylebackground-color:#2b303b;color:#c0c5ce; classlanguage-bash >code classlanguage-bash data-langbash>span stylecolor:#65737e;># 本地构建/span>span stylecolor:#bf616a;>nix/span>span> develop .#default/span>span stylecolor:#bf616a;> --command /span>span>\/span>span> cargo build/span>span>/span>span stylecolor:#65737e;># 跨平台构建/span>span stylecolor:#65737e;>#/span>span stylecolor:#65737e;># 别忘了先安装对应的 rustup 组件/span>span stylecolor:#65737e;># rustup target add aarch64-unknown-linux-musl/span>span stylecolor:#65737e;># rustup target add x86_64-unknown-linux-musl/span>span>/span>span stylecolor:#bf616a;>nix/span>span> develop .#x86_64-unknown-linux-musl/span>span stylecolor:#bf616a;> --command /span>span>\/span>span> cargo build/span>span stylecolor:#bf616a;> --target/span>span> x86_64-unknown-linux-musl/span>/code>/pre>/li>/ol>h2 idopenssl-pq-deng-c-c-yi-lai-chu-li>openssl, pq 等 C/C++ 依赖处理/h2>p>使用静态编译,并使用有 vendor (打包 C/C++ 源码 )版本的 bindings 项目,把这些加入依赖管理,确保能稳定的可重复构建。/p>ol>li>p>在 Cargo.toml 文件中增加对应 target 的依赖。/p>pre data-langtoml stylebackground-color:#2b303b;color:#c0c5ce; classlanguage-toml >code classlanguage-toml data-langtoml>span>target.x86_64-unknown-linux-musl.dependencies/span>span stylecolor:#bf616a;>openssl-sys /span>span> { /span>span stylecolor:#bf616a;>version /span>span> "/span>span stylecolor:#a3be8c;>0.9/span>span>", /span>span stylecolor:#bf616a;>features /span>span> "/span>span stylecolor:#a3be8c;>vendored/span>span>" }/span>span stylecolor:#bf616a;>pq-sys /span>span> { /span>span stylecolor:#bf616a;>version /span>span> "/span>span stylecolor:#a3be8c;>0.7/span>span>", /span>span stylecolor:#bf616a;>features /span>span> "/span>span stylecolor:#a3be8c;>bundled/span>span>" }/span>span>/span>span>target.aarch64-unknown-linux-musl.dependencies/span>span stylecolor:#bf616a;>openssl-sys /span>span> { /span>span stylecolor:#bf616a;>version /span>span> "/span>span stylecolor:#a3be8c;>0.9/span>span>", /span>span stylecolor:#bf616a;>features /span>span> "/span>span stylecolor:#a3be8c;>vendored/span>span>" }/span>span stylecolor:#bf616a;>pq-sys /span>span> { /span>span stylecolor:#bf616a;>version /span>span> "/span>span stylecolor:#a3be8c;>0.7/span>span>", /span>span stylecolor:#bf616a;>features /span>span> "/span>span stylecolor:#a3be8c;>bundled/span>span>" }/span>/code>/pre>/li>li>p>执行构建/p>pre data-langbash stylebackground-color:#2b303b;color:#c0c5ce; classlanguage-bash >code classlanguage-bash data-langbash>span stylecolor:#65737e;># 本地静态编译则需要指定 RUSTFLAGS。经实测,有些架构该配置无效/span>span stylecolor:#bf616a;>RUSTFLAGS/span>span>'/span>span stylecolor:#a3be8c;>-C target-feature+crt-static/span>span>' /span>span stylecolor:#bf616a;>cargo/span>span> build/span>span>/span>span stylecolor:#65737e;># 而 x86_64-unknown-linux-musl 则不需要指定,默认启用/span>span stylecolor:#bf616a;>TARGET/span>span>/span>span stylecolor:#a3be8c;>x86_64-unknown-linux-musl /span>span stylecolor:#bf616a;>nix/span>span> develop .#$/span>span stylecolor:#bf616a;>TARGET --command /span>span>\/span>span> cargo build/span>span stylecolor:#bf616a;> --target /span>span>$/span>span stylecolor:#bf616a;>TARGET/span>/code>/pre>/li>/ol>blockquote>p>CRT means standard C runtime.The default of strong>crt-static/strong> will be different depending on the target.For example strong>x86_64-unknown-linux-musl/strong> will have it on by default,whereas strong>arm-unknown-linux-musleabi/strong> will have it turned off by default.sup classfootnote-reference>a href#1>1/a>/sup>/p>/blockquote>div classfootnote-definition id1>sup classfootnote-definition-label>1/sup>p>a hrefhttps://rust-lang.github.io/rfcs/1721-crt-static.html>RFC 1721 crt-static/a>/p>/div> /div> /div> div classpost on-list> h1 classpost-title>a href/my-dns/>实现 DNS App/a>/h1> div classpost-meta-inline> span classpost-date> 2024-12-25 /span> /div> span classpost-tags-inline> :: tags: a classpost-tag href/tags/note/>#note/a>/span> div classpost-content> h2 idqian-yan>前言/h2>p>img src/my-dns/Logo_of_WireGuard.png altLogo of WireGuard />/p>p>家里的 NAS 通过 WireGuard 配合小水管云主机搭建了一个私有网络,方便我在外面访问家里的设备。通过 Surge 可以定义简单的规则,把特定域名或 IP 段用 WireGuard 代理,这样就可以访问家里的设备了。再通过 SSID 判断当前网络环境,在家就直连。/p>p>这样从理论上看是挺好的,但会遇到些问题。 IP 段可能会冲突,只能给每个地址配置域名,只用域名规则。虽然很麻烦,但也没法子。配置域名可以在 Surge 上配置,也可以通过 code>/etc/hosts/code> 。但 Surge 更方便,可以配置 Unix Shell Style 通配符,减少些配置。/p>p>但这个方案有个问题,只能在 MacOS 和 iOS 上使用。而且 Surge 也很贵。不太方便别人照搬方案(虽然我认识的基本都是 Surge 的用户)。如果没有 Surge 呢,或者在不在 MacOS 上,又该如何处理。所以我诞生了自己实现 DNS 的想法。/p>blockquote>p>不久前入了台 Mini-PC 装了 NixOS 后,就遇到这样的问题。虽然用 sing-box (还免费)也能达到同样的效果,但自己动手实现 DNS 也是种有益身心的消遣方式。/p>/blockquote>p>需要实现的功能十分简单,只要类似 code>/etc/hosts/code> 文件,但又能像 Surge 这样配置统配符。还能通过配置哪些行是在 WiFi SSID 为某个值时生效,就能实现我想要的功能了。/p> /div> div> !-- ︎ -- force text style - some devices render this as emoji --> a classread-more button href/my-dns/> span classbutton__text>Read more/span> span classbutton__icon>↩︎/span> /a> /div> /div> div classpost on-list> h1 classpost-title>a href/keyboard-killer/>可乐是键盘杀手/a>/h1> div classpost-meta-inline> span classpost-date> 2024-12-04 /span> /div> span classpost-tags-inline> :: tags: a classpost-tag href/tags/equipment/>#equipment/a> a classpost-tag href/tags/keyboard/>#keyboard/a>/span> div classpost-content> p>周五晚上和女票在玩游戏 strong>Go-Go Town !/strong> 。游戏很上头,太专注了,不小心把可乐打翻了。可乐撒了一丢丢在键盘上,当时是擦干净了,使用也没啥问题。/p>p>隔天早上起来用的时候,就发现它坏了。呜呜呜,陪伴5年的键盘。/p> /div> div> !-- ︎ -- force text style - some devices render this as emoji --> a classread-more button href/keyboard-killer/> span classbutton__text>Read more/span> span classbutton__icon>↩︎/span> /a> /div> /div> div classpost on-list> h1 classpost-title>a href/setup-neovim-in-nixos/>在 NixOS 中配置 Neovim /a>/h1> div classpost-meta-inline> span classpost-date> 2024-09-14 /span> /div> span classpost-tags-inline> :: tags: a classpost-tag href/tags/neovim/>#neovim/a> a classpost-tag href/tags/nixos/>#nixos/a> a classpost-tag href/tags/rust/>#rust/a>/span> div classpost-content> h2 idqian-yan>前言/h2>p>最近在需要在一个巨大的 Rust 项目中做开发工作,但我的笔记本已经不堪重负,无法做高效的开发。So, 我决定购买一台新的迷你 PC 来专门处理这个问题。/p> img src/images/setup_neovim_in_nixos-mini_pc.jpg altmini PC is put on the left of my phone rack classleft styleborder-radius: 8px; decodingasync loadinglazy/>p>由于还是习惯在 MacOS 上开发,且又不想折腾 Hackintosh,我给这台新的迷你 PC 安装了 NixOS 。最早是打算继续使用 VSCode 远程开发,后面发现 Neovim 也是一个不错的选择。/p> /div> div> !-- ︎ -- force text style - some devices render this as emoji --> a classread-more button href/setup-neovim-in-nixos/> span classbutton__text>Read more/span> span classbutton__icon>↩︎/span> /a> /div> /div> div classpagination> div classpagination__buttons>/div> /div> /div> /div> footer classfooter> div classfooter__inner> div classcopyright copyright--user>b>Copyright ©/b> 2025 linw1995/div> /div> /footer> /div>script typetext/javascript src/js/menu.js>/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]