Sachverhalt:
A. Das Kreisgericht Untertoggenburg-Gossau verurteilte X._ am 26. September 2006 wegen qualifizierter Widerhandlung gegen das Betäubungsmittelgesetz, Betäubungsmittelkonsums, Widerhandlung gegen das Waffengesetz und Ausweisfälschung zu einer Freiheitsstrafe von 4 Jahren. Zudem verpflichtete es den Verurteilten zu einer Ersatzforderung von Fr. 84'200.--.
Auf Berufung von X._ setzte das Kantonsgericht St. Gallen am 2. Juli 2007 die Freiheitsstrafe auf 3 3/4 Jahre fest, büsste ihn mit Fr. 200.-- und bestätigte im Übrigen das erstinstanzliche Urteil.
B. X._ führt Beschwerde in Strafsachen und beantragt, er sei mit einer Freiheitsstrafe von nicht mehr als 3 Jahren zu bestrafen, und ein Drittel der beschlagnahmten Geldsumme sei ihm herauszugeben.

Erwägungen:
1. Der Beschwerdeführer macht geltend, die Menge gehandelter Betäubungsmittel, für welche er bestraft worden sei, sei nicht nachgewiesen. Die kantonalen Urteile beruhten auf Belastungsaussagen, die "nicht justizförmig auf korrekte Weise" zustande gekommen und deshalb nicht verwertbar seien. Das angefochtene Urteil verstosse gegen den Grundsatz des fairen Verfahrens (<ref-law>, Art. 6 Ziff. 1 EMRK, Art. 14 Abs. 1 IPBPR) und gegen die Unschuldsvermutung (Beschwerdeschrift, S. 3 Ziff. 2).
Auf die gleichen Rügen war die Vorinstanz nicht eingetreten, weil der Beschwerdeführer seine Berufung auf die Strafzumessung beschränkt hatte. In diesem Zusammenhang verweist die Vorinstanz auf Art. 239 Abs. 2 StP/SG sowie auf einschlägige Rechtsprechung (GVP 1987 Nr. 61 und 62) und Literatur (Niklaus Oberholzer, Grundzüge des Strafprozessrechts, 2. Auflage, N 1668). Nach der erwähnten Gesetzesbestimmung kann sich die Berufungserklärung auf den Schuldspruch, die Sanktion, den Kostenspruch oder die Zivilklage beschränken.
Die eingangs erwähnten Beanstandungen kann das Bundesgericht nur überprüfen, wenn der Beschwerdeführer darlegt, dass die Vorinstanz in willkürlicher Missachtung kantonalen Prozessrechts zu Unrecht auf seine Rügen nicht eingetreten ist.
1.1 Gestützt auf <ref-law> muss ein Beschwerdeführer, wenn er verfassungsmässige Rechte als verletzt rügt, die gleichen Begründungsanforderungen erfüllen, wie sie für die staatsrechtliche Beschwerde gemäss Art. 90 Abs. 1 lit. b OG galten (<ref-ruling>, E. 1.4; <ref-ruling> E. 2).
Danach muss eine Beschwerde die wesentlichen Tatsachen und eine kurz gefasste Darlegung darüber enthalten, welche verfassungsmässigen Rechte bzw. welche Rechtssätze und inwiefern sie durch den angefochtenen Entscheid verletzt worden sind. Das Bundesgericht prüft nur klar und detailliert erhobene Rügen. Auf ungenügend begründete Rügen und rein appellatorische Kritik am angefochtenen Entscheid tritt es nicht ein (vgl. <ref-ruling> E. 1c; <ref-ruling> E. 1c; <ref-ruling> E. 4b; <ref-ruling> E. b, je mit Hinweisen).
1.2 Der Beschwerdeführer erwähnt nicht einmal die fragliche gesetzliche Bestimmung. Ebenso wenig legt er dar, inwiefern die Vorinstanz seine Berufungserklärung (Berufungsakten, act. B/1) im Lichte von Art. 239 Abs. 2 StP/SG willkürlich ausgelegt haben soll. Damit genügen seine Ausführungen der geforderten Begründungspflicht nicht, weshalb auf sämtliche Rügen, die auf eine Änderung des Sachverhalts inklusive der Ersatzforderung abzielen, nicht einzutreten ist.
2. Der Beschwerdeführer beanstandet die vorinstanzliche Strafzumessung.
Soweit er dabei den verbindlichen Sachverhalt in Frage stellt, ist auf seine Rügen nicht einzutreten. Dies betrifft das Motiv des Drogenhandels, seine Einstufung in der "Drogenhierarchie" und die Menge der gehandelten Drogen.
Die Vorinstanz hat eine besondere Strafempfindlichkeit des Beschwerdeführers zu Recht nicht strafmindernd berücksichtigt. Denn die Tatsache, während des Strafvollzugs von seiner Freundin getrennt zu sein, trifft alle Straftäter gleichermassen, die eine Beziehung leben und eine Freiheitsstrafe verbüssen müssen.
Entgegen der Behauptung des Beschwerdeführers hat die Vorinstanz die Strafzumessung ausreichend begründet. Diese ist nachvollziehbar und liegt auch im Rahmen des vorinstanzlichen Ermessens.
3. Nach dem Gesagten ist die Beschwerde abzuweisen, soweit darauf eingetreten werden kann.
Der Beschwerdeführer stellt ein Gesuch um unentgeltliche Rechtspflege. Da seine Begehren von vornherein aussichtslos erschienen, ist das Gesuch abzuweisen (<ref-law>). Folglich wird der Beschwerdeführer kostenpflichtig (<ref-law>). Bei der Bemessung der Gerichtsgebühr ist jedoch seinen finanziellen Verhältnissen Rechnung zu tragen.

Demnach erkennt das Bundesgericht:
1. Die Beschwerde in Strafsachen wird abgewiesen, soweit darauf einzutreten ist.
2. Das Gesuch um unentgeltliche Rechtspflege wird abgewiesen.
3. Die Gerichtskosten von Fr. 1'600.-- werden dem Beschwerdeführer auferlegt.
4. Dieses Urteil wird den Parteien und dem Kantonsgericht St. Gallen, Strafkammer, schriftlich mitgeteilt.
Lausanne, 24. Januar 2008
Im Namen der Strafrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
Schneider Borner