diff --git a/ogn_lib/parser.py b/ogn_lib/parser.py
index 0546bbb..4ae680a 100644
--- a/ogn_lib/parser.py
+++ b/ogn_lib/parser.py
@@ -153,6 +153,8 @@ class Parser(metaclass=ParserBase):
             using Parser.PATTERN_ALL
         """
 
+        raw_message = cls._preprocess_message(raw_message)
+
         match = cls.PATTERN_ALL.match(raw_message)
 
         if not match:
@@ -187,6 +189,18 @@ class Parser(metaclass=ParserBase):
         data['raw'] = raw_message
         return data
 
+    @staticmethod
+    def _preprocess_message(message):
+        """
+        Performs additional preprocessing on the received APRS message.
+
+        :param str message: the received message
+        :return: processed message
+        :rtype: str
+        """
+
+        return message
+
     @staticmethod
     def _parse_digipeaters(digipeaters):
         """
@@ -756,3 +770,11 @@ class LiveTrack24(Parser):
             'vertical_speed': Parser._convert_fpm_to_ms(fields[1]),
             'source': fields[2]
         }
+
+
+class Capturs(Parser):
+    __destto__ = ['OGLT24', 'OGLT24-1']
+
+    @staticmethod
+    def _preprocess_message(message):
+        return message.strip('/')

 Implement parser for Capturs messages (OGCAPT)
diff --git a/tests/test_parser.py b/tests/test_parser.py
index 2b99868..c1c0a9c 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -177,11 +177,13 @@ class TestParser:
         mocker.spy(parser.Parser, '_parse_digipeaters')
         mocker.spy(parser.Parser, '_parse_heading_speed')
         mocker.spy(parser.Parser, '_parse_protocol_specific')
+        mocker.spy(parser.Parser, '_preprocess_message')
 
-        parser.Parser.parse_message(
-            'FLRDD83BC>APRS,qAS,EDLF:/163148h5124.56N/00634.42E\''
-            '276/075/A=001551')
+        msg = ('FLRDD83BC>APRS,qAS,EDLF:/163148h5124.56N/00634.42E\''
+               '276/075/A=001551')
+        parser.Parser.parse_message(msg)
 
+        parser.Parser._preprocess_message.assert_called_once_with(msg)
         parser.Parser._parse_timestamp.assert_called_once_with('163148h')
         assert parser.Parser._parse_location.call_count == 2
         parser.Parser._parse_altitude.assert_called_once_with('001551')
@@ -232,6 +234,10 @@ class TestParser:
 
         assert data['comment']
 
