Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
A package for client-server communication over TCP and UDP with SSL/TLS encryption
This package provides a client-server communication system using TCP and UDP With SSL/TLS security Certification.
To install the package, run:
pip install network_com
To use SSL/TLS with this package, you need to generate SSL certificates. For development purposes, you can create self-signed certificates using OpenSSL:
openssl genpkey -algorithm RSA -out server.key
openssl req -new -key server.key -out server.csr -subj "/CN=example.com"
###Generate a Self-Signed Certificate
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
You will have server.key and server.crt files to be used by the server.
If you don't already have OpenSSL installed, you can install it:
sudo apt-get install openssl
brew install openssl
Download and install from OpenSSL for Windows.
To start the server, you can start the server using the package in your own script:
# my_server_script.py
from network_com import server
import threading
import os
def start_server():
script_dir = os.path.dirname(os.path.abspath(__file__))
udp_thread = threading.Thread(target=server.send_ip)
tcp_thread = threading.Thread(target=server.tcp_server, args=(os.path.join(script_dir, 'server.crt'), os.path.join(script_dir, 'server.key')))
udp_thread.start()
tcp_thread.start()
udp_thread.join()
tcp_thread.join()
if __name__ == "__main__":
start_server()
Run the script with:
python my_server_script.py
To start the client, you can start the client using the package in your own script:
# my_client_script.py
from network_com import client
import os
def start_client():
script_dir = os.path.dirname(os.path.abspath(__file__))
client.udp_listener(os.path.join(script_dir, 'server.crt'))
if __name__ == "__main__":
start_client()
Run the script with:
python my_script.py
Here is an example script (combined_script.py) that allows you to run either the client or the server based on a command-line argument:
# combined_script.py
from network_com import client, server
import threading
import argparse
def start_client(certfile):
client.udp_listener(certfile)
def start_server(certfile, keyfile):
udp_thread = threading.Thread(target=server.send_ip)
tcp_thread = threading.Thread(target=server.tcp_server, args=(certfile, keyfile))
udp_thread.start()
tcp_thread.start()
udp_thread.join()
tcp_thread.join()
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Run network client or server.")
parser.add_argument('mode', choices=['client', 'server'], help="Mode to run: client or server")
parser.add_argument('--certfile', required=True, help="Path to the SSL certificate file")
parser.add_argument('--keyfile', help="Path to the SSL key file (required for server)")
args = parser.parse_args()
if args.mode == 'client':
start_client(args.certfile)
elif args.mode == 'server':
if not args.keyfile:
parser.error("The --keyfile argument is required for running the server")
start_server(args.certfile, args.keyfile)
Run the script with:
# To start the server
python combined_script.py server --certfile path/to/server.crt --keyfile path/to/server.key
# To start the client
python combined_script.py client --certfile path/to/server.crt
You can import and use the package in any other Python project. Here’s an example:
# another_script.py
from network_com import client, server
import threading
def main():
# Start server in a separate thread
server_thread = threading.Thread(target=start_server, args=(os.path.join(script_dir, 'server.crt'), os.path.join(script_dir, 'server.key')))
server_thread.start()
# Start client in the main thread (or another separate thread if desired)
start_client("path/to/server.crt")
def start_server(certfile, keyfile):
udp_thread = threading.Thread(target=server.send_ip)
tcp_thread = threading.Thread(target=server.tcp_server, args=(certfile, keyfile))
udp_thread.start()
tcp_thread.start()
udp_thread.join()
tcp_thread.join()
def start_client(certfile):
client.udp_listener(certfile)
if __name__ == "__main__":
main()
Run the script with:
python another_script.py
FAQs
A package for client-server communication over TCP and UDP with SSL/TLS encryption
We found that network-com 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
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.