| 179 | |
| 180 | |
| 181 | def __init_arguments(self): |
| 182 | # List of supported profile overrides. These do not appear |
| 183 | # in the generated configuration, but are profile settings |
| 184 | # sent to the Configuration Manager separately |
| 185 | profile_overrides = [ |
| 186 | 'server-override', 'port-override', 'proto-override', 'ipv6', |
| 187 | 'dns-fallback-google', 'dns-scope', |
| 188 | 'dns-setup-disabled', 'dns-sync-lookup', |
| 189 | 'auth-fail-retry', 'proxy-host', 'proxy-port', |
| 190 | 'proxy-username', 'proxy-password', |
| 191 | 'proxy-auth-cleartext', 'enable-legacy-algorithms', |
| 192 | 'allow-compression', 'persist-tun'] |
| 193 | |
| 194 | self.__parser.add_argument('--auth', metavar='ALG', |
| 195 | action='store', |
| 196 | completion_suggestions=['SHA1', 'SHA256', 'SHA384', |
| 197 | 'SHA512'], |
| 198 | nargs=1, |
| 199 | help='Authenticate packets with HMAC using' |
| 200 | +' message digest algorithm alg' |
| 201 | +' (default=SHA1)') |
| 202 | |
| 203 | self.__parser.add_argument('--auth-retry', metavar='MODE', |
| 204 | action='store', |
| 205 | nargs=1, |
| 206 | completion_suggestions=['none','nointeract','interact'], |
| 207 | help='How to handle auth failures - none:disconnect, ' |
| 208 | + 'nointeract=reuse credentials, interact=ask for new credentials') |
| 209 | |
| 210 | self.__parser.add_argument('--auth-user-pass', metavar='[USER-PASS-FILE]', |
| 211 | action=ConfigParser.EmbedFile, |
| 212 | embed_tag = 'auth-user-pass', |
| 213 | ignore_missing_filename=True, |
| 214 | help='Authenticate with server using ' |
| 215 | + 'username/password') |
| 216 | |
| 217 | self.__parser.add_argument('--ca', metavar='FILE', |
| 218 | action=ConfigParser.EmbedFile, |
| 219 | help='Certificate authority file in ' |
| 220 | + '.pem format containing root certificate') |
| 221 | |
| 222 | self.__parser.add_argument('--cd', metavar='DIR', |
| 223 | action=ConfigParser.ChangeDir, |
| 224 | help='Change working directory to the given ' |
| 225 | + 'directory') |
| 226 | |
| 227 | self.__parser.add_argument('--cert', metavar='FILE', |
| 228 | action=ConfigParser.EmbedFile, |
| 229 | dest='cert', embed_tag='cert', |
| 230 | help='Certificate authority file in .pem ' |
| 231 | + 'format by a Certificate Authority in ' |
| 232 | + '--ca file') |
| 233 | |
| 234 | self.__parser.add_argument('--cipher', metavar='ALG', |
| 235 | action='store', |
| 236 | completion_suggestions=['AES-128-CBC', 'AES-192-CBC', 'AES-256-CBC', |
| 237 | 'AES-128-GCM', 'AES-192-GCM', 'AES-256-GCM'], |
| 238 | help='Encrypt packets with cipher ' |