profile
viewpoint

yaa110/Effects-Pro 426

An easy-to-use Android application to apply filters to images

yaa110/nomino 253

Batch rename utility for developers

yaa110/Piclice 180

Android application to slice and share your pictures

yaa110/Memento 131

Memento is a simple note taking app for Android

yaa110/go-persian-calendar 87

The implementation of Persian (Solar Hijri) Calendar in Go

arvancloud/nginx-rs 56

nginx bindings for Rust

yaa110/rubigo 45

[DEPRECATED] Golang vendor utility and package manager

yaa110/cb 40

Command line interface to manage clipboard

yaa110/rust-iptables 33

Rust bindings for iptables

yaa110/rust-persian-calendar 19

The implementation of the Persian (Solar Hijri) Calendar in Rust

push eventyaa110/nomino

Navid

commit sha b055e0dbc9c32890d9fa91ab25661760e18dae03

Remove nomino-bin package from README

view details

push time in 8 hours

release yaa110/nomino

0.4.3

released time in 9 hours

created tagyaa110/nomino

tag0.4.3

Batch rename utility for developers

created time in 9 hours

push eventyaa110/nomino

Navid

commit sha ac9d376fbce93ed15270778fbab277288f1bd3b8

Update dependencies

view details

push time in 9 hours

startedcilium/ebpf

started time in 2 days

pull request commentprometheus/node_exporter

Add NVMe SMART log collector

@SuperQ This collector is disabled by default, a user that needs these metrics should provide capabilities, too. Root access and CGO are unavoidable for this collector and CGO should be optional for building node exporter.

yaa110

comment created time in 7 days

push eventyaa110/node_exporter

Navid

commit sha b5c9a97b338ee0ddd9bcfa5f8d4428f851a43524

Add NVMe SMART log collector Signed-off-by: Navid <yaa110@gmail.com>

view details

push time in 7 days

PR opened prometheus/node_exporter

Add NVMe SMART log collector
+343 -0

0 comment

2 changed files

pr created time in 7 days

create barnchyaa110/node_exporter

branch : nvme-collector

created branch time in 7 days

startedistio/istio

started time in 10 days

Pull request review commenttokio-rs/tokio

io: Add AsyncFd

+#![warn(rust_2018_idioms)]+#![cfg(all(+    unix,+    feature = "async-fd",+    feature = "test-util",+    feature = "macros",+    feature = "rt-threaded"+))]++use futures::FutureExt;+use std::io::{self, ErrorKind, Read, Write};+use std::{os::unix::io::RawFd, sync::Arc, time::Duration};+use tokio::io::AsyncFd;++use nix::errno::Errno;+use nix::unistd::{close, read, write};++fn is_blocking(e: &nix::Error) -> bool {+    Some(Errno::EAGAIN) == e.as_errno()+}++struct FileDescriptor {+    fd: RawFd,+}++impl Read for FileDescriptor {+    fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {+        match read(self.fd, buf) {+            Ok(n) => Ok(n),+            Err(e) if is_blocking(&e) => Err(ErrorKind::WouldBlock.into()),+            Err(e) => Err(io::Error::new(ErrorKind::Other, e)),+        }+    }+}++impl Write for FileDescriptor {+    fn write(&mut self, buf: &[u8]) -> io::Result<usize> {+        match write(self.fd, buf) {+            Ok(n) => Ok(n),+            Err(e) if is_blocking(&e) => Err(ErrorKind::WouldBlock.into()),+            Err(e) => Err(io::Error::new(ErrorKind::Other, e)),+        }+    }++    fn flush(&mut self) -> io::Result<()> {+        Ok(())+    }+}++impl Drop for FileDescriptor {+    fn drop(&mut self) {+        let _ = close(self.fd);

It is not a good idea to close a file descriptor that is not opened by AsyncFd. Consider that other types are initialized by from_raw_fd, closing the fd here has side effects on those instances.

bdonlan

comment created time in 11 days

PullRequestReviewEvent

issue commentSpiderLabs/ModSecurity-nginx

Synchronous process of the request destroys performance

