MCPcopy Create free account
hub / github.com/ddd/gpb / Args

Class Args

src/cli.rs:72–146  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70 - Default is 'js' which uses the JavaScript endpoint
71 - Blacklist checks and verification always use NoJS regardless of this setting")]
72pub struct Args {
73 /// Operation mode: quick (read from file), full (generate based on country format), blacklist, email, or csv
74 #[arg(value_enum, short = 'm', long, help_heading = "REQUIRED")]
75 pub mode: Mode,
76
77 /// Country code for input file or number generation (e.g., 'sg' for Singapore)
78 /// Required when using quick mode, full mode, or blacklist mode.
79 #[arg(short = 'c', long, required_if_eq_any([("mode", "Quick"), ("mode", "Full")]), help_heading = "REQUIRED")]
80 pub country_code: Option<String>,
81
82 /// Path to input file with phone numbers, emails, or CSV data (one per line)
83 /// Required for quick, email, or csv mode
84 #[arg(short = 'i', long, required_if_eq_any([("mode", "Email"), ("mode", "Csv")]), help_heading = "FILE INPUT")]
85 pub input_file: Option<String>,
86
87 /// First name for lookup (case sensitive)
88 /// Used to verify the account holder's name.
89 #[arg(short = 'f', long, default_value = "", help_heading = "LOOKUP INFO")]
90 pub first_name: String,
91
92 /// Last name for lookup (case sensitive, can be empty)
93 /// Used to verify the account holder's name. Use empty string if no last name is needed.
94 #[arg(short = 'l', long, default_value = "", help_heading = "LOOKUP INFO")]
95 pub last_name: String,
96
97 /// IPv6 subnet in CIDR notation (e.g., "2605:6400:5355::/48")
98 /// Used for rotating IPs to avoid rate limiting.
99 #[arg(short = 's', long, required = true, help_heading = "REQUIRED")]
100 pub subnet: String,
101
102 /// Phone number suffix to append (e.g., "00")
103 /// Optional filter that appends digits to all numbers.
104 #[arg(short = 'x', long, help_heading = "OPTIONAL")]
105 pub suffix: Option<String>,
106
107 /// Phone number prefix that includes the area code (e.g., "910" for Singapore mobile)
108 /// When used with -c sg, -p 910 would generate numbers like +65910xxxxx
109 #[arg(short = 'p', long, help_heading = "FULL MODE")]
110 pub prefix: Option<String>,
111
112 /// Number of digits for generated numbers (overrides country format)
113 /// Required when country format is not available.
114 #[arg(short = 'd', long, help_heading = "FULL MODE")]
115 pub digits: Option<usize>,
116
117 /// Masked phone number pattern (e.g., "• (•••) •••-••-64" or "+1••••••••46")
118 /// Used to identify country and extract suffix from masked numbers.
119 /// Can be used with any mode to automatically determine country code and suffix.
120 /// Supports two formats:
121 /// 1. Standard format with dots for masked digits
122 /// 2. International format with + prefix (can auto-detect country and extract prefix/suffix)
123 #[arg(short = 'M', long = "mask", help_heading = "OPTIONAL")]
124 pub masked_phone: Option<String>,
125
126 /// Number of worker threads to use
127 /// More threads can improve performance but may increase rate limiting.
128 #[arg(short = 'w', long, default_value_t = 100, help_heading = "OPTIONAL")]
129 pub workers: usize,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected