15 releases

0.2.4 Jan 15, 2024
0.2.3 Jan 15, 2024
0.1.9 Jan 11, 2024
0.1.2 Dec 28, 2023

#1415 in Network programming

22 downloads per month

MIT/Apache

19KB
324 lines

get_local_info Crates.io License Documentation

Project Introduction

  • get_local_info is a Rust crate that obtains linux local information,Its goal is to solve the difficulty of obtaining Linux local information.Support Chinese operating systems such as KyLin, UOS, HarmonyOS, etc
  • Project maintenance: long-term

Current features:

1.Network function

1.1 Obtain network interface information

1.2 Obtain activity network card information:

  • Netcard name
  • IPv4
  • IPv6
  • mac
  • Obtain external IPv4 address
  • Domain name resolution

2.Get system version

  • Kylin10 supports 2017 and above
  • Ubuntu supports 18.04 and above
  • UOS20 supports 1020 and above

3.System function

  • Process detection
  • Virtual Machine Detection
  • Dual system detection

4.Security information detection

  • topsec Antivirus Database Date Detection

5.File Info

  • Traverse all files in the specified directory

extra features

  • find_peak_element

How to use

1.cargo add get_local_info

2.Import into your project

extern crate get_local_info;

fn main() {
    println!("{}", get_local_info::get_pc_net_card_name());
    println!("{}", get_local_info::get_pc_ipv4());
    println!("{}", get_local_info::get_pc_ipv6());
    println!("{}", get_local_info::get_pc_mac());
    println!("{:?}", get_local_info::get_pc_net_card_info());
    // osname: ubuntu or uos or kylin
    let osname = "uos";
    println!("{}", get_local_info::get_pc_system_ver(osname));
    //check proccess name
    let pname = "gnome";
    println!("{}", get_local_info::get_pc_system_check_pname(pname));
    // flase is Real machine, true is vm
    println!("Running in VM:{}", get_local_info::get_pc_system_is_vm());
     // true is multi os
    println!("multi os:{}", get_local_info::get_pc_system_is_d_sys());
    // Obtain the update time of the antivirus database
    let antiname = "topsec";
    println!("virus lib time:{}", get_local_info::get_pc_check_antiviruslib(antiname));
    //find_peak_element
    let nums = [1];
    println!("{}", get_local_info::alg::find_peak_element(nums.to_vec()));
    //Traverse all files in the specified directory
    let idir = "/opt";
    println!("files:{:?}", get_local_info::get_dir_filename(idir));
    let uri = "https://api.ipify.org/?format=text";
    println!("wai wang ip:{}", get_local_info::network::get_ww_ipv4(uri));
    let hostname = "www.baidu.com";
    let parse_ip = get_local_info::network::get_domain_ip(hostname);
    println!("domain parse_ip:{:?}",parse_ip);
}

About the Author

Dependencies

~8–21MB
~314K SLoC