Who hasn’t heard of Clubhouse by now? The trendy social network for voice messaging is gaining unprecedented momentum, and competitors such as Twitter and Facebook promise to present their analogues as soon as possible.
But right now only owners of iOS devices have official access to this platform, just like when Instagram was first launched. However, if you like a challenge and don’t lack command line skills, you have the opportunity to join the Clubhouse right now.
How? Let’s figure it out
Unfortunately, it’s impossible to create an account without an iPhone. It’s easier to ask for an invite, and, having received a text message to your number, register online using a friend’s iOS app. Then you can exit the app and leave your friend in peace.
If this is problematic, you can use a service for testing iOS applications that provide a “virtual” iPhone for your needs, like BrowserStack, but such services aren’t usually free. For example, BrowserStack’s Desktop & Mobile package costs $39/month. Too much to our needs.
So, you’re in. What’s next?
For listening to rooms and for others, we will use a console application written in Python: https://github.com/stypr/clubhouse-py
It is based on the hacked Clubhouse protocol and the author promises to remove the app after the official version for Android is released. For it to work, you need Python version 3.7 or higher. The application works on Windows and macOS.
Installation is simple:
git clone https://github.com/stypr/clubhouse-py cd ./clubhouse-py pip3 install -r requirements.txt pip3 install agora-python-sdk
And if not?
First, as of February 19, 2021, the agora-python-sdk library compilation for Windows is broken, so instead of installing via pip, it’s better to build the project by hand. The tutorial is available here.
Secondly, for macOS, you need to give Terminal and Python access to Microphone and Accessibility. And also, you will probably need to change the key combination for the “raise your hands” command, since in macOS the module for binding hotkeys will not work properly. To do this, open cli.py in any editor and change:
if not channel_speaker_permission: print("[*] Press [Ctrl+Shift+H] to raise your hands for the speaker permission.") keyboard.add_hotkey( "ctrl+shift+h", _request_speaker_permission, args=(client, channel_name, user_id) )
if not channel_speaker_permission: print("[*] Press  to raise your hands for the speaker permission.") keyboard.add_hotkey( "3", _request_speaker_permission, args=(client, channel_name, user_id) )
Thirdly, on macOS, you will have to run apps via sudo:
sudo python3 cli.py
After launching, the app will ask you to specify the phone number and enter the authentication code, after which it will save the received token in settings.ini
This is how the program window looks like:
And here is a small video demonstrating the working app:
If 20 channels and 20 users in rooms is not enough for you, you can increase the limit by making changes to cli.py
max_limit = 30
Hope it was all worth it. Chat away!