CsWin32
wireguard-tools
CsWin32 | wireguard-tools | |
---|---|---|
25 | 12 | |
2,226 | 531 | |
1.9% | 2.6% | |
9.5 | 0.5 | |
9 days ago | 8 months ago | |
C# | C | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CsWin32
-
WinDepends – A Rewrite of the Dependency Walker
If you do have headers, you don't have to write the bindings by hand: https://github.com/dotnet/ClangSharp?tab=readme-ov-file#gene...
Also because this is Windows, there is https://github.com/microsoft/CsWin32 already (and adjacent libraries) which rely on the same generator.
-
A comparison of Rust's borrow checker to the one in C#
I feel that nowadays Rust is the language to go when you are doing system programming, but C# is not a bad choice either. With .NET 9 being released in a few weeks we will get NativeAOT (compilation to a native single binary) for x86 (x64 and ARM64 are already available). At work, I'm writing patches for legacy apps and needed to use C++ for most of my tasks. Nowadays, I'm doing more and more stuff in C# and enjoying it. For WinAPI there is a fantastic cswin32 [1] project that generates FFIs signatures on the fly. And it's fairly simple to extend it for other Windows libraries (I did it for detours [2], for example). And using pointers or working with native memory blocks is straightforward and intuitive for people with C/C++ background.
[1] https://github.com/microsoft/CsWin32
[2] https://lowleveldesign.wordpress.com/2024/07/11/implementing...
-
[OC] I made a program for Windows which lets you create sticky preview thumbnails
This was mostly a project for fun, to dive into CsWin32 - a PInvoke source generator as well to fiddle around with the DWM API.
-
Change Secondary screen rotation using CMD
If you haven't seen the CsWin32 project, you can use it to generate all your bindings as well. It generates the raw extern bindings, and then friendly wrappers for C# (where possible) that also work really well with PowerShell.
-
Audio routing using C#
My best guess would be to use CsWin32 to wrangle the audio sinks used by variious WASAPI sessions.
-
Hello. Can someone please give me some fun and cool projects for powrshell? Thank you.
If you're looking for something different, try out writing windows programs using Win32 via CsWin32. You can generate a DLL that you Add-Type into PowerShell that lets you access all of Win32.
-
PInvoke.net: the interop wiki
Also worth mentioning is this C# source generator for generating P/Invoke methods for win32 APIs: https://github.com/microsoft/CsWin32
-
WPF Roadmap 2023
Idk what all the hubub is about FolderBrowserDialog, it's pretty easy to make the Win32 calls (you can even code generate the interop calls).
-
C# to C Struct
You could try this to auto-generate it.
- Any existing windows API wrappers?
wireguard-tools
-
jc: Converts the output of popular command-line tools to JSON
Oh, this is cool. I'm a huge proponent of CLI tools supporting sensible JSON output, and things like https://github.com/WireGuard/wireguard-tools/blob/master/con... and PowerShell's |ConvertTo-Json are a huge part of my management/monitoring automation efforts.
But, unfortunately, sensible is doing some heavy lifting here and reality is... well, reality. While the output of things like the LSI/Broadcom StorCLI 'suffix the command with J' approach and some of PowerShell's COM-hiding wrappers (which are depressingly common) is technically JSON, the end result is so mindbogglingly complex-slash-useless, that you're quickly forced to revert to 'OK, just run some regexes on the plain-text output' kludges anyway.
Having said that, I'll definitely check this out. If the first example given, parsing dig output, is indeed representative of what this can reliably do, it should be interesting...
-
Write Posix Shell
> Possible? Maybe. Easy? No. Especially the “testable” part.
a testable shell script? Never seen one.
Thinking about scirpts I've read in the past, I remember seeing Jason Donenfeld's bash script for wireguard-wg and thinking how productive and readable it was,
https://github.com/WireGuard/wireguard-tools/blob/master/src...
- Accessing WireGuard VIA DDNS
- C# to C Struct
-
Identity Management for WireGuard
I see this when my equipment roams back into my private network and the wireguard server is inside that LAN. It can be solved by NAT'ing packets arriving on your edge router's inside interface, destinated to your outside IP, back to the inside wireguard server IP.
Alternatively if your client is Linux, there is:
https://github.com/WireGuard/wireguard-tools/tree/master/con...
-
wireguard-tools on FreeBSD (TrueNas), where do I find the reresolve-dns.sh script? (Or something similar)
you have a copy here that you can edit: https://github.com/WireGuard/wireguard-tools/blob/master/contrib/reresolve-dns/reresolve-dns.sh
- Dynamic DNS setting??
- wireguard-dns
-
Route only certain dynamic IPs through the WireGuard tunnel
You could adapt this script for it. What this one does is re-resolve the domain of the endpoint for when it's a dynamic dns. You run it on a timer from cron, and when your dynamic dns changes it will update the endpoint IP with wg set. You could adapt this script to update your AllowedIPs instead of the endpoint.
-
WireGuard MacOS DMG File
I found the GitHub Repository to wireguard-tools however, I cannot read the exact commands required to connect to a certain VPN! I've created a .conf file and was wondering how you could use that with WireGuard-tools to establish a VPN tunnel to my network?
What are some alternatives?
Vanara - A set of .NET libraries for Windows implementing PInvoke calls to many native Windows APIs with supporting wrappers.
textfsm - Python module for parsing semi-structured text into python tables.
pinvoke - A library containing all P/Invoke code so you don't have to import it every time. Maintained and updated to support the latest Windows OS.
wireguard-apple - Mirror only. Official repository is at https://git.zx2c4.com/wireguard-apple
ClangSharp - Clang bindings for .NET written in C#
VxWireguard-Generator - Utility to generate VXLAN over Wireguard mesh SD-WAN configuration