สวัสดีครับ
หลังจากผมเพิ่งได้ Callsign US Amateur technical license รหัส KM4WMX มา ผมก็เลยสมัครและทดลองใช้ Echolink ซึ่งเป็นระบบช่วยส่งสัญญาณเสียงจากวิทยุจาก SysOp หนึ่งไปอีกที่หนึ่งผ่านระบบอินเทอร์เน็ต และสามารถเฝ้าฟังผ่าน computer หรือ smartphone ทั่วไปได้ แต่ต้องมี license นักวิทยุสมัครเล่นและลงทะเบียนก่อน
ปัญหามันมีอยู่ว่าพื้นที่มหาวิทยาลัยผมจะไม่สามารถใช้ Echolink ได้ เพราะมีการ block UDP port บางตัวออกไป การเฝ้าฟังต้องทำผ่าน proxy ของ Echolink ที่มีให้บริการ แต่เนื่องจากว่า proxy หนึ่งจะใช้ได้แค่ 1 user เท่านั้น proxy ก็เลยเต็มเร็ว ไม่สะดวกที่จะใช้ แต่เนื่องจากผมซึ่งเป็นนักศึกษาอยู่ จึงมีเครดิตของ Digital Ocean 50$ ผ่านโครงการ Github Student Pack อยู่ จึงทดลองทำและใช้อยู่ครับ
วิธีต่อไปนี้สามารถใช้ได้กับทุก Linux server/desktop นะครับ (จริงๆ คือ OS ไหนก็ได้ล่ะที่มี Java รันอยู่นะครับ) แต่ในที่นี้แนะนำให้ใช้เครื่องที่เปิดอยู่เสมอและสามารถใช้ Public IP ได้นะครับ และผมพิมพ์/ทำคำสั่งทั้งหมดผ่าน putty ซึ่งสามารถศึกษาได้ตามเว็บไซต์ทั่วไปได้เลย (หรือหากต้องการให้ผมสอนเพิ่มเติมก็แจ้งกันมาได้ครับ)
ขั้นตอน 1 : Setup
ในการจะทำให้โปรแกรม EcholinkProxy รันได้ จำเป็นต้องลง Java runtime ก่อน
สำหรับ debian ก็ง่ายมากครับ เพียงรันคำสั่ง (ให้ดีสั่ง apt-get update && apt-get upgrade ก่อนก็ดีครับ)
apt-get install default-jre
และเพื่อให้สะดวกต่อการรันเบื้องหลังและง่ายเวลาต้องการเข้ามาปิด (จริงๆ มีอีกหลายวิธีครับ แต่อันนี้สามารถเข้าไปมีปฏิสัมพันธ์กับหน้านั้นได้เลย) ก็ลงโปรแกรม screen ด้วยคำสั่ง
apt-get install screen
ขั้นตอน 2 ติดตั้ง EcholinkProxy และตั้งค่า
ก่อนอื่นให้เข้าไปโหลด EcholinkProxy (ลิงค์ดาวน์โหลดอยู่ด้านล่างเว็บ แนะนำให้อ่านเนื้อหาข้างในนั้นก่อนนะครับ) แล้ววางไว้สักที่หนึ่งใน server ก่อนนะครับ
ดาวน์โหลด แตกไฟล์เสร็จแล้วก็เข้าไปแก้ไขไฟล์ ELProxy.conf (ถ้าอยู่บน console ใช้ nano หรือ vi ก็ได้ครับ) เพื่อตั้งค่าครับ
ค่าหลักๆ ที่แก้ไข
- Port=8100 เป็นพอร์ตที่เอาไว้ใช้เชื่อมต่อด้วย ปกติจะเป็น 8100 แต่ถ้าบางที่บล็อกพอร์ตสูงกว่า 1024 ก็แก้ไขเป็นพอร์ตที่ต้องการ แต่ตอนรันต้องรันด้วยสิทธิ์ root นะครับ (ไม่แนะนำ 80, 443, 21, 22 นะครับ ลองหาดูก่อนว่าพอร์ตว่างมั้ยด้วยคำสั่ง
netstat -tulpn | grep :
) - BindAddress=YOUR_IP และ ExternalBindAddress=YOUR_IP กำหนด IP Address ที่ใช้กับ Proxy ให้ติดต่อเข้ามา ตรงนี้ให้เปลี่ยน YOUR_IP เป็น IP ของเครื่อง Proxy เองด้วยนะครับ (เช็คได้ด้วยคำสั่ง
ifconfig
หรือในหน้าของ Doplet ของเซิร์ฟเวอร์เราเอง) - RegistrationName=YOUR_CALLSIGN ให้ตั้งเป็น Callsign ที่ใช้ลงทะเบียนในระบบ
- RegistrationComment=Comment here ให้ตั้งข้อความที่จะแสดงผลในหน้ารายการ Public proxy ตรงนี้เราตั้งเป็นอะไรก็ได้ตามใจ มีวรรคมีสัญลักษณ์ได้ครับ
- Password=PUBLIC เป็นการตั้งรหัสผ่านของ proxy เรานะครับ ถ้าต้องการให้คนอื่นเข้าได้ให้ตั้งเป็น PUBLIC แต่ถ้าไม่ ก็ตั้งเป็นรหัสอะไรก็ได้ครับ
เสร็จแล้วก็ Save
ขั้นตอน 3 รันระบบ
ถ้าท่านใน screen ให้รันคำสั่ง screen
ก่อน แล้วกด enter
แล้วสั่งรัน proxy ด้วยคำสั่ง java -jar EchoLinkProxy.jar
ตรงนี้ห้ามปิดนะครับ ไม่งั้นก็จะปิด proxy เราเองด้วย หากต้องการ console อื่นก็กด Ctrl+A แล้วกด c (หากไม่เคยมี screen อื่นรันเลย ถ้ามีให้กด Ctrl+A แล้ว n แทน) มันจะเปิดหน้า screen อื่นแทน หลังจากนี้จะต้มยำทำแกง server อื่นๆ ก็ตามใจ ปิดหน้าจอก็ไม่หาย
หากกลับมาเปิดหน้าจอ putty ใหม่ ก็พิมพ์ screen -r ก็จะกลับมาหน้าเดิมให้ครับ สะดวกดี
วิธีใช้โดยละเอียด ดูได้ที่บทความ How To Use Linux Screen ครับ
ขั้นตอน 4 ตั้งค่าใน Echolink
เข้าไปที่ Tool > Setup
แล้วเลือกแท็บ Proxy
เลือก Use Spectific Proxy:
แล้วพิมพ์ค่าที่ได้จาก server ลงไปครับ
ถ้าขี้เกียจใช้ server ตัวเองก็ลองดูใน EchoLink Proxy List ดูครับ
หวังว่าบทความคงมีประโยชน์กับทั้งเพื่อนนักวิทยุสมัครเล่นและนักคอมพิวเตอร์ทั่วไปครับ
QRU, 73
[UPDATE]ผลการทดลองใช้
เท่าที่ลองดู สัญญาณมาครบดี (แต่ยังทดลองส่งไม่ได้ ยังไม่มี Callsign ไทย ;w;) ) อาจมี Drop ช่วงเน็ตช้าๆ ไปบ้าง
ส่วน Network Usage จนถึงตอนนี้ใช้ค่อนข้างน้อยครับ ตามกราฟเลย
อ้างอิง
http://www.echolink.org/proxy.htm
http://www.cyberciti.biz/faq/what-process-has-open-linux-port/
https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/