Можно достать информацию из
navigator.userAgent и регулярными выражениями разбить полученную информацию на нужные фрагменты, после чего использовать. Но такой вариант подходит если есть опыт работы с регулярными выражениями.
Если пойти другим путем, можно вывести в консоль объект
navigator и посмотреть какие свойства имеются в наличии, после чего подготовить функцию в которой будет происходить получение информации из нужных свойств объекта. Например в
navigator.userAgentData хранится информация, которую можно использовать сразу, без обработки регулярными выражениями.
Или поискать библиотеки для подобных задач и использовать их для решения своих задач. Например есть такая библиотека
UAParser.js или
browser-dtector или
Detect.js или куча других готовых решений.
Про получение IP - адреса, уже написали в соседних ответах.