Neutrino proxy (neutrino-proxy) is a netty-based intranet penetration artifact. This project adopts the most permissive MIT agreement, so you can copy, modify, distribute and use it for any personal or commercial activities.
Screenshot of the server management background:
main feature:
- 1. Traffic monitoring: multi-dimensional traffic monitoring with charts and reports on the home page. Fully grasp real-time and historical proxy data.
- 2. User/License: Support multi-user and multi-client use. The background disable takes effect in real time.
- 3. Port pool: Unified management of external ports, support for exclusive ports by users and licenses.
- 4. Port mapping: adding, editing, deleting, and disabling will take effect in real time.
- 5. Docker: The server supports Docker one-click deployment.
- 6. SSL Certificate: Support SSL to protect your information security.
- 7. Domain name mapping: support binding sub-domain names, which is convenient for local debugging and three-party callback
- 8. Adopt the most lenient MIT protocol to avoid your worries
quick use
For more usage posture and details, please add me to the official website or the WeChat QR code at the end to add “Neutrino Agent” to join the group communication.
1. Deploy the server
1.1. Docker one-click deployment
The latest version is 1.8.0, the following script can be used:
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:1.8.0
Install the specified version, it is recommended to uselatest
Install the latest version directly.
Use the default sqlite database
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 \\
-d --restart=always --name neutrino-proxy \\
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
Specify your own mysql database
- Create a directory on the server: /root/neutrino-proxy/config
- Create in this directory
app.yml
text file, and configure the following content:
neutrino:
data:
db:
type: mysql
# 自己的数据库实例,创建一个空的名为'neutrino-proxy'的数据库即可,首次启动服务端会自动初始化
url: jdbc:mysql://xxxx:3306/neutrino-proxy?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useAffectedRows=true&useSSL=false
driver-class: com.mysql.jdbc.Driver
# 数据库帐号
username: xxx
# 数据库密码
password: xxx
- Then execute the following command:
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 \\
-v /root/neutrino-proxy/config:/root/neutrino-proxy/config \\
-d --restart=always --name neutrino \\
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
1.2. Use the jar package to deploy by yourself
- First make sure that the java8 runtime environment has been installed on the server
- OpenRelease pagedownload the latest release package:
neutrino-proxy-server.jar
,neutrino-proxy-admin.zip
- Create a new deployment directory on the server:
/work/projects/neutrino-proxy-server
- Will
neutrino-proxy-server.jar
,neutrino-proxy-admin.zip
Upload to the server deployment directory. - decompress
neutrino-proxy-admin.zip
document - Excuting an order
java -jar neutrino-proxy-server.jar
Start the server to complete the deployment, and use the sqlite database by default. - If you need to specify your own mysql database, you also need to create a new one in the current directory
app.yml
file, the content of the file is the same as above.Excuting an orderjava -jar neutrino-proxy-server.jar config=app.yml
Start the server to complete the deployment - Can refer to https://gitee.com/dromara/neutrino-proxy/blob/master/bin/server_start.sh Start the server using a shell script.
2. Management background configuration
- After the server is deployed successfully, visit
http://{服务端IP}:8888
Open the background management page. - Log in with the default administrator account: admin/123456
- Open
代理配置>License管理
page, you can see that the system has automatically initialized a License record for the administrator, copy theLicenseKey
Backup, required for subsequent client configuration. - Open
代理配置>端口映射
page, you can see that the system has automatically initialized several port mappings. It can be added and modified as needed.Here we take9101 -> 127.0.0.1:8080
Mapping as an example
3. Start the client
- First make sure that the java8 runtime environment has been installed locally
- OpenRelease pagedownload the latest release package:
neutrino-proxy-client.jar
- locally
neutrino-proxy-client.jar
Newly created under the same level directoryapp.yml
file and configure the following:
neutrino:
proxy:
client:
# ssl证书密钥(使用jjar包内自带的证书,则此处无需修改)
key-store-password: 123456
# ssl证书管理密钥(使用jjar包内自带的证书,则此处无需修改。自定义证书,则此处配置对应的路径)
jks-path: classpath:/test.jks
# 代理服务端IP
server-ip: localhost
# 代理服务端IP, 若是非ssl端口,则ssl-enable需要配置为false
server-port: 9002
# 是否启用ssl
ssl-enable: true
# licenseKey,客户端凭证。此处需要配置刚刚从管理后台复制的LicenseKey
license-key: xxxx
- Excuting an order
java -jar neutrino-proxy-client.jar
start the client - View the server license management, refresh the page, the corresponding online status of the license is
在线
it indicates that the client is connected normally.
4. Proxy verification
- Start proxy services locally, such as: redis, local web projects, local mysql, etc.
- First make sure that the local can access the proxied service normally. If the local cannot access it, it is even more impossible to use the proxy! ! !
- Access the local proxied service through the server IP+9101 (the port mapped to the server port configured in the license above)
contact us
The author’s time and ability are limited, and open source projects do not happen overnight, and it is inevitable that there will be many problems. If you have any questions during use and learning, please contact me.
If you have any ideas or suggestions for the project, you can add me to WeChat to pull the exchange group, or createissuesimprove the project together
#NeutrinoProxy #Homepage #Documentation #Downloads #Nettybased #Intranet #Penetration #Tool #News Fast Delivery