Skip to content

Commit 9b876b9

Browse files
author
code3-dev
committed
add base
0 parents  commit 9b876b9

File tree

157 files changed

+9226
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

157 files changed

+9226
-0
lines changed

.gitignore

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Miscellaneous
2+
*.class
3+
*.log
4+
*.pyc
5+
*.swp
6+
.DS_Store
7+
.atom/
8+
.build/
9+
.buildlog/
10+
.history
11+
.svn/
12+
.swiftpm/
13+
migrate_working_dir/
14+
15+
# IntelliJ related
16+
*.iml
17+
*.ipr
18+
*.iws
19+
.idea/
20+
21+
# The .vscode folder contains launch configuration and tasks you configure in
22+
# VS Code which you may wish to be included in version control, so this line
23+
# is commented out by default.
24+
#.vscode/
25+
26+
# Flutter/Dart/Pub related
27+
**/doc/api/
28+
**/ios/Flutter/.last_build_id
29+
.dart_tool/
30+
.flutter-plugins
31+
.flutter-plugins-dependencies
32+
.pub-cache/
33+
.pub/
34+
/build/
35+
36+
# Symbolication related
37+
app.*.symbols
38+
39+
# Obfuscation related
40+
app.*.map.json
41+
42+
# Android Studio will place build artifacts here
43+
/android/app/debug
44+
/android/app/profile
45+
/android/app/release

.metadata

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# This file tracks properties of this Flutter project.
2+
# Used by Flutter tool to assess capabilities and perform upgrades etc.
3+
#
4+
# This file should be version controlled and should not be manually edited.
5+
6+
version:
7+
revision: "ea121f8859e4b13e47a8f845e4586164519588bc"
8+
channel: "stable"
9+
10+
project_type: app
11+
12+
# Tracks metadata for the flutter migrate command
13+
migration:
14+
platforms:
15+
- platform: root
16+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
17+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
18+
- platform: android
19+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
20+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
21+
- platform: ios
22+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
23+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
24+
- platform: linux
25+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
26+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
27+
- platform: macos
28+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
29+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
30+
- platform: web
31+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
32+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
33+
- platform: windows
34+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
35+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
36+
37+
# User provided section
38+
39+
# List of Local paths (relative to this file) that should be
40+
# ignored by the migrate tool.
41+
#
42+
# Files that are not part of the templates will be ignored by default.
43+
unmanaged_files:
44+
- 'lib/main.dart'
45+
- 'ios/Runner.xcodeproj/project.pbxproj'