Consider the following structure:

Untitled Diagram

In this structure, static and dynamic content (if cache is missed) is tested against WAF. Since, the async test is done in pre-access phase, the upstream is not affected by attacks.

yaa110

comment created time in 12 days

startedrust-analyzer/smol_str

started time in 13 days

issue commentSpiderLabs/ModSecurity-nginx

Synchronous process of the request destroys performance

Sorry for the late answer, the summary of architecture is as following:

  1. Reading body (if needed) in NGX_HTTP_REWRITE_PHASE (async)
  2. Allocating a new task in NGX_HTTP_PREACCESS_PHASE handler using ngx_thread_task_alloc.
  3. Setting task->handler and task->event.handler. Modsecurity is done inside task->handler.
  4. Posting the task using ngx_thread_task_post.
  5. Dropping or bypassing the request in task->event.handler.

By this approach, nginx workers are not blocked and the throughput increases significantly.

Consider using Modsecurity in CDN cloud company, in this situation the performance drop is not acceptable.

yaa110

comment created time in 13 days

startedknative/serving

started time in 17 days

startedcantino/mcfly

started time in 18 days

starteddanaugrs/huskarl

started time in 19 days

startedtiangolo/fastapi

started time in 19 days

issue commentSpiderLabs/ModSecurity-nginx

Synchronous process of the request destroys performance

Hi @zimmerle I performed a benchmark test with and without ModSecurity module by returning 200 for location / using wrk. The throughput of nginx without ModSecurity was about 40,000 req/s, however, after enabling ModSecurity modules, the value dropped to about 1,500 req/s. I tried to implement a non-blocking version of modsecurity using nginx thread pool (it had some known issues and segfaults but worked for benchmark test), the throughput changed to 20,000 req/s.

yaa110

comment created time in 19 days

issue openedSpiderLabs/ModSecurity-nginx

Synchronous process of the request destroys performance

As mentioned in nginx dev guide using blocking libraries destroys performance. For example after enabling Modsecurity module, the performance of nginx decreases about 70%.

created time in 19 days

issue commentyaa110/tokio-tun

Roadmap of supporting macos and windows

It might be better to avoid external library dependencies.

zonyitoo

comment created time in 20 days

startedLaKabane/libtuntap

started time in 20 days

issue commentkubernetes-sigs/kubebuilder

CronJob make install failed.

Same issue with k8s 1.19.

I think the issue should be reopened.

chenyg0911

comment created time in 20 days

created tagyaa110/go-persian-calendar

tagv0.6.1

The implementation of Persian (Solar Hijri) Calendar in Go

created time in 20 days

push eventyaa110/go-persian-calendar

Navid

commit sha 97dee516e9c999d8ec0380bc54280269999a7c16

Update documentation

view details

push time in 20 days

created tagyaa110/go-persian-calendar

tagv0.6.0

The implementation of Persian (Solar Hijri) Calendar in Go

created time in 20 days

push eventyaa110/go-persian-calendar

Navid

commit sha d38dc13b2e4d064d6bf6bfc1d5e3eeb93c51fff2

Update README: add changelog for 0.6.0

view details

push time in 20 days

push eventyaa110/go-persian-calendar

Navid

commit sha d08c6699b14d0d3402949bbcda631e34e74b8e82

Update README: add changelog for 0.6.0

view details

push time in 20 days

push eventyaa110/go-persian-calendar

M Ekramy

commit sha de124f7b9c70594c8ee85f000bec2c1755ebb8cc

add standard time format

view details

push time in 20 days

PR merged yaa110/go-persian-calendar

add standard time format

