Giter Site home page Giter Site logo

leiren / npanel Goto Github PK

View Code? Open in Web Editor NEW
87.0 5.0 17.0 4.79 MB

Npanel is a cross platform user interface to manage trojan-go and monitor server resources.

License: MIT License

GLSL 0.08% C++ 98.49% C 0.33% HTML 0.79% Shell 0.31%
trojan trojan-go ui anticensorship gfw network trojan-panel v2ray x-ui telegram-bot

npanel's Introduction

Npanel-UI

A user interface designed to implement the Trojan-Go API to manage users or monitor the server,

  • Supports trojan-tcp and trojan-ws

image

Written with C++ and compiles to webassembly which allows fast encryption/decryption of packets being sent/received from server & uses a modern bloat free ui- library Dear ImGui

Features:

  • Reverse proxy with customizable pre-made templates

  • Panel and reverse-proxy and users all on same port

  • Real-time data such as speed, traffic usage (sortable)

  • Telegram bot with admin notifications and users status support

  • By using the telegram bot, you can change domain/ip when ever you needed and the bot sends the latest updated configs to all users with 1 click

  • By using the telegram bot, you can broadcast messages to all users , or even singe user

  • User limits possible: speed , ip count , traffic total , duration(days)

  • Panel and backend developed with native programing languages without any scripting language, allows a fast and cheap server side with less cpu usage

  • Panel omits any identifiable resource with the name Npanel even in html,js contents (thanks to webassembly)

  • Panel uses 1 additional layer of AES-256 encryption for all kinds of data being transfered (only between the web-ui and server, not affecting trojan-go tls strategy)

  • Panel uses multiple separated process which allows the user configs to work even if Npanel crashes by a bug!

  • Real time server resources monitoring with fast update rate

  • Supports windows server or even home pc

  • Active support and fast bug fixes, just create a issue or dm me in telegram (link provided in about-page)

Install

Linux

Tested on Ubuntu 20

wget  "https://raw.githubusercontent.com/Leiren/Npanel/master/scripts/install.sh" -O install.sh && chmod +x install.sh && bash install.sh

This command is also used to update.

Windows

Tested on Windows 10 & server 2022

to Install: download the latest release and run .exe

to Update: download the last release and move panel.json and users.db from old Npanel folder to new version.

if you want to use it on your home Windows pc rather than a Windows server, you should configure your home router to forward ports 80,443 .

Important Notice on Windows: on first startup of the program (setup stage) you must allow ports 80,443,2060 in firewall settings by your self! then open http://yourip:2060 on your browser and finish the setup stage. after that, only ports 80,443 are required to be allowed in firewall settings.

Backup

