In QGIS I can suggest using a "Virtual Layer" through Layer > Add Layer > Add/Edit Virtual Layer...
.
Let's assume we have two layers 'points' and 'river' with their 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)
Note:
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
