rust-cross
dnsguide
rust-cross | dnsguide | |
---|---|---|
5 | 12 | |
2,475 | 3,768 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | 10 months ago | |
Shell | ||
Apache License 2.0 | MIT License |
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.
rust-cross
-
Anything C can do Rust can do Better
rust-cross, Everything you need to know about cross compiling Rust programs! - Jorge Aparicio
-
GitHub Actions can't find built binaries to put them to a release
on: push: tags: - 'v*' name: Cross-compile and release jobs: build: name: Build runs-on: ubuntu-latest strategy: matrix: target: # https://github.com/japaric/rust-cross#the-target-triple - x86_64-unknown-linux-gnu - x86_64-pc-windows-gnu - wasm32-unknown-emscripten steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable target: ${{ matrix.target }} override: true - uses: actions-rs/cargo@v1 with: use-cross: true command: build args: --release --target=${{ matrix.target }} release: name: Release needs: [ build ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: clean: false - uses: nowsprinting/check-version-format-action@v3 id: version with: prefix: 'v' - name: Create release id: new_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} body: | Changes in this release: - First change - Second change draft: false prerelease: false - name: Upload 64-bit Windows build uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: asset_path: target/release/client.exe asset_name: client-${{ matrix.target }}-${{ steps.version.outputs.full }}.exe asset_content_type: application/zip upload_url: ${{ steps.new_release.outputs.upload_url }} - name: Upload 64-bit Linux build uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: asset_path: target/release/client asset_name: client-${{ matrix.target }}-${{ steps.version.outputs.full }} asset_content_type: application/zip upload_url: ${{ steps.new_release.outputs.upload_url }} - name: Upload 32-bit WebAssembly build uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: asset_path: target/release/client.wasm asset_name: client-${{ matrix.target }}-${{ steps.version.outputs.full }}.wasm asset_content_type: application/zip upload_url: ${{ steps.new_release.outputs.upload_url }}
-
In support of single binary executable packages
Well, at least that's that easy if what you try to compile don't have C dependencies. For C dependencies, there is cross <https://github.com/japaric/rust-cross> which I had good experiences with.
-
Hey Rustaceans! Got an easy question? Ask here (15/2021)!
Oh, this was the first thing that came up: https://github.com/japaric/rust-cross
dnsguide
-
Learning network programming in Rust?
Check out Building a DNS server in Rust
-
Anything C can do Rust can do Better
Building a DNS server in Rust - Emil Hernvall
-
What I learned from making a DNS client in Rust
I made one too https://github.com/ccouzens/dns-packet
The differences:
I followed this guide rather than the RFCs https://github.com/EmilHernvall/dnsguide/blob/master/chapter...
Mine isn't as polished. The command line parsing and output is more thrown together.
I hardcoded the packet identifier (it's not production code, and I'm only looking up one at a time).
I didn't use any bit manipulation libraries. I can see they would help because DNS packets don't line up their information with the byte boundaries.
- EmilHernvall/dnsguide: A guide to writing a DNS Server from scratch in Rust
- Building a DNS server in Rust
- dnsguide: A guide to writing a DNS Server from scratch in Rust
- A guide to building a DNS server from scratch in Rust
-
5 Systems Programming Project Ideas
I highly recommend the Building a DNS server in Rust guide by Emil Hernvall on GitHub. This guide will walk you through how to implement the DNS server and recursive resolve.
-
In-depth software programming
Rust: Building a DNS server in Rust
What are some alternatives?
xargo - The sysroot manager that lets you build and customize `std`
talent-plan - open source training courses about distributed database and distributed systems
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
learn-to-code-rust-baseball - Learn to Code with Rust and Baseball
Module Linker - browse modules by clicking directly on "import" statements on GitHub
os-tutorial - How to create an OS from scratch
just - 🤖 Just a command runner
mini-redis - Incomplete Redis client and server implementation using Tokio - for learning purposes only
cargo-linked - Display linked packages for compiled rust binaries
didact - A DIY guide to build your own React
iced - A cross-platform GUI library for Rust, inspired by Elm
naivecoin - A cryptocurrency implementation in less than 1500 lines of code