In QGIS I can suggest using a "Virtual Layer" through
Layer > Add Layer > Add/Edit Virtual Layer....
Let's assume we have two layers
'river' with its corresponding attribute tables, see image below.
With the following query, it is possible to create new lines that will represent the connection between points to the nearest line features.
SELECT ST_ShortestLine(r.geometry, p.geometry),
p.id AS pid,
r.id AS rid,
ROUND(ST_Length(ST_ShortestLine(r.geometry, p.geometry)), 6) AS distance
FROM points AS p, river AS r
WHERE distance < 0.5
GROUP BY p.id
ORDER BY MIN(distance)
WHERE distance < 0.5 specifies the longest acceptable distance between point to the line feature
The output Virtual Layer with its Attribute table will look as following