Npanel has auto backup and restore, it is safe to backup but not required

  • on Linux all the data you can backup are in /opt/Npanel/AutoBackup/*

  • on Windows The Npanel folder is your backup indeed.

  • To restore, stop the panel then put your backup files to /opt/Npanel/*

Transfer

on Linux you should backup /opt/Npanel Folder on old server then

  • install npanel using install script on destination server.
  • on destination server replace /opt/Npanel with your backup from old server
  • service npanel restart

Note that you must also bring your cert&key files from old server or generate a new certificate on target server and put them in same path that was on old server.

on Windows you can just copy the Npanel folder and move it to destination server since it is portable.

discussion and groups

Official group for Persian language (IRAN) is available !

other languages groups will be added when they reach minimum 100 users.

Uninstall

on Linux:

  • service npanel stop
  • rm -rf /opt/Npanel
  • rm /etc/systemd/system/npanel.service

Notes

  • This UI is only a front-end application and it is useless by it self, you must implement your server side functions by your favorite language like python/c/etc.. or use the provided server which has conditions.

  • current server support always enables bbr , disables ufw to avoid problems. (Linux only)

  • current server support always kills ports 80,443 (for global serving) and ports 2060,2061 for local listening at startup.

  • during the setup wizard, you configure the server by connecting to port 2060; but after setup is finished only ports 80 , 443 are opened globaly and ports 2060,2061 are used locally.

  • This project is under active development. you are welcome to report bugs.

  • If you want to reduce the risk of your server getting blocked, tell your users to use clients that support uTls. (lastest version of most clients do it)

npanel's People

Contributors

leiren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

npanel's Issues

bbr

Hello my friend, can you add a part to the script to install different versions of BBR?

new protocol

hey bro
first of all im so gratefull about this amazing script

can you add grpc protocol?

some errors in status

hi there i have some problems, here is the errors in npanel status :
Mar 02 17:54:47 vm82077 Npanel[22596]: template/direct-tv/
Mar 02 17:54:47 vm82077 Npanel[22596]: [ERROR] 2023/03/02 17:54:47 github.com/p4gefau1t/trojan-go/tunnel/trojan.(*Server).acceptLoop:server.go:142 trojan failed to ac>Mar 02 17:54:47 vm82077 Npanel[22596]: [WARN] 2023/03/02 17:54:47 redirecting connection from 172.70.250.130:64118 to 127.0.0.1:2060
Mar 02 17:54:47 vm82077 Npanel[22596]: template/direct-tv/
Mar 02 17:54:47 vm82077 Npanel[22596]: [ERROR] 2023/03/02 17:54:47 github.com/p4gefau1t/trojan-go/tunnel/trojan.(*Server).acceptLoop:server.go:142 trojan failed to ac>Mar 02 17:54:47 vm82077 Npanel[22596]: [WARN] 2023/03/02 17:54:47 redirecting connection from 162.158.86.176:56558 to 127.0.0.1:2060
Mar 02 17:54:47 vm82077 Npanel[22596]: template/direct-tv/
Mar 02 17:54:47 vm82077 Npanel[22596]: [ERROR] 2023/03/02 17:54:47 github.com/p4gefau1t/trojan-go/tunnel/trojan.(*Server).acceptLoop:server.go:142 trojan failed to ac>Mar 02 17:54:47 vm82077 Npanel[22596]: [WARN] 2023/03/02 17:54:47 redirecting connection from 172.71.246.126:31858 to 127.0.0.1:2060
Mar 02 17:54:47 vm82077 Npanel[22596]: template/direct-tv/

can you help me by these ?

ssl renew

kindly please let me know that how we can renew ssl on npanel ,
and in new update is it possible to add ssl auto renewal ?

Panel is not loaded after changing port

I give permission in Windows firewall to specific port. But panel can not be loaded.
This is console messages after changing port:

network checks...
windows kill port:80 not implemented yet. we assume this port is free.
windows kill port:443 not implemented yet. we assume this port is free.
windows kill port:2060 not implemented yet. we assume this port is free.
windows kill port:2061 not implemented yet. we assume this port is free.
[INFO] 2023/02/24 00:06:29 trojan-go v1.0.5 initializing
[WARN] 2023/02/24 00:06:29 empty tls fallback port
[WARN] 2023/02/24 00:06:29 empty tls http response
begin apply

kill switch

My friend, is it possible to define the kill switch in the next updates?
Or is there a way to run kill switch separately?

REST API

Hello
It's great if you create an API to create/modify/remove users and else
Thank you

can not login

hii

hope you finding well

when we try to log in to admin page its only show me a black page with no filed to enter password to entry . i reinstall panel also but its not solved . and only show a black blank page .
how we can fix it ?

panel stop working

Hi. Recently after I enter my npanel password and enter to the main menu of the panel non of the buttons work, in fact I can't select any of them such as "users" and etc. How can I fix this problem?

ip limit issue

@Leiren tnx for this fantastic product.
it seems the IP limit is not working as expected.
I set it to 1 but I can connect using two different devices which connect using different networks

traffic

Can you set the panel so that it calculates the traffic together and calculates 30 GB for upload and download, not separately?

Clash Subscription Link

Hello
Please add a subscription link for Clash
it can show current/total traffic and expire time using subscription-userinfo header.
Thanks

Speed Limits not working

Hi and thank for your nice panel,
I set the limit for ussers (1mb/s) for download, but when I check usser on speedtest I see that is not work on that speed. May I ask u to check it?

Fake Site Aside from Panel

Hello Leiren,
Thank for this amazing Panel

I was wondering if we could have the fake website option seperately without installing the panel itself.

Please let me know,
Thank you so very much

Setting Rules

I Have A set of rules that it purpose is ad-blocker and domain/ iP block
How Can I Add Theme ?

Reality and New Update

Hi guys,
I have 2 question:
1.When new update release?
2.Can u add reality protocol to npanel?

Thank's a lot.

suggesting major improvements

Hi, thanks for developing this awesome project.
i have 2 suggestions:

1-table sorting should be done every time the data updates, but currently it is done just once per click

2-we need to block or bypass access to the websites that are hosted inside my own country to prevent detection

panel is not load

I install panel after 1 day panel is not load
restart, reinstall, update, reboot server doesn't work

Telegram Reminder Related Settings

Creating a notification section through the Telegram bot with the possibility of sending the user's traffic consumption in a timed manner and notifying the user of the end of the user's volume and blocking, or if it is better to sleep, the bot will notify the user himself.
Thankful❤

  • 30 * * * * * //Notify at the 30s of each point
  • @hourly // hourly notification
  • @daily // Daily notification (00:00 in the morning)
  • @every 8h // notify every 8 hours
  • TG notification content:
  • Node traffic usage
  • Panel login reminder
  • Node expiration reminder
  • Traffic warning reminder

mobile phone problems

Hello my friend, one of the problems I have is that it is not possible to connect to the control panel with a mobile phone because access to the keyboard is blocked. Also, the control panel does not support the mobile version, it would be very good if this problem is solved

Limit create account

how many accounts can I make on npanel, in the past I tried 30 accounts, is it still the same now or has it been added, it's a shame that I can only have 30 accounts, I admit at least 60 new accounts are good

error on server status

Hello, my friend is giving this error after the update and the speed has dropped drastically
IMG_20230214_214523_943
IMG_20230214_214534_275

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.