+    def test_preprocess_message(self):
+        msg = 'asdf'
+        assert parser.Parser._preprocess_message(msg) == msg
+
     def test_parse_digipeaters(self):
         data = parser.Parser._parse_digipeaters('qAS,RECEIVER')
         assert data == {
@@ -512,6 +518,19 @@ class TestLT24:
             parser.LiveTrack24._parse_protocol_specific('id11111 GPS')
 
 
+class TestCapturs:
+    def test_process(self):
+        parser.Capturs.parse_message(
+            "FLRDDEEF1>OGCAPT,qAS,CAPTURS:/065144h4837.56N/00233.80E'000/000/")
+
+    def test_preprocess(self):
+        msg_original = ("FLRDDEEF1>OGCAPT,qAS,CAPTURS:/065144h4837.56N/"
+                        "00233.80E'000/000/")
+        msg = parser.Capturs._preprocess_message(msg_original)
+
+        assert msg == msg_original[:-1]
+
+
 class TestServerParser:
 
     def test_parse_message_beacon(self, mocker):

pip install -e .
parse_log_pytest
pytest
pytest pytest-mock
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
exceptiongroup @ file:///croot/exceptiongroup_1706031385326/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
-e git+https://github.com/akolar/ogn-lib.git@b2b444e1a990e6e84f09b76d93505c2bd9ed2bf5#egg=ogn_lib
packaging @ file:///croot/packaging_1734472117206/work
pluggy @ file:///croot/pluggy_1733169602837/work
pytest @ file:///croot/pytest_1738938843180/work
pytest-mock==3.14.0
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work

name: ogn-lib
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - exceptiongroup=1.2.0=py39h06a4308_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - packaging=24.2=py39h06a4308_0
  - pip=25.0=py39h06a4308_0
  - pluggy=1.5.0=py39h06a4308_0
  - pytest=8.3.4=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py39h06a4308_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - pytest-mock==3.14.0
prefix: /opt/conda/envs/ogn-lib

tests/test_parser.py::TestParser::test_parse_msg_calls tests/test_parser.py::TestParser::test_preprocess_message tests/test_parser.py::TestCapturs::test_process tests/test_parser.py::TestCapturs::test_preprocess
tests/test_parser.py::TestParserBase::test_new_no_id tests/test_parser.py::TestParserBase::test_new_single_id tests/test_parser.py::TestParserBase::test_new_multi_id tests/test_parser.py::TestParserBase::test_no_destto tests/test_parser.py::TestParserBase::test_new_wrong_id tests/test_parser.py::TestParserBase::test_set_default tests/test_parser.py::TestParserBase::test_call tests/test_parser.py::TestParserBase::test_call_server tests/test_parser.py::TestParserBase::test_call_no_parser tests/test_parser.py::TestParserBase::test_call_default tests/test_parser.py::TestParserBase::test_call_failed tests/test_parser.py::TestParser::test_pattern_header tests/test_parser.py::TestParser::test_pattern_header_matches_all tests/test_parser.py::TestParser::test_pattern_location tests/test_parser.py::TestParser::test_pattern_location_matches_all tests/test_parser.py::TestParser::test_pattern_comment_common tests/test_parser.py::TestParser::test_pattern_comment_common_matches_all tests/test_parser.py::TestParser::test_pattern_all tests/test_parser.py::TestParser::test_pattern_all_matches_all tests/test_parser.py::TestParser::test_parse_msg_no_match tests/test_parser.py::TestParser::test_parse_msg tests/test_parser.py::TestParser::test_parse_msg_full tests/test_parser.py::TestParser::test_parse_msg_delete_update tests/test_parser.py::TestParser::test_parse_msg_comment tests/test_parser.py::TestParser::test_parse_digipeaters tests/test_parser.py::TestParser::test_parse_digipeaters_relayed tests/test_parser.py::TestParser::test_parse_digipeaters_unknown_format tests/test_parser.py::TestParser::test_parse_heading_speed tests/test_parser.py::TestParser::test_parse_heading_speed_both_missing tests/test_parser.py::TestParser::test_parse_heading_speed_null_input tests/test_parser.py::TestParser::test_parse_altitude tests/test_parser.py::TestParser::test_parse_altitude_missing tests/test_parser.py::TestParser::test_parse_attrs tests/test_parser.py::TestParser::test_parse_timestamp_h tests/test_parser.py::TestParser::test_parse_timestamp_z tests/test_parser.py::TestParser::test_parse_time_past tests/test_parser.py::TestParser::test_parse_time_future tests/test_parser.py::TestParser::test_parse_datetime tests/test_parser.py::TestParser::test_parse_location_sign tests/test_parser.py::TestParser::test_parse_location_value tests/test_parser.py::TestParser::test_parse_protocol_specific tests/test_parser.py::TestParser::test_conv_fpm_to_ms tests/test_parser.py::TestParser::test_conv_fpm_to_ms_sign tests/test_parser.py::TestParser::test_get_location_update_func tests/test_parser.py::TestParser::test_update_location_decimal_same tests/test_parser.py::TestParser::test_update_location_decimal_positive tests/test_parser.py::TestParser::test_update_location_decimal_negative tests/test_parser.py::TestParser::test_call tests/test_parser.py::TestParser::test_update_data tests/test_parser.py::TestParser::test_update_data_missing tests/test_parser.py::TestAPRS::test_parse_protocol_specific tests/test_parser.py::TestAPRS::test_parse_id_string tests/test_parser.py::TestNaviter::test_parse_protocol_specific tests/test_parser.py::TestNaviter::test_parse_id_string tests/test_parser.py::TestSpot::test_parse_protocol_specific tests/test_parser.py::TestSpot::test_parse_protocol_specific_fail tests/test_parser.py::TestSpider::test_parse_protocol_specific tests/test_parser.py::TestSpider::test_parse_protocol_specific_fail tests/test_parser.py::TestSkylines::test_parse_protocol_specific tests/test_parser.py::TestSkylines::test_parse_protocol_specific_fail tests/test_parser.py::TestLT24::test_parse_protocol_specific tests/test_parser.py::TestLT24::test_parse_protocol_specific_fail tests/test_parser.py::TestServerParser::test_parse_message_beacon tests/test_parser.py::TestServerParser::test_parse_message_status tests/test_parser.py::TestServerParser::test_parse_beacon_comment
ogn_lib/parser.py
ogn_lib/parser.py