decoder已不再使用

This commit is contained in:
yuxin-pc 2025-05-29 11:34:14 +08:00
parent cf4a6e2854
commit 3e500afd15
7 changed files with 0 additions and 144 deletions

View File

@ -1,11 +0,0 @@
FROM python:3.8.2-slim
ENV TZ Asia/Shanghai
ENV PATH /usr/local/bin:$PATH
WORKDIR /usr/local
RUN mkdir shipxy
COPY ./requirements.txt .
COPY shipxy ./shipxy
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple && cd shipxy && tar -zxvf static.tar.gz
EXPOSE 5000
WORKDIR /usr/local/shipxy
ENTRYPOINT [ "sh", "start.sh" ]

View File

@ -1,3 +0,0 @@
selenium~=3.141.0
Flask~=2.2.3
urllib3~=1.25.8

View File

@ -1,86 +0,0 @@
import selenium
from flask import Flask, render_template, request
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.options import Options
driver_options = Options()
driver_options.add_argument('--headless')
driver_options.add_argument('--no-sandbox')
browser = selenium.webdriver.remote.webdriver.WebDriver(command_executor="http://172.18.0.2:4444",
desired_capabilities=DesiredCapabilities.EDGE,
options=driver_options)
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'shipxy decoder'
@app.route('/decode')
def decode():
return render_template('./templates/decode.html')
@app.route('/api/decode', methods=['post'])
def decodeApi():
try:
# 注意!这里 get 的 url 只能以最终部署在容器内部的容器内 IP 作为域名,否则模拟浏览器无法获知页面内容。
# 这主要是因为本工程在部署时与模拟浏览器分处不同的容器中,因此只能将本工程容器和模拟浏览器的容器创建在同一个 docker network 下
browser.get('http://172.18.0.2:5000/decode')
except:
try:
browser.start_session(capabilities=DesiredCapabilities.EDGE)
browser.get('http://172.18.0.2:5000/decode')
except:
return '500'
data = request.get_data()
# inputEle.send_keys(bytes.decode(data))
js = 'var txt = document.getElementById("encode");txt.value="%s";' % bytes.decode(data)
browser.execute_script(js)
button = browser.find_element_by_id('decode')
button.click()
inputEle = browser.find_element_by_id('encode')
text = inputEle.get_attribute('value')
# browser.close()
return text
@app.route('/decode_track')
def decode_track():
return render_template('./templates/decode_track.html')
@app.route('/api/decode_track', methods=['post'])
def decodeTrackApi():
try:
browser.get('http://172.18.0.2:5000/decode_track')
except:
try:
browser.start_session(capabilities=DesiredCapabilities.EDGE)
browser.get('http://172.18.0.2:5000/decode')
except:
return '500'
data = request.get_data()
# inputEle.send_keys(bytes.decode(data))
js = 'var txt = document.getElementById("encode");txt.value="%s";' % bytes.decode(data)
browser.execute_script(js)
button = browser.find_element_by_id('decode')
button.click()
inputEle = browser.find_element_by_id('encode')
text = inputEle.get_attribute('value')
# browser.close()
return text
@app.route('/api/getvalue')
def decodeApi2():
inputEle = browser.find_element_by_id('encode')
text = inputEle.text
return text
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)

View File

@ -1,2 +0,0 @@
#!/usr/bin/env bash
python server.py

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a47344e460415d23794fcf429f544d8409c3bfdb2ac660541757783953b89427
size 1124476

View File

@ -1,19 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<script src="{{url_for('static',filename='jquery-1.8.2.min.js')}}"></script>
<script src="{{url_for('static',filename='ElaneMap.min.f.js')}}"></script>
</head>
<body>
<input type="text" id="encode">
<input type="button" value="decode" id="decode" onclick="decode()">
<script>
function decode(){
var encodeContent = document.getElementById('encode').value;
// var temp = ShipxyAPI._0x44f5d9;//['_requestAreaShips_v3'];
var result = dedecode(encodeContent,"1");
document.getElementById('encode').value = JSON.stringify(result.data);
}
</script>
</body>
</html>

View File

@ -1,20 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<script src="{{url_for('static',filename='jquery-1.8.2.min.js')}}"></script>
<script src="{{url_for('static',filename='ElaneMap.min.f.js')}}"></script>
<script src="{{url_for('static',filename='DeAnalyseManager.js')}}"></script>
</head>
<body>
<input type="text" id="encode">
<input type="button" value="decode" id="decode" onclick="decode_track()">
<script>
function decode_track(){
var encodeContent = document.getElementById('encode').value;
// var temp = ShipxyAPI._0x44f5d9;//['_requestAreaShips_v3'];
var result = analyseAisTrack(encodeContent);
document.getElementById('encode').value = JSON.stringify(result.data);
}
</script>
</body>
</html>