Setup
✔️ Requirements
- One or more compatible shock collars.
- A Software Defined Radio (SDR) transmitter that works on the required frequencies (tested using a HackRF device).
- Linux with Python 3 (tested on Ubuntu 20.04).
- Universal Radio Hacker:
sudo apt install python3-pip python3-pyqt5; sudo pip3 install urh -
sudo pip3 install remoshock
Alternatively: Download remoshock.zip from Github manually. - Please see FAQ for troubleshooting tips.
🔧 Getting Started
Make sure that urh is working and does recognize your SDR device.
Run remoshockcli. This command will ask you about the number and
types of receivers in order to generate a remoshock.ini configuration
file. It will use random values for authentication token and transmitter
code.
Reset your collar into pairing mode and invoke remoshockcli again.
After successful pairing, run it a third time, to issue a "beep" command.
If you have more than one receiver, please repeat this step for each
device: remoshockcli --receiver=1, remoshockcli --receiver=2, etc.
📝 remoshock.ini
The file remoshock.ini is automatically created with random tokens and transmitter codes
when you start remoshock for the first time.
[global] web_port = 7777 web_authentication_token = [random unguessable value] # URH supports the following hardware, that can transmit on 27.195 MHz (upper/lower case is important): # HackRF, LimeSDR # sdr=HackRF
The [global] contains general settings. web_port and web_authentication_token
are used by the web-based remote control user interface.
Please configure the name of your SDR transmitter in the configuration
setting sdr (without the leading # in the above example).
[receiver] type=pac name=PAC1 color=#FFD transmitter_code=[random 9/16 bit value] channel=1 limit_shock_max_power_percent=100 limit_shock_max_duration_ms=2000
Each receiver section has the following parameters:
- name: A name to display in the user interface
- color: A HTML color code used by the user interface
- transmitter_code: The transmitter bit code. You can use a random value of exactly 9 bits for PAC collars and 16 bits for all the other devices. Or it can be the same code as your real transmitter. Use network bit order.
- channel: The channel used by the remote. For PAC it is the button number as printed on the DXT remote (top right is 1, button left is 6). In E/P-mode the left side is code 0, and the right side is code 2. Button code 7 works as well.
- limit_shock_max_power_percent: Limits the maximum power level. Default: 100
- limit_shock_max_duration_ms: Limits the maximum duration of a command. Default: 10000
There may be sections for the randomizer, which are documented on the application page.
🐞 Bugs and Feature Ideas
Please report bugs and feature ideas as issues on https://github.com/remoshock/remoshock.