{"action":"created","comment":{"url":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/comments/173648655","pull_request_review_id":102876250,"id":173648655,"diff_hunk":"@@ -0,0 +1,414 @@\n+// Copyright 2017 Amagicom AB.\n+//\n+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or\n+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license\n+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your\n+// option. This file may not be copied, modified, or distributed\n+// except according to those terms.\n+\n+//! Bindings to [`SCNetworkConfiguration`].\n+//!\n+//! See the examples directory for examples how to use this module.\n+//!\n+//! [`SCNetworkConfiguration`]: https://developer.apple.com/documentation/systemconfiguration/scnetworkconfiguration\n+\n+use core_foundation::array::CFArray;\n+use core_foundation::base::{CFType, TCFType};\n+use core_foundation::base::kCFAllocatorDefault;\n+use core_foundation::dictionary::CFDictionary;\n+use core_foundation::string::CFString;\n+\n+use dynamic_store::SCDynamicStore;\n+pub use system_configuration_sys::network_configuration::*;\n+use system_configuration_sys::preferences::SCPreferencesCreate;\n+\n+use std::{fmt, ptr};\n+use std::net::IpAddr;\n+\n+/// MTU\n+#[derive(Debug)]\n+pub struct SCNetworkInterfaceMtu {\n+    /// the current MTU setting for the interface.\n+    pub current: u32,\n+    /// the minimum MTU setting for the interface. If None, the minimum setting could not\n+    /// be determined.\n+    pub min: Option<u32>,\n+    /// the maximum MTU setting for the interface. If None, the maximum setting could not\n+    /// be determined.\n+    pub max: Option<u32>,\n+}\n+\n+/// DNS\n+#[derive(Debug)]\n+pub struct SCNetworkServiceDns {\n+    /// State DNS setting\n+    pub state: DnsSetting,\n+    /// Setup DNS setting\n+    pub setup: DnsSetting,\n+}\n+\n+/// DNS Setting\n+#[derive(Debug)]\n+pub struct DnsSetting {\n+    /// Domain Name\n+    pub domain_name: Option<String>,\n+    /// DNS Server Addresses\n+    pub server_addresses: Option<Vec<IpAddr>>,\n+}\n+\n+\n+fn global_query(store: &SCDynamicStore, key: &str) -> Option<String> {\n+    let path = CFString::from_static_string(\"State:/Network/Global/IPv4\");\n+    if let Some(value) = store.get(path.clone()) {\n+        if let Some(dict) = value.downcast_into::<CFDictionary>() {\n+            if let Some(val) = dict.find2(&CFString::new(key)) {\n+                let value = unsafe { CFType::wrap_under_get_rule(val) };\n+                if let Some(value) = value.downcast::<CFString>() {\n+                    return Some(value.to_string());\n+                }\n+            }\n+        }\n+    }\n+\n+    return None;\n+}\n+\n+\n+/// Returns default route on primary network service.\n+pub fn global_router(store: &SCDynamicStore) -> Option<IpAddr> {\n+    if let Some(router_str) = global_query(store, \"Router\") {\n+        if let Ok(router_ip) = router_str.parse::<IpAddr>() {\n+            return Some(router_ip);\n+        }\n+    }\n+\n+    return None;\n+}\n+\n+\n+declare_TCFType!{\n+    /// Network service object.\n+    SCNetworkService, SCNetworkServiceRef\n+}\n+\n+impl_TCFType!(\n+    SCNetworkService,\n+    SCNetworkServiceRef,\n+    SCNetworkServiceGetTypeID\n+);\n+\n+\n+impl SCNetworkService {\n+    /// Returns primary network service\n+    pub fn global(store: &SCDynamicStore) -> Option<Self> {\n+        if let Some(service_id) = global_query(store, \"PrimaryService\") {\n+            for service in SCNetworkService::list() {\n+                if service.id() == service_id {\n+                    return Some(service);\n+                }\n+            }\n+        }\n+\n+        return None;\n+    }\n+\n+    /// Returns all available network services for the specified preferences.\n+    pub fn list() -> Vec<SCNetworkService> {\n+        let prefs = unsafe {\n+            SCPreferencesCreate(\n+                kCFAllocatorDefault,\n+                CFString::from_static_string(\"ns_list\").as_concrete_TypeRef(),\n+                ptr::null(),\n+            )\n+        };\n+\n+        let array: CFArray<CFType> =\n+            unsafe { CFArray::wrap_under_get_rule(SCNetworkServiceCopyAll(prefs)) };\n+\n+        array\n+            .iter()\n+            .map(|item| item.downcast::<SCNetworkService>().unwrap())\n+            .collect::<Vec<SCNetworkService>>()\n+    }\n+\n+    /// Returns the user-specified ordering of network services within the specified set.\n+    pub fn list_order() -> Vec<SCNetworkService> {\n+        let prefs = unsafe {\n+            SCPreferencesCreate(\n+                kCFAllocatorDefault,\n+                CFString::from_static_string(\"ns_list_order\").as_concrete_TypeRef(),\n+                ptr::null(),\n+            )\n+        };\n+\n+        let netset = unsafe { SCNetworkSetCopyCurrent(prefs) };\n+\n+        let array: CFArray<CFType> =\n+            unsafe { CFArray::wrap_under_get_rule(SCNetworkSetGetServiceOrder(netset)) };\n+\n+        let mut services = Vec::new();\n+\n+        for item in array.iter() {\n+            if let Some(id) = item.downcast::<CFString>() {\n+                let service_ref = unsafe {\n+                    CFType::wrap_under_get_rule(SCNetworkServiceCopy(\n+                        prefs,\n+                        id.as_concrete_TypeRef(),","path":"system-configuration/src/network_configuration.rs","position":null,"original_position":156,"commit_id":"eb2edac905ce4566d0eb975c5126a0f333d3d8e0","original_commit_id":"51f5dbb9c994100c20652302f467f298e7f7c934","user":{"login":"LuoZijun","id":717717,"avatar_url":"https://avatars3.githubusercontent.com/u/717717?v=4","gravatar_id":"","url":"https://api.github.com/users/LuoZijun","html_url":"https://github.com/LuoZijun","followers_url":"https://api.github.com/users/LuoZijun/followers","following_url":"https://api.github.com/users/LuoZijun/following{/other_user}","gists_url":"https://api.github.com/users/LuoZijun/gists{/gist_id}","starred_url":"https://api.github.com/users/LuoZijun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LuoZijun/subscriptions","organizations_url":"https://api.github.com/users/LuoZijun/orgs","repos_url":"https://api.github.com/users/LuoZijun/repos","events_url":"https://api.github.com/users/LuoZijun/events{/privacy}","received_events_url":"https://api.github.com/users/LuoZijun/received_events","type":"User","site_admin":false},"body":"Okay, that's a good idea.","created_at":"2018-03-11T09:36:23Z","updated_at":"2018-03-11T09:36:23Z","html_url":"https://github.com/mullvad/system-configuration-rs/pull/8#discussion_r173648655","pull_request_url":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/comments/173648655"},"html":{"href":"https://github.com/mullvad/system-configuration-rs/pull/8#discussion_r173648655"},"pull_request":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8"}},"in_reply_to_id":172793978},"pull_request":{"url":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8","id":170095129,"html_url":"https://github.com/mullvad/system-configuration-rs/pull/8","diff_url":"https://github.com/mullvad/system-configuration-rs/pull/8.diff","patch_url":"https://github.com/mullvad/system-configuration-rs/pull/8.patch","issue_url":"https://api.github.com/repos/mullvad/system-configuration-rs/issues/8","number":8,"state":"open","locked":false,"title":"Add High-level API","user":{"login":"LuoZijun","id":717717,"avatar_url":"https://avatars3.githubusercontent.com/u/717717?v=4","gravatar_id":"","url":"https://api.github.com/users/LuoZijun","html_url":"https://github.com/LuoZijun","followers_url":"https://api.github.com/users/LuoZijun/followers","following_url":"https://api.github.com/users/LuoZijun/following{/other_user}","gists_url":"https://api.github.com/users/LuoZijun/gists{/gist_id}","starred_url":"https://api.github.com/users/LuoZijun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LuoZijun/subscriptions","organizations_url":"https://api.github.com/users/LuoZijun/orgs","repos_url":"https://api.github.com/users/LuoZijun/repos","events_url":"https://api.github.com/users/LuoZijun/events{/privacy}","received_events_url":"https://api.github.com/users/LuoZijun/received_events","type":"User","site_admin":false},"body":"File Changes:\r\n```\r\nsystem-configuration-sys/src/lib.rs\r\nsystem-configuration-sys/src/network_configuration.rs\r\nsystem-configuration-sys/src/preferences.rs\r\n\r\nsystem-configuration/Cargo.toml\r\nsystem-configuration/src/lib.rs\r\nsystem-configuration/src/network_configuration.rs\r\nsystem-configuration/examples/dns.rs\r\n```\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/mullvad/system-configuration-rs/8)\n<!-- Reviewable:end -->\n","created_at":"2018-02-20T03:39:38Z","updated_at":"2018-03-11T09:36:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"65f0729dbb46affa04b6f4926fbc4bcd88a30ddd","assignee":{"login":"faern","id":332294,"avatar_url":"https://avatars1.githubusercontent.com/u/332294?v=4","gravatar_id":"","url":"https://api.github.com/users/faern","html_url":"https://github.com/faern","followers_url":"https://api.github.com/users/faern/followers","following_url":"https://api.github.com/users/faern/following{/other_user}","gists_url":"https://api.github.com/users/faern/gists{/gist_id}","starred_url":"https://api.github.com/users/faern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/faern/subscriptions","organizations_url":"https://api.github.com/users/faern/orgs","repos_url":"https://api.github.com/users/faern/repos","events_url":"https://api.github.com/users/faern/events{/privacy}","received_events_url":"https://api.github.com/users/faern/received_events","type":"User","site_admin":false},"assignees":[{"login":"faern","id":332294,"avatar_url":"https://avatars1.githubusercontent.com/u/332294?v=4","gravatar_id":"","url":"https://api.github.com/users/faern","html_url":"https://github.com/faern","followers_url":"https://api.github.com/users/faern/followers","following_url":"https://api.github.com/users/faern/following{/other_user}","gists_url":"https://api.github.com/users/faern/gists{/gist_id}","starred_url":"https://api.github.com/users/faern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/faern/subscriptions","organizations_url":"https://api.github.com/users/faern/orgs","repos_url":"https://api.github.com/users/faern/repos","events_url":"https://api.github.com/users/faern/events{/privacy}","received_events_url":"https://api.github.com/users/faern/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8/commits","review_comments_url":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8/comments","review_comment_url":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mullvad/system-configuration-rs/issues/8/comments","statuses_url":"https://api.github.com/repos/mullvad/system-configuration-rs/statuses/eb2edac905ce4566d0eb975c5126a0f333d3d8e0","head":{"label":"LuoZijun:patch-1","ref":"patch-1","sha":"eb2edac905ce4566d0eb975c5126a0f333d3d8e0","user":{"login":"LuoZijun","id":717717,"avatar_url":"https://avatars3.githubusercontent.com/u/717717?v=4","gravatar_id":"","url":"https://api.github.com/users/LuoZijun","html_url":"https://github.com/LuoZijun","followers_url":"https://api.github.com/users/LuoZijun/followers","following_url":"https://api.github.com/users/LuoZijun/following{/other_user}","gists_url":"https://api.github.com/users/LuoZijun/gists{/gist_id}","starred_url":"https://api.github.com/users/LuoZijun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LuoZijun/subscriptions","organizations_url":"https://api.github.com/users/LuoZijun/orgs","repos_url":"https://api.github.com/users/LuoZijun/repos","events_url":"https://api.github.com/users/LuoZijun/events{/privacy}","received_events_url":"https://api.github.com/users/LuoZijun/received_events","type":"User","site_admin":false},"repo":{"id":122145590,"name":"system-configuration-rs","full_name":"LuoZijun/system-configuration-rs","owner":{"login":"LuoZijun","id":717717,"avatar_url":"https://avatars3.githubusercontent.com/u/717717?v=4","gravatar_id":"","url":"https://api.github.com/users/LuoZijun","html_url":"https://github.com/LuoZijun","followers_url":"https://api.github.com/users/LuoZijun/followers","following_url":"https://api.github.com/users/LuoZijun/following{/other_user}","gists_url":"https://api.github.com/users/LuoZijun/gists{/gist_id}","starred_url":"https://api.github.com/users/LuoZijun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LuoZijun/subscriptions","organizations_url":"https://api.github.com/users/LuoZijun/orgs","repos_url":"https://api.github.com/users/LuoZijun/repos","events_url":"https://api.github.com/users/LuoZijun/events{/privacy}","received_events_url":"https://api.github.com/users/LuoZijun/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/LuoZijun/system-configuration-rs","description":"Bindings to System Configuration framework for macOS","fork":true,"url":"https://api.github.com/repos/LuoZijun/system-configuration-rs","forks_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/forks","keys_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/teams","hooks_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/hooks","issue_events_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/issues/events{/number}","events_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/events","assignees_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/assignees{/user}","branches_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/branches{/branch}","tags_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/tags","blobs_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/git/refs{/sha}","trees_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/statuses/{sha}","languages_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/languages","stargazers_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/stargazers","contributors_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/contributors","subscribers_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/subscribers","subscription_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/subscription","commits_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/commits{/sha}","git_commits_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/git/commits{/sha}","comments_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/comments{/number}","issue_comment_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/issues/comments{/number}","contents_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/contents/{+path}","compare_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/merges","archive_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/downloads","issues_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/issues{/number}","pulls_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/pulls{/number}","milestones_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/milestones{/number}","notifications_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/labels{/name}","releases_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/releases{/id}","deployments_url":"https://api.github.com/repos/LuoZijun/system-configuration-rs/deployments","created_at":"2018-02-20T02:10:41Z","updated_at":"2018-02-20T02:10:42Z","pushed_at":"2018-03-11T09:27:58Z","git_url":"git://github.com/LuoZijun/system-configuration-rs.git","ssh_url":"git@github.com:LuoZijun/system-configuration-rs.git","clone_url":"https://github.com/LuoZijun/system-configuration-rs.git","svn_url":"https://github.com/LuoZijun/system-configuration-rs","homepage":null,"size":72,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mullvad:master","ref":"master","sha":"1356ce1d94740bf0c78177fbe5e3e51bf2e454b4","user":{"login":"mullvad","id":10848549,"avatar_url":"https://avatars2.githubusercontent.com/u/10848549?v=4","gravatar_id":"","url":"https://api.github.com/users/mullvad","html_url":"https://github.com/mullvad","followers_url":"https://api.github.com/users/mullvad/followers","following_url":"https://api.github.com/users/mullvad/following{/other_user}","gists_url":"https://api.github.com/users/mullvad/gists{/gist_id}","starred_url":"https://api.github.com/users/mullvad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mullvad/subscriptions","organizations_url":"https://api.github.com/users/mullvad/orgs","repos_url":"https://api.github.com/users/mullvad/repos","events_url":"https://api.github.com/users/mullvad/events{/privacy}","received_events_url":"https://api.github.com/users/mullvad/received_events","type":"Organization","site_admin":false},"repo":{"id":111430302,"name":"system-configuration-rs","full_name":"mullvad/system-configuration-rs","owner":{"login":"mullvad","id":10848549,"avatar_url":"https://avatars2.githubusercontent.com/u/10848549?v=4","gravatar_id":"","url":"https://api.github.com/users/mullvad","html_url":"https://github.com/mullvad","followers_url":"https://api.github.com/users/mullvad/followers","following_url":"https://api.github.com/users/mullvad/following{/other_user}","gists_url":"https://api.github.com/users/mullvad/gists{/gist_id}","starred_url":"https://api.github.com/users/mullvad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mullvad/subscriptions","organizations_url":"https://api.github.com/users/mullvad/orgs","repos_url":"https://api.github.com/users/mullvad/repos","events_url":"https://api.github.com/users/mullvad/events{/privacy}","received_events_url":"https://api.github.com/users/mullvad/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mullvad/system-configuration-rs","description":"Bindings to System Configuration framework for macOS","fork":false,"url":"https://api.github.com/repos/mullvad/system-configuration-rs","forks_url":"https://api.github.com/repos/mullvad/system-configuration-rs/forks","keys_url":"https://api.github.com/repos/mullvad/system-configuration-rs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mullvad/system-configuration-rs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mullvad/system-configuration-rs/teams","hooks_url":"https://api.github.com/repos/mullvad/system-configuration-rs/hooks","issue_events_url":"https://api.github.com/repos/mullvad/system-configuration-rs/issues/events{/number}","events_url":"https://api.github.com/repos/mullvad/system-configuration-rs/events","assignees_url":"https://api.github.com/repos/mullvad/system-configuration-rs/assignees{/user}","branches_url":"https://api.github.com/repos/mullvad/system-configuration-rs/branches{/branch}","tags_url":"https://api.github.com/repos/mullvad/system-configuration-rs/tags","blobs_url":"https://api.github.com/repos/mullvad/system-configuration-rs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mullvad/system-configuration-rs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mullvad/system-configuration-rs/git/refs{/sha}","trees_url":"https://api.github.com/repos/mullvad/system-configuration-rs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mullvad/system-configuration-rs/statuses/{sha}","languages_url":"https://api.github.com/repos/mullvad/system-configuration-rs/languages","stargazers_url":"https://api.github.com/repos/mullvad/system-configuration-rs/stargazers","contributors_url":"https://api.github.com/repos/mullvad/system-configuration-rs/contributors","subscribers_url":"https://api.github.com/repos/mullvad/system-configuration-rs/subscribers","subscription_url":"https://api.github.com/repos/mullvad/system-configuration-rs/subscription","commits_url":"https://api.github.com/repos/mullvad/system-configuration-rs/commits{/sha}","git_commits_url":"https://api.github.com/repos/mullvad/system-configuration-rs/git/commits{/sha}","comments_url":"https://api.github.com/repos/mullvad/system-configuration-rs/comments{/number}","issue_comment_url":"https://api.github.com/repos/mullvad/system-configuration-rs/issues/comments{/number}","contents_url":"https://api.github.com/repos/mullvad/system-configuration-rs/contents/{+path}","compare_url":"https://api.github.com/repos/mullvad/system-configuration-rs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mullvad/system-configuration-rs/merges","archive_url":"https://api.github.com/repos/mullvad/system-configuration-rs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mullvad/system-configuration-rs/downloads","issues_url":"https://api.github.com/repos/mullvad/system-configuration-rs/issues{/number}","pulls_url":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls{/number}","milestones_url":"https://api.github.com/repos/mullvad/system-configuration-rs/milestones{/number}","notifications_url":"https://api.github.com/repos/mullvad/system-configuration-rs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mullvad/system-configuration-rs/labels{/name}","releases_url":"https://api.github.com/repos/mullvad/system-configuration-rs/releases{/id}","deployments_url":"https://api.github.com/repos/mullvad/system-configuration-rs/deployments","created_at":"2017-11-20T15:45:40Z","updated_at":"2018-02-18T23:54:49Z","pushed_at":"2018-03-11T09:28:04Z","git_url":"git://github.com/mullvad/system-configuration-rs.git","ssh_url":"git@github.com:mullvad/system-configuration-rs.git","clone_url":"https://github.com/mullvad/system-configuration-rs.git","svn_url":"https://github.com/mullvad/system-configuration-rs","homepage":null,"size":87,"stargazers_count":1,"watchers_count":1,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8"},"html":{"href":"https://github.com/mullvad/system-configuration-rs/pull/8"},"issue":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/issues/8"},"comments":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/mullvad/system-configuration-rs/statuses/eb2edac905ce4566d0eb975c5126a0f333d3d8e0"}},"author_association":"NONE"}}
{"actor":{"display_login":"LuoZijun"}}