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.