Repository Analysis

getlantern/lantern

Open-source VPN for speed, privacy, and censorship circumvention. Free to download on Android, iOS, Windows, macOS, and Linux.

2.3 Likely human-written View on GitHub
2.3
Adjusted Score
2.3
Raw Score
100%
Time Factor
2026-05-29
Last Push
15,643
Stars
Dart
Language
86,496
Lines of Code
522
Files
101
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 45LOW 56

Pattern Findings

101 matches across 8 categories. Click a row to expand file-level details.

Decorative Section Separators43 hits · 134 pts
SeverityFileLineSnippet
MEDIUMscripts/radiance-env.sh47# ─── platform-specific socket path ──────────────────────────────────────────
MEDIUMscripts/generate_appcast.py29# --------------------------------
MEDIUMlib/core/common/app_semantic_colors.dart12 // ── Text ────────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart38 // ── Background ──────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart67 // ── Border ──────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart87 // ── Status ──────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart152 // ── Action / Primary ────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart174 // ── Action / Secondary ──────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart201 // ── Action / Tertiary ───────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart213 // ── Action / Tonal ──────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart239 // ── Action / Toggle ─────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_semantic_colors.dart258 // ── Action / Tabbar ─────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart186 // ── Bottom Sheet ─────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart196 // ── ListTile (used by AppTile) ───────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart204 // ── TextButton (used by AppTextButton) ───────────────────────────────────
MEDIUMlib/core/common/app_theme.dart211 // ── Radio ───────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart218 // ── ElevatedButton (PrimaryButton) ───────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart400 // ── Bottom Sheet ─────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart410 // ── ListTile (used by AppTile) ───────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart418 // ── TextButton (used by AppTextButton) ───────────────────────────────────
MEDIUMlib/core/common/app_theme.dart425 // ── Radio ───────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart432 // ── ElevatedButton (PrimaryButton) ───────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart8// ─────────────────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart12// ─────────────────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart27// ─────────────────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart30 // ── Light ──────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart77 // ── Text ────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart101 // ── AppBar ──────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart121 // ── Card ────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart133 // ── Divider ─────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart139 // ── Input / TextField ────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart175 // ── Dialog ──────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart239 // ── Dark ───────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart289 // ── Text ────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart315 // ── AppBar ──────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart335 // ── Card ────────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart347 // ── Divider ─────────────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart353 // ── Input / TextField ────────────────────────────────────────────────────
MEDIUMlib/core/common/app_theme.dart389 // ── Dialog ──────────────────────────────────────────────────────────────
MEDIUMlib/core/services/local_storage_service.dart29 // ── AppSetting ────────────────────────────────────────────────────────────
MEDIUMlib/core/services/local_storage_service.dart49 // ── PlansData ─────────────────────────────────────────────────────────────
MEDIUMlib/core/services/local_storage_service.dart67 // ── ServerLocation ────────────────────────────────────────────────────────
MEDIUMlib/core/services/local_storage_service.dart87 // ── DeveloperMode ─────────────────────────────────────────────────────────
Over-Commented Block50 hits · 50 pts
SeverityFileLineSnippet
LOWpubspec.yaml1name: lantern
LOWanalysis_options.yaml1# This file configures the analyzer, which statically analyzes Dart code to
LOWanalysis_options.yaml21 # and their documentation is published at https://dart.dev/lints.
LOWmacos/PacketTunnel/SingBox/ExtensionProvider.swift1//
LOW…/PacketTunnel/SingBox/ExtensionPlatformInterface.swift1//
LOWios/Classes/native_add.c1// Relative import to be able to reuse the C sources.
LOWios/Tunnel/Tunnel-Bridging-Header.h1// vpn_bridging.h
LOWios/Tunnel/SingBox/ExtensionProvider.swift1//
LOWios/Tunnel/SingBox/ExtensionPlatformInterface.swift1//
LOWlinux/flutter/generated_plugin_registrant.h1//
LOW…in/org/getlantern/lantern/service/LanternVpnService.kt221 AppLogger.i(TAG, "postServiceClose called")
LOW…in/org/getlantern/lantern/service/LanternVpnService.kt341 // Tell Android which physical network underlies our VPN so that
LOWscripts/radiance-env.sh1#!/usr/bin/env bash
LOWscripts/ci/version.sh1#!/usr/bin/env bash
LOWscripts/ci/generate-release-notes.sh1#!/usr/bin/env bash
LOWscripts/ci/format.sh1#!/usr/bin/env bash
LOWscripts/ci/publish-to-s3.sh1#!/usr/bin/env bash
LOWlib/core/common/app_theme.dart1import 'package:flutter/material.dart';
LOWlib/core/services/app_purchase.dart401 final status = purchaseDetails.status;
LOW…tures/home/provider/radiance_settings_providers.g.dart1// GENERATED CODE - DO NOT MODIFY BY HAND
LOW…tures/home/provider/radiance_settings_providers.g.dart21/// Holds radiance-backed VPN preferences in memory.
LOWlib/features/home/provider/app_event_notifier.g.dart1// GENERATED CODE - DO NOT MODIFY BY HAND
LOW…es/developer/notifier/developer_daemon_notifier.g.dart1// GENERATED CODE - DO NOT MODIFY BY HAND
LOWlib/lantern/protos/protos/auth.pbenum.dart1// This is a generated file - do not edit.
LOWlantern-core/core.go201 // hosted on each platform:
LOWlantern-core/core.go361// Per-call IPC timeouts. These bound the worst case if lanternd is hung
LOWlantern-core/vpn_tunnel/vpn_tunnel.go21// → lantern.startVPN() → Mobile.StartVPN, which expects "switch back to
LOWlantern-core/vpn_tunnel/vpn_tunnel_test.go1package vpn_tunnel
LOWlantern-core/ffi/ffi_test.go1package main
LOWlantern-core/ffi/ffi_nonlinux.go1//go:build !linux
LOWlantern-core/ffi/ffi_nonlinux.go21// precision when the daemon really is dead. The preflight on these
LOWlantern-core/mobile/mobile.go101 if err := os.Setenv("TZ", tz); err != nil {
LOWlantern-core/mobile/mobile_test.go1package mobile
LOWlantern-core/mobile/mobile_test.go21// // func TestStartVPN(t *testing.T) {
LOWlantern-core/mobile/mobile_test.go41// func TestSubscriptionRedirect(t *testing.T) {
LOWlantern-core/mobile/mobile_test.go61// assert.Nil(t, err)
LOWlantern-core/mobile/mobile_test.go81// assert.Nil(t, err)
LOWlantern-core/dart_api_dl/include/dart_api.h21#define __STDC_FORMAT_MACROS
LOWlantern-core/dart_api_dl/include/dart_api.h41#if defined(DART_SHARED_LIB)
LOWlantern-core/dart_api_dl/include/dart_api.h3941 void** write_callback_data,
LOWlantern-core/dart_api_dl/include/dart_api.h3961#else
LOWlantern-core/dart_api_dl/include/dart_embedder_api.h1// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
LOWlantern-core/dart_api_dl/include/dart_api_dl.h21 * Link `dart_api_dl.c` file into your library and invoke
LOWlantern-core/dart_api_dl/include/dart_api_dl.h121 F(Dart_UpdateFinalizableExternalSize, void, \
LOWlantern-core/dart_api_dl/include/dart_api_dl.h141// functions in the VM. If we were to use function declarations instead, we
LOWlantern-core/apps/apps_windows.go861// - Drop entries under known system / vestigial paths.
LOWwindows/runner/utils.h1#ifndef RUNNER_UTILS_H_
LOWwindows/runner/win32_window.cpp1#include "win32_window.h"
LOWwindows/runner/resource.h1//{{NO_DEPENDENCIES}}
LOWwindows/flutter/generated_plugin_registrant.h1//
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMpubspec.yaml145# The following section is specific to Flutter packages.
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMpubspec.yaml148 # included with your application, so that you can use the icons in
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippet
LOWscripts/radiance-env.sh9# Usage:
LOWscripts/ci/version.sh6# Usage:
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippet
LOWscripts/ci/format.sh45# Check if a platform should be included
LOWscripts/ci/publish-to-s3.sh51# Check if a platform should be uploaded based on the platforms list
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippet
LOW…n/kotlin/org/getlantern/lantern/apps/AppDataHandler.kt60internal class AppDataHandler(
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippet
LOWscripts/generate_appcast.py47