{"id":13815709,"url":"https://github.com/ventz/openconnect-gui-menu-bar","last_synced_at":"2025-09-16T17:32:33.905Z","repository":{"id":70234216,"uuid":"98352846","full_name":"ventz/openconnect-gui-menu-bar","owner":"ventz","description":"OpenConnect Menu Bar - Connect/Disconnect/Status - for MacOS (supports Duo push/sms/phone, or Yubikey, Google Authenticator, Duo, or any TOTP) and SAML","archived":false,"fork":false,"pushed_at":"2023-11-09T05:01:50.000Z","size":181,"stargazers_count":67,"open_issues_count":0,"forks_count":10,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-01-09T13:12:58.290Z","etag":null,"topics":["anyconnect","cisco","duo","google-authenticator","gui","mac","openconnect","openconnect-gui","openconnect-vpn-client","osx","push","saml","totp","vpn","vpn-client","vpn-manager","yubikey"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ventz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-07-25T21:48:49.000Z","updated_at":"2024-09-01T09:05:44.000Z","dependencies_parsed_at":"2023-06-14T22:00:21.770Z","dependency_job_id":"a406e1b4-4d84-4447-a64a-0a6efaf31c71","html_url":"https://github.com/ventz/openconnect-gui-menu-bar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ventz%2Fopenconnect-gui-menu-bar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ventz%2Fopenconnect-gui-menu-bar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ventz%2Fopenconnect-gui-menu-bar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ventz%2Fopenconnect-gui-menu-bar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ventz","download_url":"https://codeload.github.com/ventz/openconnect-gui-menu-bar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233283752,"owners_count":18652862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anyconnect","cisco","duo","google-authenticator","gui","mac","openconnect","openconnect-gui","openconnect-vpn-client","osx","push","saml","totp","vpn","vpn-client","vpn-manager","yubikey"],"created_at":"2024-08-04T04:03:55.655Z","updated_at":"2025-09-16T17:32:28.562Z","avatar_url":"https://github.com/ventz.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"### OpenConnect - OS X/Mac OS GUI Menu Bar for connecting/disconnecting\n\n# What is this?\n\nAn easy way to get OpenConnect VPN to have an OS X/Mac OS Menu Bar GUI for:\n* quick connecting\n* quick disconnect\n* status changes (icon)\n\nFull support for multi-factor authentication (especially Duo)!\n\n![OpenConnect Connected](https://github.com/ventz/openconnect-gui-menu-bar/blob/master/images/vpn-connected.png)\n\n![OpenConnect Disconnected](https://github.com/ventz/openconnect-gui-menu-bar/blob/master/images/vpn-disconnected.png)\n\n# How to run it:\n\n## 1. Get the latest BitBar release:\nhttps://github.com/matryer/bitbar/releases\n\nBitBar provides an easy way to put \"things\" (for output and input) in your OS X/Mac OS Menu Bar.\n\nJust unzip the release in your /Application folder and launch BitBar.\nIt will ask you to create (or select) a folder to use for your scripts.\n\nObviously make sure you have installed openconnect too :)\n`brew install openconnect`\n\n## 2. Edit the \"openconnect.sh\" and follow the steps inside to customize:\n\nStart by just getting the file itself:\nhttps://raw.githubusercontent.com/ventz/openconnect-gui-menu-bar/master/openconnect.sh\n\nMake sure you make it executable: `chmod 755 openconnect.sh` once you download it.\n\nThis file is the \"script\" that interacts with BitBar. Place\nit in your bitbar scripts folder (I have chosen:\n~/Documents/bitbar-plugins/), and edit it/follow these steps:\n\n### First - Update your sudoers file with:\n\nYou can create a `/etc/sudoers.d/openconnect` file which contains:\n```\nmac-username ALL=(ALL) NOPASSWD: /usr/local/bin/openconnect\nmac-username ALL=(ALL) NOPASSWD: /usr/bin/killall -2 openconnect\n```\n\nPlease note that `mac-username` is not a literal, but the actually the 'whoami' username for OS X/Mac OS.\n\n### Second - Make sure your openconnect binary is here:\n```\nVPN_EXECUTABLE=/usr/local/bin/openconnect\n```\n\n### Third - add your VPN domain and VPN username and set Auth for \"push\" or \"pin\"\n```\nVPN_HOST=\"vpn.domain.tld\"\n# NOTE: If you are using a VPN_GROUP (ex: domain.tld/group) -- use this, instead of \"#VPN_TUNNEL\" within VPN_USERNAME\nVPN_GROUP=\"VPN_GROUP_TUNNEL\"\nVPN_USERNAME=\"vpn_username@domain.tld#VPN_TUNNEL_OPTIONALLY\"\n\n# Duo options include \"push\", \"sms\", or \"phone\"\nPUSH_OR_PIN=\"push\"\n* or * \n# To be prompted for TOTP input, use product name:\nPUSH_OR_PIN=\"Yubikey\"\nor\nPUSH_OR_PIN=\"Google Authenticator\"\nor\nPUSH_OR_PIN=\"Duo\"\n\n```\n\n### Finally, create your KeyChain password (to store your VPN password securely):\n```\na.) Open \"Keychain Access\" and\nb.) Click on \"login\" keychain (top left corner)\nc.) Click on \"Passwords\" category (bottom left corner)\nd.) From the \"File\" menu, select -\u003e \"New Password Item...\"\ne.) For \"Keychain Item Name\" and \"Account Name\" use the \"VPN_HOST\" and \"VPN_USERNAME\" values respectively from the \"Third\" step above.\nf.) For \"Password\" enter your VPN AnyConnect password.\n```\n\nThat's it! Now you can use the GUI to connect and disconnect!\n(and if you are using Duo - get the 2nd factor push to your phone)\n\n\n# Problems Connecting?\n\nIf you have another VPN (ex: OpenVPN), you might already have an\n'utun0' interface. Please check with '/sbin/ifconfig'. If that's the\ncase, in step #2 above you need to add:\n\n```\nVPN_INTERFACE=\"utun1\"\n```\n\nIf you already have an utun0 and an utun1, then you need to\nchange it to the next available, ex: utun2.\n\nIn order to make sure this doesn't happen - I've chosen 'utun99'\n\n# Help/Questions/Comments:\nFor help or more info, feel free to contact me or open an issue here!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fventz%2Fopenconnect-gui-menu-bar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fventz%2Fopenconnect-gui-menu-bar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fventz%2Fopenconnect-gui-menu-bar/lists"}