├── scripts
└── analyze-bundle.js
├── .env
├── .gitignore
├── resource
├── icon
│ ├── tray.png
│ ├── index256.png
│ ├── index512.png
│ ├── tray_backup.png
│ ├── activity
│ │ ├── ghost.png
│ │ └── confusion.png
│ ├── installer
│ │ └── installer.ico
│ └── logo.svg
└── static
│ └── lvory_slogan.png
├── public
├── icons
│ ├── tray-icon.png
│ └── tray-icon-active.png
└── index.html
├── src
├── components
│ ├── Dashboard.jsx
│ ├── Activity
│ │ ├── ConnectionHeader.jsx
│ │ ├── LogItem.jsx
│ │ ├── ConnectionLogItem.jsx
│ │ └── LogHeader.jsx
│ ├── Settings
│ │ ├── Settings.jsx
│ │ └── SettingsSidebar.jsx
│ ├── Modal.jsx
│ ├── MessageBox.jsx
│ ├── Dashboard
│ │ ├── CoreManagement.jsx
│ │ ├── hooks
│ │ │ └── useProfileUpdate.jsx
│ │ └── SpeedTest.jsx
│ ├── SystemStatus.jsx
│ └── Sidebar.jsx
├── main
│ ├── ipc-handlers.js
│ ├── ipc
│ │ ├── constants.js
│ │ ├── utils.js
│ │ ├── index.js
│ │ └── handlers
│ │ │ └── window.js
│ ├── ipc-handlers
│ │ ├── node-history-handlers.js
│ │ ├── log-cleanup-handlers.js
│ │ ├── subscription-handlers.js
│ │ ├── traffic-stats-handlers.js
│ │ └── index.js
│ ├── ipc-manager.js
│ └── data-managers
│ │ ├── base-database-manager.js
│ │ ├── node-connection-monitor.js
│ │ └── log-cleanup-manager.js
├── index.js
├── index.html
├── i18n
│ └── index.js
├── assets
│ └── css
│ │ ├── global.css
│ │ ├── systemindicator.css
│ │ ├── customerCard.css
│ │ ├── messagebox.css
│ │ ├── profile-table.css
│ │ ├── app.css
│ │ ├── activity-icons.css
│ │ ├── profile-actions.css
│ │ ├── servicenodes.css
│ │ └── stats-overview.css
├── utils
│ ├── version.js
│ ├── event-bus.js
│ ├── messageBox.js
│ ├── store.js
│ ├── ipcOptimizer.js
│ ├── formatters.js
│ ├── sing-box
│ │ ├── config-parser.js
│ │ └── state-manager.js
│ ├── config-processor.js
│ └── paths.js
├── services
│ ├── network
│ │ └── TracerouteService.js
│ └── ip
│ │ └── IPService.js
├── context
│ └── AppContext.jsx
└── hooks
│ └── usePrivacySettings.js
├── docs
├── screenshot
│ ├── activity.png
│ ├── dashboard.png
│ ├── linux-deb.png
│ ├── settings.png
│ ├── activity_conn.png
│ └── profile_action.png
├── screenshot.md
├── README.md
├── faq.md
├── appimage-mode.md
├── program
│ └── node_score.md
└── ipc-optimization.md
├── .vscode
└── settings.json
├── flatpak
├── com.lvory.app.desktop
├── setup-permissions.bat
├── generate-sources.sh
├── lvory-wrapper.sh
├── README.md
├── com.lvory.app.metainfo.xml
└── com.lvory.app.yml
├── .electronbuilderignore
├── README.md
└── webpack.config.js
/scripts/analyze-bundle.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=development
2 | BROWSER=none
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .vscode/
3 | dist/
4 | sing-box.json
5 | build/
6 | cache.db
--------------------------------------------------------------------------------
/resource/icon/tray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/icon/tray.png
--------------------------------------------------------------------------------
/public/icons/tray-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/public/icons/tray-icon.png
--------------------------------------------------------------------------------
/resource/icon/index256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/icon/index256.png
--------------------------------------------------------------------------------
/resource/icon/index512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/icon/index512.png
--------------------------------------------------------------------------------
/src/components/Dashboard.jsx:
--------------------------------------------------------------------------------
1 | import Dashboard from './Dashboard/index';
2 | export default Dashboard;
--------------------------------------------------------------------------------
/docs/screenshot/activity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/docs/screenshot/activity.png
--------------------------------------------------------------------------------
/docs/screenshot/dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/docs/screenshot/dashboard.png
--------------------------------------------------------------------------------
/docs/screenshot/linux-deb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/docs/screenshot/linux-deb.png
--------------------------------------------------------------------------------
/docs/screenshot/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/docs/screenshot/settings.png
--------------------------------------------------------------------------------
/resource/icon/tray_backup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/icon/tray_backup.png
--------------------------------------------------------------------------------
/docs/screenshot/activity_conn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/docs/screenshot/activity_conn.png
--------------------------------------------------------------------------------
/docs/screenshot/profile_action.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/docs/screenshot/profile_action.png
--------------------------------------------------------------------------------
/public/icons/tray-icon-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/public/icons/tray-icon-active.png
--------------------------------------------------------------------------------
/resource/icon/activity/ghost.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/icon/activity/ghost.png
--------------------------------------------------------------------------------
/resource/static/lvory_slogan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/static/lvory_slogan.png
--------------------------------------------------------------------------------
/resource/icon/activity/confusion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/icon/activity/confusion.png
--------------------------------------------------------------------------------
/resource/icon/installer/installer.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxhao/lvory/HEAD/resource/icon/installer/installer.ico
--------------------------------------------------------------------------------
/src/main/ipc-handlers.js:
--------------------------------------------------------------------------------
1 | // 导入新的模块化处理程序入口
2 | const { setupHandlers } = require('./ipc-handlers/index');
3 |
4 | module.exports = {
5 | setupHandlers
6 | };
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "git.ignoreLimitWarning": true,
3 | "sonarlint.connectedMode.project": {
4 | "connectionId": "sxueck",
5 | "projectKey": "sxueck_lvory"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { createRoot } from 'react-dom/client';
3 | import App from './App';
4 | import './assets/css/global.css';
5 |
6 | const root = createRoot(document.getElementById('root'));
7 | root.render(
{message}
30 |