Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Uniclip is a clipboard synchronization tool that allows you to share clipboard content across multiple devices within a group. It provides an easy way to keep your clipboard in sync across different machines, making it perfect for users who frequently work with multiple computers or collaborate in teams.
Current version: 0.2.0
:warning: Security Warning: The server has access to all the clipboard data you ever send to it. Make sure you trust the server. Also, all connections are currently unencrypted. Please be aware of these security implications.
Run the following to set up a docker server:
git clone https://github.com/renxida/uniclip
docker build -t uniclip-server .
docker run -p 8037:2547 --name uniclip-server uniclip-server
On your client, run:
pip install uniclip
uniclip client --server http://server.example.com:8037
For neovim support client, run
# ensure curl is installed
# if not, run `sudo apt install curl`
git clone https://github.com/renxida/uniclip
cd uniclip
cp ./uniclip.lua ~/.config/nvim/lua
cat <<- EOF > ~/.config/nvim/init.lua
local uniclip = require('uniclip')
uniclip.setup()
EOF
mkdir -p ~/.config/uniclip
cat <<-EOF > ~/.config/uniclip/config.yaml
# Unique identifier for the group of devices that will share the clipboard
group_id: example-group
# Full address of the Uniclip server, including protocol and port
server_address: http://server.example.com:8037
# Set to true to force headless mode (useful for servers without a GUI)
headless: false
EOF
echo Try yanking something with neovim now
You can install Uniclip using pip:
pip install uniclip
To run Uniclip in client mode:
uniclip client --group <your_group_id> --server <server_address>
Optional arguments:
--headless
: Force headless mode for the clientExample:
uniclip client --group myteam --server http://uniclip-server.example.com:2547
To run Uniclip in server mode:
uniclip server
Uniclip uses a configuration file located at ~/.config/uniclip/config.yaml
. You can set default values for the group ID, server address, and headless mode in this file.
Example configuration:
group_id: myteam
server_address: http://uniclip-server.example.com:2547
headless: false
To set up the development environment:
Clone the repository:
git clone https://github.com/renxida/uniclip.git
cd uniclip
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
Install the package in editable mode:
pip install -e .
Run tests (assuming you have a tests
directory with test files):
python -m unittest discover tests
This project uses GitHub Actions for continuous integration and deployment. We follow semantic versioning (SemVer) for version numbers.
To create a new release:
patch
: for backwards-compatible bug fixesminor
: for new backwards-compatible featuresmajor
: for changes that break backward compatibilityThis will automatically:
uniclip/__init__.py
The publish workflow will then automatically trigger, building and publishing the new version to PyPI.
Note: Only maintainers with the necessary permissions can trigger this workflow and publish releases.
When a new release is created (either manually or through the Release workflow), the Publish workflow automatically builds the package and publishes it to PyPI using the Trusted Publisher mechanism.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Please ensure your code adheres to the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
Hi contributor! Your name goes here.
If you encounter any problems or have any questions, please open an issue on GitHub.
FAQs
A clipboard synchronization tool
We found that uniclip demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.