Repository Analysis

bannedbook/fanqiang

翻墙-科学上网

1.4 Likely human-written View on GitHub
1.4
Adjusted Score
1.4
Raw Score
100%
Time Factor
2026-05-30
Last Push
45,749
Stars
Kotlin
Language
198,023
Lines of Code
1264
Files
127
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 29MEDIUM 26LOW 72

Pattern Findings

127 matches across 9 categories. Click a row to expand file-level details.

Cross-File Repetition29 hits · 145 pts
SeverityFileLineSnippet
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom29To30.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom32To33.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom28To29.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom31To32.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom30To31.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom22To23.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom26To27.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom21To22.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom27To28.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom24To25.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom25To26.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom13To14.kt0insert into feed_items(id, guid, title, plain_title, plain_snippet, unread, notified, feed_id, first_synced_time, primar
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom12To13.kt0insert into feed_items(id, guid, title, plain_title, plain_snippet, unread, notified, feed_id, first_synced_time, primar
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom21To22.kt0insert into feed_items(id, guid, title, plain_title, plain_snippet, unread, notified, feed_id, first_synced_time, primar
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom15To16.kt0insert into feed_items(id, guid, title, plain_title, plain_snippet, unread, notified, feed_id, first_synced_time, primar
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom14To15.kt0insert into feed_items(id, guid, title, plain_title, plain_snippet, unread, notified, feed_id, first_synced_time, primar
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom12To13.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash) values(1, 'feed', 'http://url', '
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom10To11.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash) values(1, 'feed', 'http://url', '
HIGH…om/nononsenseapps/feeder/db/room/MigrationFrom9To10.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash) values(1, 'feed', 'http://url', '
HIGH…m/nononsenseapps/feeder/db/room/MigrationFrom11To12.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash) values(1, 'feed', 'http://url', '
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom33To34.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom34To35.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…nonsenseapps/feeder/db/room/TestMigrationFrom35To36.kt0insert into feeds(id, title, url, custom_title, tag, notify, last_sync, response_hash, fulltext_by_default, open_article
HIGH…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt0// <img src="https://o.aolcdn.com/images/dims?crop=1200%2c627%2c0%2c0&quality=85&format=jpg&resize=1600%2c836&image_uri=
HIGH…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt0// <img src="https://o.aolcdn.com/images/dims?crop=1200%2c627%2c0%2c0&quality=85&format=jpg&resize=1600%2c836&image_uri=
HIGH…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt0// <img src="https://o.aolcdn.com/images/dims?crop=1200%2c627%2c0%2c0&quality=85&format=jpg&resize=1600%2c836&image_uri=
HIGH…/java/com/nononsenseapps/feeder/db/room/FeedItemDao.kt0select $feed_item_columns_with_feed from feed_items left join feeds on feed_items.feed_id = feeds.id where feed_items.id
HIGH…/java/com/nononsenseapps/feeder/db/room/FeedItemDao.kt0select $feed_item_columns_with_feed from feed_items left join feeds on feed_items.feed_id = feeds.id where feed_items.id
HIGH…/java/com/nononsenseapps/feeder/db/room/FeedItemDao.kt0select $feed_item_columns_with_feed from feed_items left join feeds on feed_items.feed_id = feeds.id where feed_items.id
Over-Commented Block56 hits · 54 pts
SeverityFileLineSnippet
LOWv2ss/images/backup/bench.sh1#!/usr/bin/env bash
LOWv2ss/server-cfg/bench.sh1#!/usr/bin/env bash
LOWv2ss/server-cfg/bench-network.sh1#!/usr/bin/env bash
LOWv2ss/server-cfg/fqbench.sh221echo " Total Swap : $(_blue "$swap MB ($uswap MB Used)")"
LOW…esources/com/nononsenseapps/feeder/model/slashdot.html301 switch (slot[i]) {
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt41// var expectedSummary = ""
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt61// @Test
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt81// id = "$baseUrl/id",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt101// id = "$baseUrl/id",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt121// @Test
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt141// mockSyndEntry(
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt161// title = "",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt181// ParsedArticle(
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt201// @Test
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt221// }
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt241// @Test
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt261// assertEquals(
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt281// id = "$baseUrl/id",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt301// title = "",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt321// content_text = "",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt341// ).asItem(baseUrl),
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt361// )
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt381// assertEquals(
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt401// description = description,
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt421// val item =
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt441// url = "http://foo/bar.png",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt461// title = "",
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt481// ParsedArticle(
LOW…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt501// val romePubDate = Date(ZonedDateTime.parse("2017-11-15T22:36:36+00:00").toInstant().toEpochMilli())
LOW…nseapps/feeder/ui/compose/html/LinearArticleContent.kt621 }
LOW…nseapps/feeder/ui/compose/html/LinearArticleContent.kt641// if (allowHorizontalScroll) {
LOW…onsenseapps/feeder/ui/compose/ompl/OpmlImportScreen.kt141// onOk = {
LOW…nononsenseapps/feeder/model/gofeed/GoFeedExtensions.kt201// ?.mapNotNull { it.findThumbnailCandidate(feedBaseUrl) }
LOW…nononsenseapps/feeder/model/gofeed/GoFeedExtensions.kt221// return findFirstImageInHtml(this.body(), baseUrl) ?: thumbnail
LOW…nononsenseapps/feeder/model/gofeed/GoFeedExtensions.kt241 return relativeLinkIntoAbsoluteOrNull(feedBaseUrl, it)
LOW…nononsenseapps/feeder/model/gofeed/GoFeedExtensions.kt261// sequence {
LOW…nononsenseapps/feeder/model/gofeed/GoFeedExtensions.kt281// metadata?.thumbnail?.forEach { thumbnail ->
LOW…s2/app/src/main/java/com/wireguard/crypto/Ed25519.java541 // from input[0], which is valid mod 2^255-19.
LOWfqnews2/libcore/stun/log.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/attribute.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/attribute.go81}
LOWfqnews2/libcore/stun/response.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/net.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/discover.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/discover.go21
LOWfqnews2/libcore/stun/discover.go41// | Test | UDP <---/Resp\
LOWfqnews2/libcore/stun/client.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/host.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/packet.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/doc.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/utils.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/const.go1// Copyright 2016 Cong Ding
LOWfqnews2/libcore/stun/tests.go1// Copyright 2016 Cong Ding
LOWdeprecated/gae/proxy.py1#!/usr/bin/env python
LOWdeprecated/gae/proxy.py21# Harmony Meow <harmony.meow@gmail.com>
LOWdeprecated/gae/proxy.py41# v3aqb <sgzz.cj@gmail.com>
AI Slop Vocabulary19 hits · 42 pts
SeverityFileLineSnippet
LOW…esources/com/nononsenseapps/feeder/ui/cowboy_feed.json62 "content_html": "\n\n\u003cp\u003eSo I recently migrated this site from \u003ca href=\"https://ghost.org\"\u
LOW…esources/com/nononsenseapps/feeder/ui/cowboy_feed.json98 "content_html": "\n\n\u003cp\u003eWhen I decided I needed more disk space for media and virtual machine (VM)
MEDIUM…s/com/nononsenseapps/feeder/model/rss_morningpaper.xml740 &#8230; it is easy to produce images that are completely unrecognizable to humans, but that state-of-the-art DNNs beli
MEDIUM…s/com/nononsenseapps/feeder/model/rss_morningpaper.xml840 However, note that many machine learning models, unlike DNNs, don&#8217;t have the model capacity to be able to resist
MEDIUM…s/com/nononsenseapps/feeder/model/rss_morningpaper.xml842<p>This all sounds quite promising&#8230; unfortunately a subsequent paper showed that even defensive distillation is in
MEDIUM…s/com/nononsenseapps/feeder/model/rss_morningpaper.xml842<p>This all sounds quite promising&#8230; unfortunately a subsequent paper showed that even defensive distillation is in
MEDIUM…s/com/nononsenseapps/feeder/model/rss_morningpaper.xml991<p>Here we&#8217;re back with birds (Caltech UCSD 200-2011 dataset) and also flowers (Oxford 102 flowers dataset). Can t
LOW…nononsenseapps/feeder/model/cowboyprogrammer_feed.json61 "content_html": "\n\n\u003cp\u003eSo I recently migrated this site from \u003ca href=\"https://ghost.org\"\u
LOW…nononsenseapps/feeder/model/cowboyprogrammer_feed.json97 "content_html": "\n\n\u003cp\u003eWhen I decided I needed more disk space for media and virtual machine (VM)
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml18 <content type="html">&lt;p class=lp&gt;Here&amp;rsquo;s a straightforward benchmark.&#xA;Time how long it takes to r
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml18 <content type="html">&lt;p class=lp&gt;Here&amp;rsquo;s a straightforward benchmark.&#xA;Time how long it takes to r
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml18 <content type="html">&lt;p class=lp&gt;Here&amp;rsquo;s a straightforward benchmark.&#xA;Time how long it takes to r
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml27 <content type="html">&lt;p class=lp&gt;’Tis the season for resolutions,&#xA;and I thought it would make sense to wri
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml54 <content type="html">&lt;style&gt;&#xA;sub { font-size: 70% }&#xA;&lt;/style&gt;&#xA;&#xA;&lt;p class=lp&gt;Dependen
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml81 <content type="html">&#xA;&lt;p class=&#34;lp&#34;&gt;&#xA;People I work with recognize my computer easily:&#xA;it&#
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml144 <content type="html">&#xA;&lt;p&gt;&lt;p class=lp&gt;&#xA;This is the story of a clever trick that&#39;s been around
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml144 <content type="html">&#xA;&lt;p&gt;&lt;p class=lp&gt;&#xA;This is the story of a clever trick that&#39;s been around
MEDIUM…sources/com/nononsenseapps/feeder/model/rss_cowboy.xml1368 &lt;a href=&#34;http://stratechery.com/2014/dont-give-ipad/&#34;&gt;Stratechery&lt;/a&gt; explains some
MEDIUM…enseapps/feeder/model/gofeed/GoFeedExtensionsKtTest.kt11 // Essentially a test for XKCD
Slop Phrases9 hits · 17 pts
SeverityFileLineSnippet
MEDIUMfqnews/app/src/main/res/values-zh-rTW/strings.xml43 <string name="about_screen_info">I\'m publishing this application as free and open-source software under GPLv3 licen
MEDIUMfqnews/app/src/main/res/values-zh-rCN/strings.xml42 <string name="about_screen_info">I\'m publishing this application as free and open-source software under GPLv3 licen
MEDIUMfqnews/app/src/main/res/values/strings.xml21 <string name="about_screen_info">I\'m publishing this application as free and open-source software under GPLv3 licen
MEDIUM…esources/com/nononsenseapps/feeder/ui/cowboy_feed.json62 "content_html": "\n\n\u003cp\u003eSo I recently migrated this site from \u003ca href=\"https://ghost.org\"\u
MEDIUM…s/com/nononsenseapps/feeder/model/rss_morningpaper.xml459<p>And if you&#8217;ll indulge me one more time, here&#8217;s the extraction of a &#8216;turn&#8217; vector by differenc
LOW…/nononsenseapps/feeder/model/rss_nixers_newsletter.xml3666and don't forget to keep doing security updates.</p></li>
MEDIUM…nononsenseapps/feeder/model/cowboyprogrammer_feed.json61 "content_html": "\n\n\u003cp\u003eSo I recently migrated this site from \u003ca href=\"https://ghost.org\"\u
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml81 <content type="html">&#xA;&lt;p class=&#34;lp&#34;&gt;&#xA;People I work with recognize my computer easily:&#xA;it&#
MEDIUM…/com/nononsenseapps/feeder/model/atom_research_rsc.xml126 <content type="html">&#xA;&lt;p&gt;&lt;p class=pp&gt;&#xA;UTF-8 is a way to encode Unicode code points&amp;#8212;int
Excessive Try-Catch Wrapping8 hits · 9 pts
SeverityFileLineSnippet
LOWfqnews/core/gfwlist/parse.py38 except Exception as e:
MEDIUMfqnews/core/gfwlist/parse.py31def get_hostname(something):
LOWdeprecated/gae/proxy.py304 except Exception as e:
LOWdeprecated/gae/proxy.py331 except Exception as e:
LOWdeprecated/gae/proxy.py373 except Exception as e:
LOWdeprecated/gae/proxy.py440 except Exception as e:
LOWdeprecated/gae/proxy.py606 except Exception as e:
LOWdeprecated/gae/proxy.py1305 except Exception as e:
Decorative Section Separators2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMv2ss/images/backup/ssr.sh5#=================================================
MEDIUMv2ss/images/backup/ssr.sh11#=================================================
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippet
LOW…/nononsenseapps/feeder/ui/compose/settings/Settings.kt1189 "Lorem ipsum dolor sit amet.",
LOW…/nononsenseapps/feeder/ui/compose/settings/Settings.kt1189 "Lorem ipsum dolor sit amet.",
Unused Imports1 hit · 1 pts
SeverityFileLineSnippet
LOWfqnews/core/gfwlist/parse.py4
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippet
LOWfqnews/core/gfwlist/parse.py54