PROXY/VPN projektu Android
Opis projektu
Projekt składa się z SDK + aplikacji działającej na podstawie tego SDK, która pełni rolę serwera proxy/vpn oraz bezpośredniego serwera backconnect, do którego będzie podłączona aplikacja. Dzięki temu będzie można uzyskać dostęp do aplikacji w celu wyjścia do sieci z jego adresu IP, korzystając z różnych protokołów (HTTP/HTTPS Proxy, Socks5 Proxy (TCP/UDP), SSH Tunnel, ShadowSocks, Wire Guard VPN). W zasadzie będzie to warstwa pośrednia do połączenia z aplikacją.
Projekt składa się z następujących głównych jednostek:
1) SDK
2) Aplikacja
3) Serwer aplikacji
4) Główny serwer
5) Serwer backconnect (serwer proxy)
6) Panel administratora
Opis głównych jednostek
SDK - to biblioteka Kotlin dla aplikacji android z własnym uniwersalnym
API, które programiści, w tym my sami, będziemy mogli wdrażać w swoich aplikacjach, aby uruchomić proxy. Na przykład programista wdraża go w swojej aplikacji podczas inicjalizacji, podając unikalny identyfikator klienta i aplikacji (opisane również w punkcie główny serwer), a w zależności od ustawień w bazie danych naszego serwera kontrolnego będzie dostępna różna funkcjonalność. Podczas inicjalizacji tego SDK w parametrach musi być przekazywany identyfikator aplikacji i inne parametry, które są przechowywane w głównym serwerze w celu identyfikacji zabronionych proxy po stronie głównego serwera. Protokół, który powinien wspierać SDK z serwerem proxy - HTTP/HTTPS Proxy, Socks5 Proxy (TCP/UDP), SSH Tunnel, ShadowSocks, Wire Guard VPN.
Należy rozwiązać następujące kwestie podczas pracy SDK:
- aplikacja nie powinna łączyć się z serwerem proxy, jeśli na
telefonie uruchomiony jest VPN, powinno być czyste połączenie przez mobile lub WiFi
Aplikacja - powinna działać na podstawie SDK i serwera aplikacji, aby umożliwić użytkownikowi bezpośrednie zarabianie. Użytkownik będzie mógł stworzyć konto i uruchomić zarabianie na swoim urządzeniu, które będzie działać w tle, a przy połączeniu z jego proxy będzie otrzymywał za to pieniądze. Aplikacja powinna
współdziałać z serwerem aplikacji opisanym poniżej, a także być wspierana na wszystkich urządzeniach, w tym android TV. Wszystkie punkty opisane poniżej w podpunkcie serwer aplikacji powinny również mieć ta aplikacja.
Aplikacja powinna być napisana w języku Kotlin.
Aplikacja początkowo powinna wspierać następujące języki interfejsu:
- rosyjski
- angielski
- francuski
- niemiecki
- hiszpański
Każdy dodatkowy język powinien pojawiać się bez większych trudności, dodając plik z tłumaczeniami i przebudowując aplikację.
Autoryzacja zapytań w aplikacji będzie realizowana za pomocą pary tokenów:
● Token dostępu: standardowy token JWT - należy go przekazywać w każdym zapytaniu, gdzie wymagana jest autoryzacja zapytania w nagłówku (header) w takim formacie - Authorization: Bearer {JWT}
● Token odświeżania: losowy ciąg, który należy przekazywać w odpowiedniej metodzie API
Serwer aplikacji - ten serwer będzie bezpośrednio współdziałał z aplikacją, odpowiadając za rejestrację, autoryzację, wypłaty, a także dostarczanie treści, takich jak FAQ, wsparcie, wypłaty, wiadomości, wyświetlanie powiadomień.
Muszą być zrealizowane następujące metody API dla aplikacji:
- rejestracja z użyciem e-maila, który musi być potwierdzony dla
przyszłego logowania, a także z użyciem captcha (nie google, na przykład
cloudflare)
- logowanie do konta
- odzyskiwanie hasła z użyciem captcha (nie google, na przykład
cloudflare)
- główny ekran, włączanie/wyłączanie proxy, wyłączanie optymalizacji,
ustawienie zmiany adresu IP (na przykład przez asystenta głosowego)
- wiadomości lub wiadomości umieścić na głównym ekranie
- panel użytkownika
- FAQ
- wsparcie
- historia transakcji
- strona wypłat
- powiadomienia push, które administrator będzie mógł realizować przez
panel użytkownika
Dla panelu administratora muszą być zrealizowane następujące metody:
- lista użytkowników ze wszystkimi podstawowymi informacjami
- praca z FAQ (tworzenie, przeglądanie, usuwanie i edytowanie)
- praca z biletami (przeglądanie, korespondencja, zamykanie biletu, przeglądanie wszystkich biletów konkretnego użytkownika)
- praca z wypłatami (przeglądanie, potwierdzanie lub odrzucanie, przeglądanie wszystkich wypłat konkretnego użytkownika)
- przeglądanie połączeń (jeden użytkownik może mieć kilka telefonów i to w zasadzie połączenia wszystkich aplikacji z serwerami) i ich stan (przeglądanie wszystkich połączeń lub konkretnego użytkownika)
- przeglądanie historii połączeń i ich stan (przeglądanie wszystkich połączeń lub konkretnego użytkownika)
Serwer aplikacji - będzie współpracować z aplikacją i wspólnie z serwerem kontrolnym. Będzie realizować całą logikę opisaną powyżej, a także być punktem pośrednim do komunikacji z serwerem kontrolnym. W zasadzie na tym serwerze będzie baza użytkowników, historia zarobków, wypłat, metody API do uzyskiwania różnych informacji dla panelu administratora. Wszystkie pozostałe dane o połączeniu aplikacja będzie pobierać przez SDK z głównego serwera.
Główny serwer - to mózg systemu, który będzie współdziałał z SDK, serwerami proxy i klientami (którzy będą kupować proxy i administratorami).
Ze strony SDK przy zapytaniu o połączenie z serwerem proxy powinien on znajdować bardziej optymalny serwer proxy, używając danych GEO aplikacji i lokalizacji serwera proxy do połączenia z optymalnym serwerem proxy. Dla SDK muszą być zrealizowane niezbędne metody do prawidłowej współpracy.
Muszą być zrealizowane następujące metody API dla serwera kontrolnego:
1) dla kupujących proxy:
a) uzyskanie listy proxy
b) łączenie z proxy
c) rozłączanie proxy
d) uzyskanie stanu proxy (poniżej opisane obowiązkowe
parametry)
i) aktualny IP
ii) status połączenia
iii) wykorzystany ruch od momentu jego połączenia
e) zmiana adresu IP
2) dla panelu administratora:
a) uzyskanie listy wszystkich urządzeń online (z paginacją, ilością wszystkich proxy, id klienta, id aplikacji, adresem IP, parametrami GEO) (rola - admin)
b) uzyskanie listy historii wszystkich połączeń (rola - admin)
c) uzyskanie listy proxy konkretnego klienta (rola - klient)
d) uzyskanie listy historii połączeń z ilością
wykorzystanego ruchu proxy konkretnego klienta (rola -
klient)
e) uzyskanie statystyk dotyczących połączeń i wykorzystanego
ruchu konkretnego klienta (rola - klient)
f) metoda do rejestracji nowego użytkownika w systemie, z
podaniem e-maila, hasła, roli (rola - admin)
Kontynuacja w załączonym pliku.
Zadania można zmieniać i delegować (panel administracyjny)
Załączniki 1
-
10 dni8000 PLN
4097 5 1 10 dni8000 PLNCześć
Dokładnie przeczytałem twoje wymagania i sprawdziłem dokument.
Dziękuję za szczegóły, które pozwoliły mi zrozumieć wszystkie twoje wymagania.
Jako starszy programista Android z 7-letnim doświadczeniem, jestem absolutnie pewny, że mogę idealnie zakończyć twój projekt i dostarczyć go na czas.
Chciałbym z tobą porozmawiać.
Dziękuję.
Aktualne zlecenia dla freelancerów w kategorii Programowanie na Androida
Należy stworzyć aplikację androidową pod affiliate w dziedzinie i-gaming dla Play Market.
58 PLN
Potrzebne jest stworzenie aplikacji androidowej pod affiliate w dziedzinie i-gaming dla Play Market. Wzór aplikacji dostarczymy w prywatnej wiadomości. Wykonana praca ma praktycznie w pełni odpowiadać podanemu wzorowi. Kto miał doświadczenie w realizacji podobnych projektów -… Programowanie na Androida ∙ 2 dni 5 godzin temu ∙ 20 ofert |
Przywrócić rozmowę w Telegramie cena do uzgodnienia
58 PLN
człowiek usunął w dwóch czatach w telegramie proszę pomóżcie wszystko przywrócić, co do ceny się dogadamy!!!!!! Programowanie na Androida ∙ 2 dni 9 godzin temu ∙ 3 oferty |
Zlecę poprawę integracji mojej aplikacji z Tpay
500 PLN
Zlecę zintegrowanie bramki płatniczej Tpay z moją autorską aplikacją. Chodzi o poprawne zaimplementowanie by subskrypcja odnawiała się automatycznie poprzez płatności cykliczne BLIK. Integracja w dużym stopniu jest już wykonana przeze mnie, ale utknąłem w jednym miejscu ze… Hybrydowe aplikacje mobilne, Programowanie na Androida ∙ 3 dni 21 godzin temu ∙ 13 ofert |
Gra logiczna 2DSzukam dewelopera Unity do stworzenia mobilnej gry w gatunku puzzle/casual. O grze: 2D format pionowy urządzenia mobilne Android/iOS styl bliższy casual/mobile puzzle Główna mechanika: Gracz wchodzi w interakcję z elementami gry, obraca je i zbiera odpowiednie kombinacje, aby… Programowanie na Androida, Programowanie na iOS (iPhone i iPad) ∙ 6 dni 23 godziny temu ∙ 15 ofert |
Android Kotlin Foreground Service do uzyskiwania danych o glukozie z Juggluco przez xDrip Broadcast Emulat
62 PLN
Opracować aplikację na Androida w Kotlinie, która: otrzymuje odczyty glukozy z Juggluco przez tryb emulacji xDrip broadcasts, działa jako persistent Foreground Service, przyjmuje transmisje glukozy w czasie rzeczywistym przez Android BroadcastReceiver, wykonuje lokalne… Programowanie na Androida ∙ 9 dni 6 godzin temu ∙ 11 ofert |