CONTRIBUTING.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Contributing to Proxy Cloud
2+
3+
Thank you for considering contributing to the Proxy Cloud! We appreciate your help in improving and expanding the project.
4+
5+
## How Can I Contribute?
6+
7+
### Reporting Bugs
8+
9+
- Use GitHub issues to report bugs.
10+
- Provide as much detail as possible, including steps to reproduce the issue and any relevant error messages.
11+
- Label the issue with `bug`.
12+
13+
### Suggesting Features
14+
15+
- Check existing issues to avoid duplicates.
16+
- Use GitHub issues to propose new features.
17+
- Clearly describe the feature and why it would be helpful.
18+
- Label the issue with `enhancement`.
19+
20+
### Contributing Code
21+
22+
1. **Fork the Repo:**
23+
- Create your own fork of the repository.
24+
25+
2. **Clone Your Fork:**
26+
- `git clone https://github.com/your-username/ProxyCloud.git`
27+
28+
3. **Create a New Branch:**
29+
- `git checkout -b feature/YourFeatureName`
30+
31+
4. **Make Changes:**
32+
- Write clear and concise code following the existing style.
33+
- Add comments and documentation where necessary.
34+
35+
5. **Test Your Changes:**
36+
- Run the test suite to ensure your changes don't break existing code.
37+
38+
6. **Commit and Push:**
39+
- Use descriptive commit messages.
40+
- `git commit -m "Add new feature: YourFeatureName"`
41+
- `git push origin feature/YourFeatureName`
42+
43+
7. **Submit a Pull Request:**
44+
- Navigate to your fork on GitHub and create a pull request to the `main` branch.
45+
46+
### Improving Documentation
47+
48+
- Check for typos, inconsistencies, or outdated information.
49+
- Submit improvements via pull requests.
50+
51+
Thank you for your interest in contributing!
52+
53+
**Hossein Pira**

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Hossein Pira
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Proxy Cloud
2+
3+
<p align="center">
4+
<img src="assets/images/logo.png" alt="Proxy Cloud Logo" width="150"/>
5+
</p>
6+
7+
## Overview
8+
9+
Proxy Cloud is an open-source Flutter application that provides a user-friendly interface for managing V2Ray VPN configurations and Telegram MTProto proxies. The app allows users to connect to V2Ray servers and access Telegram proxies with just a few taps.
10+
11+
## Features
12+
13+
### V2Ray VPN
14+
- Connect to V2Ray servers with a single tap
15+
- Import configurations via subscription URLs
16+
- Manage multiple server configurations
17+
- Monitor connection status
18+
- Auto-reconnect functionality
19+
20+
### Telegram Proxies
21+
- Browse and connect to MTProto proxies
22+
- View proxy details (country, provider, ping, uptime)
23+
- One-tap connection to Telegram via proxies
24+
- Copy proxy details to clipboard
25+
26+
### User Interface
27+
- Modern, intuitive design with dark theme
28+
- Smooth animations and transitions
29+
- Real-time connection status indicators
30+
- Easy navigation between VPN and Proxy sections
31+
32+
## Installation
33+
34+
### Download
35+
36+
| Architecture | Download Link |
37+
|-------------|---------------|
38+
| Universal | <a href="https://github.com/code3-dev/ProxyCloud/releases/latest/download/proxycloud-universal.apk"><img src="https://img.shields.io/badge/Android-Universal-3DDC84?style=for-the-badge&logo=android&logoColor=white" alt="Android Universal"></a> |
39+
| armeabi-v7a | <a href="https://github.com/code3-dev/ProxyCloud/releases/latest/download/proxycloud-armeabi-v7a.apk"><img src="https://img.shields.io/badge/Android-armeabi--v7a-3DDC84?style=for-the-badge&logo=android&logoColor=white" alt="Android armeabi-v7a"></a> |
40+
| arm64-v8a | <a href="https://github.com/code3-dev/ProxyCloud/releases/latest/download/proxycloud-arm64-v8a.apk"><img src="https://img.shields.io/badge/Android-arm64--v8a-3DDC84?style=for-the-badge&logo=android&logoColor=white" alt="Android arm64-v8a"></a> |
41+
| x86_64 | <a href="https://github.com/code3-dev/ProxyCloud/releases/latest/download/proxycloud-x86_64.apk"><img src="https://img.shields.io/badge/Android-x86_64-3DDC84?style=for-the-badge&logo=android&logoColor=white" alt="Android x86_64"></a> |
42+
43+
### Prerequisites
44+
- Flutter SDK (version ^3.7.2)
45+
- Dart SDK
46+
- Android Studio / VS Code
47+
- Android device or emulator
48+
### Steps
49+
50+
1. Clone the repository:
51+
```bash
52+
git clone https://github.com/code3-dev/ProxyCloud.git
53+
cd ProxyCloud
54+
```
55+
56+
2. Install dependencies:
57+
```bash
58+
flutter pub get
59+
```
60+
61+
3. Run the app:
62+
```bash
63+
flutter run
64+
```
65+
66+
## Usage
67+
68+
### Setting up V2Ray
69+
1. Navigate to the VPN tab
70+
2. Tap on "Add License" to enter your subscription URL
71+
3. Select a server from the list
72+
4. Tap the connect button to establish a connection
73+
74+
### Using Telegram Proxies
75+
1. Navigate to the Proxy tab
76+
2. Browse the list of available proxies
77+
3. Tap "Connect" on a proxy to open Telegram with the selected proxy
78+
4. Alternatively, copy the proxy details to manually configure in Telegram
79+
80+
## Contributing
81+
82+
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute to this project.
83+
84+
## License
85+
86+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
87+
88+
## Acknowledgements
89+
90+
- [Flutter](https://flutter.dev/) - UI toolkit for building natively compiled applications
91+
- [flutter_v2ray](https://pub.dev/packages/flutter_v2ray) - Flutter plugin for V2Ray
92+
- [Provider](https://pub.dev/packages/provider) - State management solution
93+
- [url_launcher](https://pub.dev/packages/url_launcher) - URL launching capability
94+
- [http](https://pub.dev/packages/http) - HTTP requests for API communication
95+
96+
## Contact
97+
98+
For questions, suggestions, or issues, please open an issue on the GitHub repository.

analysis_options.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# This file configures the analyzer, which statically analyzes Dart code to
2+
# check for errors, warnings, and lints.
3+
#
4+
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
5+
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
6+
# invoked from the command line by running `flutter analyze`.
7+
8+
# The following line activates a set of recommended lints for Flutter apps,
9+
# packages, and plugins designed to encourage good coding practices.
10+
include: package:flutter_lints/flutter.yaml
11+
12+
linter:
13+
# The lint rules applied to this project can be customized in the
14+
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
15+
# included above or to enable additional rules. A list of all available lints
16+
# and their documentation is published at https://dart.dev/lints.
17+
#
18+
# Instead of disabling a lint rule for the entire project in the
19+
# section below, it can also be suppressed for a single line of code
20+
# or a specific dart file by using the `// ignore: name_of_lint` and
21+
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
22+
# producing the lint.
23+
rules:
24+
# avoid_print: false # Uncomment to disable the `avoid_print` rule
25+
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
26+
27+
# Additional information about this file can be found at
28+
# https://dart.dev/guides/language/analysis-options

android/.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
gradle-wrapper.jar
2+
/.gradle
3+
/captures/
4+
/gradlew
5+
/gradlew.bat
6+
/local.properties
7+
GeneratedPluginRegistrant.java
8+
.cxx/
9+
10+
# Remember to never publicly share your keystore.
11+
# See https://flutter.dev/to/reference-keystore
12+
key.properties
13+
**/*.keystore
14+
**/*.jks

android/app/build.gradle.kts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
plugins {
2+
id("com.android.application")
3+
id("kotlin-android")
4+
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
5+
id("dev.flutter.flutter-gradle-plugin")
6+
}
7+
8+
android {
9+
namespace = "com.cloud.pira"
10+
compileSdk = flutter.compileSdkVersion
11+
ndkVersion = "27.0.12077973"
12+
13+
compileOptions {
14+
sourceCompatibility = JavaVersion.VERSION_11
15+
targetCompatibility = JavaVersion.VERSION_11
16+
}
17+
18+
kotlinOptions {
19+
jvmTarget = JavaVersion.VERSION_11.toString()
20+
}
21+
22+
defaultConfig {
23+
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
24+
applicationId = "com.cloud.pira"
25+
// You can update the following values to match your application needs.
26+
// For more information, see: https://flutter.dev/to/review-gradle-config.
27+
minSdk = flutter.minSdkVersion
28+
targetSdk = flutter.targetSdkVersion
29+
versionCode = flutter.versionCode
30+
versionName = flutter.versionName
31+
}
32+
33+
buildTypes {
34+
release {
35+
// TODO: Add your own signing config for the release build.
36+
// Signing with the debug keys for now, so `flutter run --release` works.
37+
signingConfig = signingConfigs.getByName("debug")
38+
}
39+
}
40+
}
41+
42+
flutter {
43+
source = "../.."
44+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2+
<!-- The INTERNET permission is required for development. Specifically,
3+
the Flutter tool needs it to communicate with the running application
4+
to allow setting breakpoints, to provide hot reload, etc.
5+
-->
6+
<uses-permission android:name="android.permission.INTERNET"/>
7+
</manifest>

0 commit comments

Comments
 (0)