This service tests the validity of an RSS 2.0 feed, checking to see that it follows the rules of the RSS specification. For advice from the RSS Advisory Board on how to implement RSS and handle issues such as enclosures and HTML encoding, read the RSS Best Practices Profile. This checker is also a validator of Atom and RSS 1.0 feeds.

Use this tester regularly to ensure that your RSS feed continues to work well in the wide audience of RSS readers, podcast clients and other software that supports the format.

 

It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://tpo.pages.torproject.net/web/blog/feed.xml

  1. <!DOCTYPE html>
  2. <html class="html-devise-layout gl-system" lang="en">
  3. <head prefix="og: http://ogp.me/ns#">
  4. <meta charset="utf-8">
  5. <meta content="IE=edge" http-equiv="X-UA-Compatible">
  6. <meta content="width=device-width, initial-scale=1" name="viewport">
  7. <title>Sign in · GitLab</title>
  8. <script>
  9. //<![CDATA[
  10. window.gon={};gon.api_version="v4";gon.default_avatar_url="https://gitlab.torproject.org/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=5;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.user_color_mode="gl-system";gon.user_color_scheme="white";gon.markdown_surround_selection=null;gon.markdown_automatic_lists=null;gon.markdown_maintain_indentation=null;gon.math_rendering_limits_enabled=true;gon.iframe_rendering_enabled=false;gon.iframe_rendering_allowlist=[];gon.recaptcha_api_server_url="https://www.recaptcha.net/recaptcha/api.js";gon.recaptcha_sitekey=null;gon.gitlab_url="https://gitlab.torproject.org";gon.promo_url="https://about.gitlab.com";gon.forum_url="https://forum.gitlab.com";gon.docs_url="https://docs.gitlab.com";gon.revision="20fe49b575f";gon.feature_category="system_access";gon.gitlab_logo="/assets/gitlab_logo-2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png";gon.secure=true;gon.sprite_icons="/assets/icons-41229992eca580608aadaaa9b83b717650b2863442574d0ebb87f859c42a3b6c.svg";gon.sprite_file_icons="/assets/file_icons/file_icons-90de312d3dbe794a19dee8aee171f184ff69ca9c9cf9fe37e8b254e84c3a1543.svg";gon.illustrations_path="/images/illustrations.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-bd26211944b9d072037ec97cb138f1a52cd03ef185cd38b8d1fcc963245199a1.css";gon.emoji_backend_version=4;gon.gridstack_css_path="/assets/lazy_bundles/gridstack-f42069e5c7b1542688660592b48f2cbd86e26b77030efd195d124dbd8fe64434.css";gon.test_env=false;gon.disable_animations=false;gon.suggested_label_colors={"#cc338b":"Magenta-pink","#dc143c":"Crimson","#c21e56":"Rose red","#cd5b45":"Dark coral","#ed9121":"Carrot orange","#eee600":"Titanium yellow","#009966":"Green-cyan","#8fbc8f":"Dark sea green","#6699cc":"Blue-gray","#e6e6fa":"Lavender","#9400d3":"Dark violet","#330066":"Deep violet","#36454f":"Charcoal grey","#808080":"Gray"};gon.first_day_of_week=1;gon.time_display_relative=true;gon.time_display_format=0;gon.ee=true;gon.jh=false;gon.dot_com=false;gon.uf_error_prefix="UF";gon.pat_prefix="";gon.keyboard_shortcuts_enabled=true;gon.broadcast_message_dismissal_path=null;gon.diagramsnet_url="https://embed.diagrams.net";gon.features={"uiForOrganizations":false,"organizationSwitching":false,"findAndReplace":false,"removeMonitorMetrics":true,"newProjectCreationForm":false,"workItemsClientSideBoards":false,"glqlWorkItems":true,"glqlAggregation":false,"glqlTypescript":false,"projectStudioEnabled":true,"securityManagerRoleEnabled":false,"advancedContextResolver":true,"duoUiNext":false,"dapUseFoundationalFlowsSetting":true,"duoChatBinaryFeedback":false,"passkeys":true,"signInFormVue":true,"twoStepSignIn":false};gon.roadmap_epics_limit=1000;gon.subscriptions_url="https://customers.gitlab.com";
  11. //]]>
  12. </script>
  13.  
  14. <script>
  15. //<![CDATA[
  16. const root = document.documentElement;
  17. if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
  18.  root.classList.add('gl-dark');
  19. }
  20.  
  21. window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
  22.  if (e.matches) {
  23.    root.classList.add('gl-dark');
  24.  } else {
  25.    root.classList.remove('gl-dark');
  26.  }
  27. });
  28.  
  29. //]]>
  30. </script>
  31.  
  32.  
  33.  
  34.  
  35. <meta content="light dark" name="color-scheme">
  36. <link rel="stylesheet" href="/assets/application-9e8889e3cef31f1127573c849241a8e0dcc71180500f636d991775331e5f888b.css" media="(prefers-color-scheme: light)" />
  37. <link rel="stylesheet" href="/assets/application_dark-356d95c4fa890d9f5f361b90ec62bfe31462684c92c1ae4a227b21c27347b045.css" media="(prefers-color-scheme: dark)" />
  38. <link rel="stylesheet" href="/assets/page_bundles/login-7240ec00cf3969b710fe5e8959f8ef8eeff66d635ded28839b1b4256ae8d96a3.css" /><link rel="stylesheet" href="/assets/page_bundles/commit_description-9e7efe20f0cef17d0606edabfad0418e9eb224aaeaa2dae32c817060fa60abcc.css" /><link rel="stylesheet" href="/assets/page_bundles/work_items-af321897c3b1ae7c1f6f0cb993681211b837df7ec8e5ff59e3795fd08ab83a13.css" /><link rel="stylesheet" href="/assets/page_bundles/notes_shared-8f7a9513332533cc4a53b3be3d16e69570e82bc87b3f8913578eaeb0dce57e21.css" />
  39. <link rel="stylesheet" href="/assets/tailwind_cqs-d51dc05c8c0696a511881802ecd259633fbabf6608e57c39e367821db8c4ad01.css" />
  40.  
  41.  
  42. <link rel="stylesheet" href="/assets/fonts-deb7ad1d55ca77c0172d8538d53442af63604ff490c74acc2859db295c125bdb.css" />
  43. <link rel="stylesheet" href="/assets/highlight/themes/white-9c3096bebbc271536c91d4e96afdef34cf54f198accca96d32008405a3a398da.css" media="(prefers-color-scheme: light)" />
  44. <link rel="stylesheet" href="/assets/highlight/themes/dark-bab508e186c8119f0cfb965d3a8a74c6ee2b10c5d2cf129a41c0bc522b98655d.css" media="(prefers-color-scheme: dark)" />
  45.  
  46. <script src="/assets/webpack/runtime.703056ec.bundle.js" defer="defer"></script>
  47. <script src="/assets/webpack/main.06052145.chunk.js" defer="defer"></script>
  48. <script src="/assets/webpack/tracker.f99708a3.chunk.js" defer="defer"></script>
  49. <script>
  50. //<![CDATA[
  51. window.snowplowOptions = {"namespace":"gl","hostname":"gitlab.torproject.org:443","postPath":"/-/collect_events","forceSecureTracker":true,"appId":"gitlab_sm"};
  52. gl = window.gl || {};
  53. gl.snowplowStandardContext = {"schema":"iglu:com.gitlab/gitlab_standard/jsonschema/1-1-7","data":{"environment":"self-managed","source":"gitlab-rails","correlation_id":"01KHZY21F4K7H31WK7TNZMGY9B","extra":{},"user_id":null,"global_user_id":null,"user_type":null,"is_gitlab_team_member":null,"namespace_id":null,"ultimate_parent_namespace_id":null,"project_id":null,"feature_enabled_by_namespace_ids":null,"realm":"self-managed","deployment_type":"self-managed","context_generated_at":"2026-02-21T11:06:19.558Z"}};
  54. gl.snowplowPseudonymizedPageUrl = "https://gitlab.torproject.org/users/sign_in";
  55. gl.maskedDefaultReferrerUrl = null;
  56. gl.ga4MeasurementId = 'G-ENFH3X7M5Y';
  57. gl.duoEvents = ["ai_question_category","perform_completion_worker","process_gitlab_duo_question","agent_platform_session_created","agent_platform_session_dropped","agent_platform_session_finished","agent_platform_session_resumed","agent_platform_session_started","agent_platform_session_stopped","ai_response_time","ci_repository_xray_artifact_created","cleanup_stuck_agent_platform_session","click_dap_trial_or_paid_empty_state_agent","click_dap_trial_or_paid_empty_state_explore_agents_link","click_dap_trial_or_paid_empty_state_prompt","click_delete_ai_catalog_item_button","click_disable_ai_catalog_item_button","click_duo_agentic_not_available_empty_state_learn_more","click_duo_agentic_not_available_empty_state_start_trial","click_duplicate_ai_catalog_item_button","click_enable_ai_catalog_item_button","click_purchase_seats_button_group_duo_pro_home_page","code_suggestion_accepted_in_ide","code_suggestion_rejected_in_ide","code_suggestion_shown_in_ide","code_suggestions_connection_details_rate_limit_exceeded","code_suggestions_direct_access_rate_limit_exceeded","code_suggestions_rate_limit_exceeded","create_ai_catalog_item","create_ai_catalog_item_consumer","create_ai_self_hosted_model","default_answer","delete_ai_catalog_item","delete_ai_catalog_item_consumer","delete_ai_self_hosted_model","detected_high_comment_temperature","detected_repeated_high_comment_temperature","dismiss_sast_vulnerability_false_positive_analysis","encounter_duo_code_review_error_during_review","error_answer","excluded_files_from_duo_code_review","execute_llm_method","filter_ai_fp","find_no_issues_duo_code_review_after_review","find_nothing_to_review_duo_code_review_on_mr","finish_duo_workflow_execution","finish_mcp_tool_call","forced_high_temperature_commenting","i_quickactions_q","include_repository_xray_data_into_code_generation_prompt","mention_gitlabduo_in_mr_comment","post_comment_duo_code_review_on_diff","process_gitlab_duo_slash_command","react_thumbs_down_on_duo_code_review_comment","react_thumbs_up_on_duo_code_review_comment","reported_sast_vulnerability_false_positive_analysis","request_ask_help","request_duo_chat_response","request_review_duo_code_review_on_mr_by_author","request_review_duo_code_review_on_mr_by_non_author","requested_comment_temperature","retry_duo_workflow_execution","start_duo_workflow_execution","start_mcp_tool_call","submit_gitlab_duo_question","tokens_per_embedding","tokens_per_user_request_prompt","tokens_per_user_request_response","trigger_ai_catalog_item","trigger_sast_vulnerability_fp_detection_workflow","trigger_sast_vulnerability_resolution_workflow","trigger_secret_detection_vulnerability_fp_detection_workflow","troubleshoot_job","update_ai_catalog_item","update_ai_catalog_item_consumer","update_ai_self_hosted_model","update_model_selection_feature","update_self_hosted_ai_feature_to_vendored_model","view_ai_catalog_item","view_ai_catalog_item_index","view_ai_catalog_project_managed","view_dap_trial_or_paid_empty_state","view_duo_agentic_not_available_empty_state"];
  58. gl.onlySendDuoEvents = true;
  59.  
  60.  
  61. //]]>
  62. </script>
  63. <link rel="preload" href="/assets/application-9e8889e3cef31f1127573c849241a8e0dcc71180500f636d991775331e5f888b.css" as="style" type="text/css">
  64. <link rel="preload" href="/assets/highlight/themes/white-9c3096bebbc271536c91d4e96afdef34cf54f198accca96d32008405a3a398da.css" as="style" type="text/css">
  65.  
  66.  
  67.  
  68.  
  69. <script src="/assets/webpack/commons-pages.search.show-super_sidebar.859fa515.chunk.js" defer="defer"></script>
  70. <script src="/assets/webpack/super_sidebar.f305d4b0.chunk.js" defer="defer"></script>
  71. <script src="/assets/webpack/commons-pages.admin.sessions-pages.groups.omniauth_callbacks-pages.ldap.omniauth_callbacks-pages.omn-aac29e51.2bb169b1.chunk.js" defer="defer"></script>
  72. <script src="/assets/webpack/pages.sessions.new.6947b595.chunk.js" defer="defer"></script>
  73.  
  74.  
  75.  
  76. <meta content="object" property="og:type">
  77. <meta content="GitLab" property="og:site_name">
  78. <meta content="Sign in · GitLab" property="og:title">
  79. <meta content="Welcome to The Tor Project&#39;s Gitlab" property="og:description">
  80. <meta content="https://gitlab.torproject.org/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="og:image">
  81. <meta content="64" property="og:image:width">
  82. <meta content="64" property="og:image:height">
  83. <meta content="https://gitlab.torproject.org/users/sign_in" property="og:url">
  84. <meta content="summary" property="twitter:card">
  85. <meta content="Sign in · GitLab" property="twitter:title">
  86. <meta content="Welcome to The Tor Project&#39;s Gitlab" property="twitter:description">
  87. <meta content="https://gitlab.torproject.org/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="twitter:image">
  88.  
  89. <meta name="csrf-param" content="authenticity_token" />
  90. <meta name="csrf-token" content="Mn6GnKKWWe-jB6mQoJfXUDN5qae25UPCe4bW7xl8v6FhttcDD9L1KmWR5AHeJgT6-QsRxyDjKMDu2FBj7Z68yw" />
  91. <meta name="csp-nonce" />
  92. <meta name="action-cable-url" content="/-/cable" />
  93. <link href="/-/manifest.json" rel="manifest">
  94. <link rel="icon" type="image/png" href="/uploads/-/system/appearance/favicon/1/favicon.ico" id="favicon" data-original-href="/uploads/-/system/appearance/favicon/1/favicon.ico" />
  95. <link rel="apple-touch-icon" type="image/x-icon" href="/assets/apple-touch-icon-b049d4bc0dd9626f31db825d61880737befc7835982586d015bded10b4435460.png" />
  96. <link href="/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml">
  97.  
  98.  
  99.  
  100.  
  101. <meta content="Welcome to The Tor Project&#39;s Gitlab" name="description">
  102. <meta content="#F1F0F6" media="(prefers-color-scheme: light)" name="theme-color">
  103. <meta content="#232128" media="(prefers-color-scheme: dark)" name="theme-color">
  104. </head>
  105.  
  106. <body class="gl-h-full login-page gl-browser-generic gl-platform-other" data-page="sessions:new" data-testid="login-page">
  107.  
  108. <script>
  109. //<![CDATA[
  110. gl = window.gl || {};
  111. gl.client = {"isGeneric":true,"isOther":true};
  112.  
  113.  
  114. //]]>
  115. </script>
  116.  
  117.  
  118.  
  119.  
  120. <div class="gl-h-full gl-flex gl-flex-wrap">
  121. <div class="container gl-self-center">
  122. <main class="content">
  123. <div class="flash-container flash-container-page sticky" data-testid="flash-container">
  124. <div id="js-global-alerts"></div>
  125. </div>
  126.  
  127. <div class="row gl-mt-5 gl-gap-y-6">
  128. <div class="col-md order-12">
  129. <div class="col-sm-12">
  130. <h1 class="gl-mb-5 gl-text-size-h2 gl-hidden md:gl-block">
  131. Welcome to The Tor Project&#39;s Gitlab
  132. </h1>
  133. <div class="md" id="js-custom-sign-in-description"><p data-sourcepos="1:1-1:46" dir="auto">Hello and welcome to The Tor Project's Gitlab!</p>&#x000A;<p data-sourcepos="3:1-3:137" dir="auto">If you do not have an account, you can report bugs or request an account on the <a data-sourcepos="3:81-3:136" href="https://anonticket.torproject.org/" rel="nofollow noreferrer noopener" target="_blank">Anon Ticket portal</a>.</p></div>
  134. </div>
  135. </div>
  136. <div class="col-md order-md-12">
  137. <div class="col-sm-12 bar">
  138. <div class="gl-text-center gl-mb-5">
  139. <img alt="Welcome to The Tor Project&#39;s Gitlab" class="gl-invisible gl-h-10 js-portrait-logo-detection lazy" data-src="/assets/logo-911de323fa0def29aaf817fca33916653fc92f3ff31647ac41d2c39bbe243edb.svg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />
  140. <h1 class="gl-mb-3 gl-text-size-h2 md:gl-hidden">
  141. Welcome to The Tor Project&#39;s Gitlab
  142. </h1>
  143. </div>
  144.  
  145. <div class="js-non-oauth-login">
  146. <div data-app-data="{&quot;sign_in_path&quot;:&quot;/users/sign_in&quot;,&quot;users_sign_in_path_path&quot;:&quot;/users/sign_in_path&quot;,&quot;passkeys_sign_in_path&quot;:&quot;/users/passkeys/sign_in&quot;,&quot;is_unconfirmed_email&quot;:false,&quot;new_user_confirmation_path&quot;:&quot;/users/confirmation/new&quot;,&quot;new_password_path&quot;:&quot;/users/password/new&quot;,&quot;show_captcha&quot;:false,&quot;is_remember_me_enabled&quot;:true}" id="js-sign-in-form">
  147. <div class="gl-spinner-container gl-my-5" role="status"><span aria-hidden class="gl-spinner gl-spinner-md gl-spinner-dark !gl-align-text-bottom"></span><span class="gl-sr-only !gl-absolute">Loading</span>
  148. </div>
  149. <form action="/users/sign_in" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="0RAbSloFx0Do7HN-evkeFd6AVKealIPaMUC5pjm-ufOC2ErV90FrhS56Pu8ESM2_FPLsxwyS6NikHj8qzVy6mQ" autocomplete="off" /><input data-js-name="login" autocomplete="off" type="hidden" name="user[login]" id="user_login" />
  150. <input data-js-name="password" autocomplete="off" type="hidden" name="user[password]" id="user_password" />
  151. <input data-js-name="rememberMe" autocomplete="off" type="hidden" name="user[remember_me]" id="user_remember_me" />
  152. </form></div>
  153.  
  154. </div>
  155.  
  156. </div>
  157. </div>
  158. </div>
  159. </main>
  160. </div>
  161. <div class="footer-container gl-w-full gl-self-end">
  162. <hr class="gl-m-0">
  163. <div class="container gl-py-5 gl-flex gl-justify-between gl-items-start">
  164. <div class="gl-hidden md:gl-flex gl-gap-5 gl-flex-wrap">
  165. <a href="/explore">Explore</a>
  166. <a href="/help">Help</a>
  167. <a href="https://about.gitlab.com">About GitLab</a>
  168. <a target="_blank" class="text-nowrap" rel="noopener noreferrer" href="https://forum.gitlab.com">GitLab community forum</a>
  169. </div>
  170. <div class="js-language-switcher" data-locales="[{&quot;value&quot;:&quot;en&quot;,&quot;percentage&quot;:100,&quot;text&quot;:&quot;English&quot;},{&quot;value&quot;:&quot;it&quot;,&quot;percentage&quot;:99,&quot;text&quot;:&quot;italiano&quot;},{&quot;value&quot;:&quot;ga_IE&quot;,&quot;percentage&quot;:99,&quot;text&quot;:&quot;Irish&quot;},{&quot;value&quot;:&quot;fr&quot;,&quot;percentage&quot;:99,&quot;text&quot;:&quot;français&quot;},{&quot;value&quot;:&quot;pt_BR&quot;,&quot;percentage&quot;:98,&quot;text&quot;:&quot;português (Brasil)&quot;},{&quot;value&quot;:&quot;es&quot;,&quot;percentage&quot;:98,&quot;text&quot;:&quot;español&quot;},{&quot;value&quot;:&quot;ko&quot;,&quot;percentage&quot;:97,&quot;text&quot;:&quot;한국어&quot;},{&quot;value&quot;:&quot;ja&quot;,&quot;percentage&quot;:97,&quot;text&quot;:&quot;日本語&quot;},{&quot;value&quot;:&quot;de&quot;,&quot;percentage&quot;:94,&quot;text&quot;:&quot;Deutsch&quot;}]"></div>
  171.  
  172. </div>
  173. </div>
  174.  
  175.  
  176. </div>
  177. </body>
  178. </html>
  179.  
Software created by Sam Ruby, Mark Pilgrim, Joseph Walton and Phil Ringnalda