This is just a very complicated version of a very easy problem:
Just substitute $g(x)=f(x)+x+1$ to find that the conditions translate into
a) $g(1)>0$
b) $g(x+y)=g(x)g(y)$
c) $g(x)=3g(x+1)$.
Clearly a) and b) together imply that $g(x)>0$ for all $x$. Then b) classically implies that $g(x)=a^x$ for some number $a$. But c) implies $a=\frac{1}{3}$ and hence $g(x)=3^{-x}$ for all x \in \mathbb{Q}$ and so $f(x)=3^{-x}-x-1$ which is indeed a solution.