hi your package missing standard go time format parameters! i add custom function TimeFormat function that format date using standard go time format parameters [https://yourbasic.org/golang/format-parse-string-time-date-example/]

this pull request has no breaking-change to original repo.

thanks!

+211 -3

1 comment

2 changed files

mekramy

pr closed time in 20 days

pull request commentyaa110/go-persian-calendar

add standard time format

Thanks

mekramy

comment created time in 20 days

issue commentyaa110/tokio-tun

Roadmap of supporting macos and windows

Thanks. I appreciate it if someone could open pull requests for those operating systems.

zonyitoo

comment created time in 20 days

startedray-project/ray

started time in 21 days

startedfacebookresearch/ReAgent

started time in 21 days

startedkeras-rl/keras-rl

started time in 21 days

startedopenai/gym

started time in 21 days

startedkubernetes-sigs/kustomize

started time in 22 days

startedkubernetes-sigs/kind

started time in 22 days

startedgoogle/ko

started time in 22 days

startedmatryer/try

started time in 22 days

push eventyaa110/tokio-tun

Navid

commit sha 7662b414d6f7c88e6a439db7ad86a9b8ff0ec584

Fix id in read-mq test

view details

push time in 23 days

created tagyaa110/tokio-tun

tag0.2.2

Asynchronous allocation of TUN/TAP devices in Rust using tokio

created time in 23 days

push eventyaa110/tokio-tun

Navid

commit sha 89a5fefff882bfaedde5cd8b32f67c20fdc332aa

Refactor and separate TunIo module

view details

push time in 23 days

created tagyaa110/tokio-tun

tag0.2.1

Asynchronous allocation of TUN/TAP devices in Rust using tokio

created time in 24 days

push eventyaa110/tokio-tun

Navid

commit sha 67120252220e404669de66e0d4c8dd7bbe56d210

Add async-tun link to README

view details

push time in 24 days

created tagyaa110/async-tun

tag0.8.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in 24 days

push eventyaa110/async-tun

Navid

commit sha 495482ba9fa176fa3454fced7ded451aaab971d8

Separate tokio version

view details

push time in 24 days

created tagyaa110/tokio-tun

tag0.2.0

Asynchronous allocation of TUN/TAP devices in Rust using tokio

created time in 24 days

push eventyaa110/tokio-tun

Navid

commit sha e31f5fdd4918cffc1d81a6cebbe2520655aff1df

Remove try_clone method of Tun

view details

push time in 24 days

created tagyaa110/tokio-tun

tag0.1.0

Asynchronous allocation of TUN/TAP devices in Rust using tokio

created time in 24 days

push eventyaa110/tokio-tun

Navid

commit sha 5a4ae0d06d0d629d9ac5b36cdfa7245724715529

Initial commit

view details

push time in 24 days

create barnchyaa110/tokio-tun

branch : master

created branch time in 24 days

created repositoryyaa110/tokio-tun

Asynchronous allocation of TUN/TAP devices in Rust using tokio

created time in 24 days

startedberkowski/tokio-serial

started time in 24 days

created tagyaa110/async-tun

tag0.7.2

Asynchronous allocation of TUN/TAP devices in Rust

created time in 24 days

push eventyaa110/async-tun

Navid

commit sha 62876a48e992d33d5a6408873a727f90f6444560

Rename use-tokio to tokio feature

view details

push time in 24 days

created tagyaa110/async-tun

tag0.7.1

Asynchronous allocation of TUN/TAP devices in Rust

created time in 24 days

push eventyaa110/async-tun

Navid

commit sha 3b42c9a44493cf427e821d43697f376f1f05538d

Make async-std optional

view details

push time in 24 days

push eventyaa110/async-tun

Navid

commit sha 21c89e099d524ce81ae144bb355e1b089bc9c85f

Build by use-tokio feature in CI

view details

push time in 24 days

created tagyaa110/async-tun

tag0.7.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in 24 days

push eventyaa110/async-tun

Navid

commit sha 3e84f8191329a8bbe40181127743a21d0273c89d

Add tokio feature

view details

push time in 24 days

startedstjepang/async-channel

started time in 24 days

startedAmanieu/parking_lot

started time in 24 days

push eventyaa110/async-tun

Navid

commit sha f9a889336b98f9b511be86f3dc70cd7251c72070

Remove clone and add reader and writer splitter to tun

view details

push time in 24 days

created tagyaa110/async-tun

tag0.6.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in 24 days

startedpretzelhammer/rust-blog

started time in 25 days

created tagyaa110/async-tun

tag0.5.1

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

push eventyaa110/async-tun

Navid

commit sha 34288e0f81274dc3cde2b222a42b8da7100cbfba

Fix typo in docs

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 9c1638f4c2744874342e31e6a8ae82e321098eca

Implement multi queue tun

view details

push time in a month

created tagyaa110/async-tun

tag0.5.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

delete tag yaa110/async-tun

delete tag : 0.5.0

delete time in a month

created tagyaa110/async-tun

tag0.5.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

push eventyaa110/async-tun

Navid

commit sha d27092842bfcf616b7af9c4fca009a7ef99cbccb

Implement multi queue tun

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 269eddecaffc088418bd4a1de7910cbc41486046

Implement multi queue tun

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 6794337a6cff5a499d567dbdec1a135b8898f32c

Implement multi queue tun

view details

push time in a month

created tagyaa110/async-tun

tag0.4.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

push eventyaa110/async-tun

Navid

commit sha 016392cb116e76984b44e26dd2771946f8694695

Implement address, destination, broadcast and netmask setters

view details

push time in a month

created tagyaa110/async-tun

tag0.3.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

push eventyaa110/async-tun

Navid

commit sha 05ec36b5c3a2321cdfe742921e2d3e7531c9dc16

Implement owner and group setters

view details

Navid

commit sha 9a61a62c3a0975619562e9303dcbebe628cc117b

Implement persist setter

view details

Navid

commit sha b37cb49bf1ac7a1e8815bd3df58900162c3075c6

Close socket when interface is dropped

view details

Navid

commit sha 3569ea3523539657511ed663321167c0e8f2f32a

Implement up setter

view details

Navid

commit sha 7d7c69b95e5bd5194a7928e6c2839a5a0d682998

Implement address and destination setters

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 7c2fdd33f7b0db268021922f3f02cfb4436b4c81

Implement MTU setter and getter

view details

Navid

commit sha 196f6c57e3ab2997f4186e9184840dd8f17fb9f9

Implement owner and group setters

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha cc9b0bfc079a0f70965557b333a29bfcc6136b0b

Remove unused interface creator

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 2946d950e66c4e2be323fcff5e7f22c3b7cb77e6

Remove unused interface creator

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 746f6dffca74c4e8a028a292b4b25d73c896aefd

Remove unused and_then to get error of ioctl

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 6bbcd2e8cd85db054746561e8d1c54a15db848a7

Update docs

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 68fb8f56a298ce421b326c1bc4bc44939d887723

Update docs

view details

push time in a month

created tagyaa110/async-tun

tag0.2.1

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

push eventyaa110/async-tun

Navid

commit sha afaad3295187841a4d8c7370695a8740a79465d8

Update docs

view details

push time in a month

created tagyaa110/async-tun

tag0.2.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

push eventyaa110/async-tun

Navid

commit sha f6fe5d44d684439c4f0fd1471719a4d13ba6b34f

Implement TunBuilder to build Tun instances

view details

push time in a month

PR opened rust-unofficial/awesome-rust

Add async-tun crate
+1 -0

0 comment

1 changed file

pr created time in a month

push eventyaa110/awesome-rust

Navid

commit sha 80268ac0cac64174eea1fc9d5365fac0092a1749

Add async-tun crate

view details

push time in a month

created tagyaa110/async-tun

tag0.1.0

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

fork yaa110/awesome-rust

A curated list of Rust code and resources.

fork in a month

push eventyaa110/async-tun

Navid

commit sha 4f13db6f123006050c7419ddf1c7dab348c89411

Initial commit

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha dcb35e9ede76eaa4d9f253169f08f0e7cbc7fd97

Initial commit

view details

push time in a month

push eventyaa110/async-tun

Navid

commit sha 17b15497216873f6a4cad12aca121a73aa6270d8

Initial commit

view details

push time in a month

create barnchyaa110/async-tun

branch : master

created branch time in a month

created repositoryyaa110/async-tun

Asynchronous allocation of TUN/TAP devices in Rust

created time in a month

more